<?xml version="1.0" encoding="windows-1251"?>
<registry>
	<node path="%root%\Объекты\Обработка\Скрипты\Внешние">
		<value type="7" name="Fin_Mon_ExportLayerData">включить '\Библиотеки\Layers.lib';
включить "\библиотеки\Base.lib";
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Макросы\Слои\ПоддержкаСлойницы.abl';
включить "\Макросы\Вспомогательные.abl";
включить '\Библиотеки\RecordSetStore.lib';


FinMan_ExportLayerData(Параметры: IVariables);

Переменные
  LayersMan: ILayersMan;
  СлойДляВыгрузки: ILayer;
  ссДанные: СтатическиеДанные;
  ПараметрыВыборки: IVariables;
  Хранилище: IRecordSetStore;

  Инд2: Целое;
  Поля: строка;
  Алиас,ИмяФайла: строка;
Начало
  ПараметрыВыборки := CreateVariables;
  если не Параметры.ПараметрСуществует("Алиас") тогда
    ВызватьОшибку("ExportLayerData: не указан обязательный параметр 'Алиас'");
  
  если Параметры.ПараметрСуществует("ЛицевойСчет") тогда
  начало
    ПараметрыВыборки.Значение("$Layer.ЛицевойСчет") := Параметры.Значение("ЛицевойСчет");
    ПараметрыВыборки.Значение("$Layer.ЛицевойСчет.Ограничение") := 'in';
  конец;
  если Параметры.ПараметрСуществует("Бюджет") тогда
    ПараметрыВыборки.Значение("$BudgetRef") := Параметры.Значение("Бюджет");
  если Параметры.ПараметрСуществует("ВерсияДанных") тогда
    ПараметрыВыборки.Значение("$Version.ВерсияДанных") := Параметры.Значение("ВерсияДанных");
  если Параметры.ПараметрСуществует("СборкаДанных") тогда
    ПараметрыВыборки.Значение("$Version.Сборка") := Параметры.Значение("СборкаДанных");
    
  //НСИ
  если Параметры.ПараметрСуществует("НСИ.Дата") тогда
  начало
    ПараметрыВыборки.Значение("$NSI.History") := 1;
    ПараметрыВыборки.Значение("$NSI.History.view") := Параметры.Значение("НСИ.Дата");
  конец;
  если Параметры.ПараметрСуществует("НСИ.Заявки") тогда
  начало
    ПараметрыВыборки.Значение("$NSI.History") := 1;
    ПараметрыВыборки.Значение("$NSI.History.Requests") := Параметры.Значение("НСИ.Заявки");
  конец;
  если Параметры.ПараметрСуществует("НСИ.ТолькоИзменения") тогда
    ПараметрыВыборки.Значение("$NSI.History.showupdates") := Параметры.Значение("НСИ.ТолькоИзменения");
  если Параметры.ПараметрСуществует("НСИ.НовыеЗаписи") тогда
    ПараметрыВыборки.Значение("$NSI.History.shownewrecords") := Параметры.Значение("НСИ.НовыеЗаписи");
  если Параметры.ПараметрСуществует("НСИ.ДобавленныеЗаписи") тогда
    ПараметрыВыборки.Значение("$NSI.History.showaddedrecords") := Параметры.Значение("НСИ.ДобавленныеЗаписи");
  если Параметры.ПараметрСуществует("НСИ.УдаленныеЗаписи") тогда
    ПараметрыВыборки.Значение("$NSI.History.showdelrecords") := Параметры.Значение("НСИ.УдаленныеЗаписи");
  если Параметры.ПараметрСуществует("НСИ.ДатаНеПозднее") тогда
    ПараметрыВыборки.Значение("$NSI.History.dateTo") := Параметры.Значение("НСИ.ДатаНеПозднее");
   
  
  LayersMan := GetLayersMan;
  Алиас := Параметры.Значение("Алиас");
  СлойДляВыгрузки := LayersMan.CreateLayerByAlias(Алиас);
  ПараметрыВыборки.Values("$Layer.Сотояние") := 1;   
  СлойДляВыгрузки.SelectData(ПараметрыВыборки);

  ИмяФайла := "Filename";
  Хранилище := CreateComObject(CLASS_RecordSetStore);
  попытка
    Хранилище.Open(ИмяФайла);
    Хранилище.Clear;  
    ссДанные := СлойДляВыгрузки.LayerData;
        если ссДанные.IndexFieldNames = "" тогда
        начало
          Поля := "";
          от Инд2 := 0 до ссДанные.FieldsCount - 1 делать 
            Поля := Поля + ';' + ссДанные.Поля(Инд2).FieldName;
          Поля := Подстрока(Поля, 2, Длина(Поля) - 1);
          ссДанные.IndexFieldNames :=  Поля; 
        конец;
        Хранилище.WriteStaticSet(Алиас, ссДанные); 
        Параметры.Значение("Данные") := Хранилище.Source;  
  обязательно
    УдалитьОбъект(Хранилище);
  конец;  
Конец.
</value>
		<param value="Fin_Mon_ExportLayerData" type="1" name="AccessCount">9</param>
		<param value="Fin_Mon_ExportLayerData" type="2" name="AccessDate">41985.4788000694</param>
	</node>
</registry>
