<?xml version="1.0" encoding="windows-1251"?>
<registry>
	<node path="%root%\Ресурсы\Макросы\Слои\ЭкспортИмпортДанных">
		<value type="7" name="МножественныйЭкспорт">//Скрипт множественного экспорта данных слоев
//Входные параметры:
//     ExportCode - код экспорта  

включить "\библиотеки\libru.lib"; 
включить "\библиотеки\Layers.lib";
включить "\библиотеки\Reports.lib";
включить "\Макросы\Слои\ВспомогательныеФункции.abl";
включить "\Макросы\Слои\ПоддержкаСлойницы.abl";
включить "\Макросы\Слои\ПоддержкаВерсионности.abl";
включить "\Макросы\Слои\ЭкспортИмпортДанных\ФункцииЭкспортаИмпортаДанных.abl";
включить "\Макросы\Слои\ПоддержкаКонтроллеров.abl";
включить "\библиотеки\Variables.lib";
включить "\библиотеки\Base.lib";


МножественныйЭкспорт(Параметры: IVariables);

переменные
  КодЭкспорта: целое;
  КонфигурацияЭкспорта: СтатическиеДанные;
  ПараметрыСлоя: IVariables;
  СлойДанных: ILayer;
  Датасет: СтатическиеДанные;
  АлиасСлояДанных: строка;
  КодСборки,КодБюджета: целое;
  ПрименитьПоправки:целое;
начало
  КодЭкспорта := Параметры.Values("ExportCode");
  КонфигурацияЭкспорта := ПолучитьКонфигурациюЭкспорта(КодЭкспорта);
  КодСборки := -1;  КодБюджета := -2;
  если ПолучитьМенеджерСлоев().IsMultiBudgetOn тогда
    КодБюджета := ЗапроситьБюджет();
  если ИспользоватьНовуюВерсионность тогда
    КодСборки := ЗапроситьСборкуДляЭкспорта(КонфигурацияЭкспорта);
  
  
  ПараметрыСлоя := CreateVariables;
  попытка
//    ПараметрыСлоя.Values("$Layer.LayerVersion") := -2; //Последняя версия
    ПараметрыСлоя.Values("$Layer.Сотояние")     := 1; //Только утвержденные данные
    если КодСборки &lt;&gt; -1 тогда
      ПараметрыСлоя.Values("$Version.Сборка") := КодСборки;
    если КодБюджета &lt;&gt; -2 тогда
      ПараметрыСлоя.Values("$BudgetRef") := КодБюджета; 
    КонфигурацияЭкспорта.ВНачало;
    пока не КонфигурацияЭкспорта.ВКонце делать
    начало
      АлиасСлояДанных := КонфигурацияЭкспорта.ПолеПоИмени("СлойДанных").КакСтрока;
      если АлиасСлояДанных &lt;&gt; "" тогда
      начало
        СлойДанных := ПолучитьМенеджерСлоев.CreateLayerByAlias(АлиасСлояДанных);
        попытка
          //если находим в настройках РРО параметр то вызываем функцию применения поправок
          ПрименитьПоправки:= Целое(ГлобальныеКонстанты.ПолучитьЗначение('ПрименитьПоправкиПриВыгрузкеВЭксель', ""));
          если ПрименитьПоправки=1 тогда
          ExecScript(КорневойУзелРеестра+"\Ресурсы\Макросы\Слои\РРО\ПрименитьПоправкиПриВыгрузкеРРОВЭксель", ПараметрыСлоя,СлойДанных,КодСборки,АлиасСлояДанных);
          СлойДанных.SelectData(ПараметрыСлоя);
          Датасет := СлойДанных.LayerData;
          //мочим лишние данные
          если КонфигурацияЭкспорта.ПолеПоИмени("Фильтр").какСтрока &lt;&gt; "" тогда
             УдалитьДанныеПоФильтру(ДатаСет, Формат("not (%s)", КонфигурацияЭкспорта.ПолеПоИмени("Фильтр").какСтрока));
          Параметры.Values("LayerAlias") := СлойДанных.Description.Params("Alias");          
          Параметры.Values("LayerData")  := Датасет;
          если КодСборки &lt;&gt; -1 тогда
            Параметры.Values("$Version.Сборка") := КодСборки;          
          если КодБюджета &lt;&gt; -2 тогда
            Параметры.Values("$BudgetRef") := КодБюджета; 
          Датасет.IndexFieldNames        := ФормироватьИндексДляСлоя(СлойДанных);
          ExecScript(КорневойУзелРеестра+"\Ресурсы\Макросы\Слои\ЭкспортИмпортДанных\Экспорт", Параметры);
          Параметры.Delete("LayerData");
        обязательно  
          УдалитьОбъект(СлойДанных);
        конец;  
      конец;
      КонфигурацияЭкспорта.Следующая;  
    конец;
  обязательно
    УдалитьОбъект(КонфигурацияЭкспорта, ПараметрыСлоя);
  конец;
конец.
</value>
		<param value="МножественныйЭкспорт" type="1" name="AccessCount">28</param>
		<param value="МножественныйЭкспорт" type="2" name="AccessDate">42020.5590197569</param>
		<param value="МножественныйЭкспорт" type="3" name="crc32">$7099399A</param>
		<param value="МножественныйЭкспорт" type="3" name="installversion">1.0</param>
		<param value="МножественныйЭкспорт" type="3" name="version">35.058.00</param>
		<param value="МножественныйЭкспорт" type="3" name="Export">SKVORTSOVV\skvortsov\16.01.2015 13:43:35</param>
	</node>
</registry>
