<?xml version="1.0" encoding="windows-1251"?>
<registry>
<script type="abl" exec="">
включить "\библиотеки\libru.lib";
включить "\библиотеки\layers.lib";
включить "\библиотеки\ABLVariables.lib";

функция ПолучитьМенеджерСлоев: ILayersMan;
переменные
  м: ILayersMan;
начало
  ПолучитьИнтерфейс(_ILayersMan, м);
  результат := м;
конец;

функция ЗарегистрироватьВерсииСлояПоАналогии(АлиасНовогоСлоя, АлиасАналога: строка);
переменные
  Версии : ILayer;
  ДанныеВерсий : СтатическиеДанные;
  Буф: СтатическиеДанные;
начало
  Версии := ПолучитьМенеджерСлоев.CreateLayerByAliasEx("Платформа.Версионность.ОписаниеВерсий", 1);
  Версии.OpenWithCalculate;
  ДанныеВерсий := Версии.LayerData;
  Буф := СоздатьСтатическиеДанные;
  попытка
    Буф.ПрисвоитьПоля(ДанныеВерсий);
    Буф.Открыть;
    ДанныеВерсий.Фильтр := "АлиасСлоя = '"+АлиасАналога+"'";
    Буф.Группировать(ДанныеВерсий, "keys=ID");
    ДанныеВерсий.Фильтр := "";
    Буф.ВНачало;
    пока не Буф.ВКонце делать
    начало
      если не ДанныеВерсий.Локализовать("АлиасСлоя;НомерВерсии", МассивИз(АлиасНовогоСлоя, Буф.ПолеПоИмени("НомерВерсии").КакЦелое), 1) тогда
      начало
        ДанныеВерсий.Append;
        ДанныеВерсий.ПолеПоИмени("АлиасСлоя").КакСтрока := АлиасНовогоСлоя;
        ДанныеВерсий.ПолеПоИмени("НомерВерсии").КакЦелое := Буф.ПолеПоИмени("НомерВерсии").КакЦелое;
        ДанныеВерсий.ПолеПоИмени("Название").КакСтрока := Буф.ПолеПоИмени("Название").КакСтрока;
        ДанныеВерсий.ПолеПоИмени("ТекущаяВерсия").КакЦелое := Буф.ПолеПоИмени("ТекущаяВерсия").КакЦелое;
        ДанныеВерсий.ПолеПоИмени("КодСборки").КакЦелое := Буф.ПолеПоИмени("КодСборки").КакЦелое;
        ДанныеВерсий.Post;
      конец;  
      Буф.Следующая;
    конец;
  обязательно
    УдалитьОбъект(Буф);
  конец;  
  Версии.Commit;
конец;

функция ЗарегистрироватьСлойВСборкахПоАналогии(АлиасНовогоСлоя, АлиасАналога: строка);
переменные
  Версии : ILayer;
  ДанныеВерсий : СтатическиеДанные;
  Буф: СтатическиеДанные;
начало
  Версии := ПолучитьМенеджерСлоев.CreateLayerByAliasEx("Платформа.Версионность.ОписаниеВерсийВСборках", 1);
  Версии.OpenWithCalculate;
  ДанныеВерсий := Версии.LayerData;
  Буф := СоздатьСтатическиеДанные;
  попытка
    Буф.ПрисвоитьПоля(ДанныеВерсий);
    Буф.Открыть;
    ДанныеВерсий.Фильтр := "АлиасСлоя = '"+АлиасАналога+"'";
    Буф.Группировать(ДанныеВерсий, "keys=ID");
    ДанныеВерсий.Фильтр := "";
    Буф.ВНачало;
    пока не Буф.ВКонце делать
    начало
      если не ДанныеВерсий.Локализовать("АлиасСлоя;НомерВерсии;КодСборки", МассивИз(АлиасНовогоСлоя, Буф.ПолеПоИмени("НомерВерсии").КакЦелое, Буф.ПолеПоИмени("КодСборки").КакЦелое), 1) тогда
      начало
        ДанныеВерсий.Append;
        ДанныеВерсий.ПолеПоИмени("АлиасСлоя").КакСтрока := АлиасНовогоСлоя;
        ДанныеВерсий.ПолеПоИмени("НомерВерсии").КакЦелое := Буф.ПолеПоИмени("НомерВерсии").КакЦелое;
        ДанныеВерсий.ПолеПоИмени("КодСборки").КакЦелое := Буф.ПолеПоИмени("КодСборки").КакЦелое;
        ДанныеВерсий.Post;
      конец;  
      Буф.Следующая;
    конец;
  обязательно
    УдалитьОбъект(Буф);
  конец;  
  Версии.Commit;
конец;


функция НастроитьВерсионностьСлояПоАналогии(АлиасНовогоСлоя, АлиасАналога: строка);
начало
  ЗарегистрироватьВерсииСлояПоАналогии(АлиасНовогоСлоя, АлиасАналога);
  ЗарегистрироватьСлойВСборкахПоАналогии(АлиасНовогоСлоя, АлиасАналога);
конец;

начало
  НастроитьВерсионностьСлояПоАналогии("ПаспортГУ.Вариант2.ИнтерфейсПаспортГУ.НефинАктивы", "ПаспортГУ.ИнтерфейсПаспортГУ.ВходнаяФорма");
конец.
</script>
</registry>