<?xml version="1.0" encoding="windows-1251"?>
<registry>
	<node path="%root%\Объекты\Контроллеры\Омск\АСБюджет\ВыполнитьКонтрольЗаявокНовый">
		<value type="7" name="КорректировкаПередКонтролем">включить "\библиотеки\libru.lib";
включить "\библиотеки\Layers.lib";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\Views.lib";
включить '\Библиотеки\StateManage.lib';
включить '\Библиотеки\Documents.lib';
включить "\библиотеки\Base.lib";
включить "\библиотеки\States.lib";
включить "\библиотеки\Control.lib";
включить "\Макросы\Слои\ПоддержкаКонтроллеров.abl";
включить '\Макросы\Слои\ПоддержкаСлойницы.abl';
включить "\Макросы\Слои\ВспомогательныеФункции.abl";

КорректировкаПередКонтролем(Параметры: IVariables);
переменные
  //Параметры контроллера
  ДанныеЗаголовка, ДанныеДетали, НачальныеОстатки: СтатическиеДанные;
  ПараметрыКонтроля: IVariables;
  ИДЗаголовка,ОргГРБС,СсылкаНаОрг: целое;
начало
  ПроверитьНаличиеПараметровДляКонтроллераВУзле(РабочийУзел, Параметры, 'ДанныеЗаголовка,ДанныеДетали,ПараметрыКонтроля');
  //Извлечение значений параметров контроллера из коллекции
  ДанныеЗаголовка := Параметры.Значение('ДанныеЗаголовка');
  ДанныеДетали := Параметры.Значение('ДанныеДетали');
  ПараметрыКонтроля := Параметры.Значение('ПараметрыКонтроля');
  НачальныеОстатки := ПараметрыКонтроля.Значение('ДанныеНачальныеОстатки');
  //Сохраняем ссылочные поля, значения которых подставим после склейки данных 
  ИДЗаголовка := ДанныеДетали.ПолеПоИмени('RecordIndex').КакЦелое;
  ОргГРБС := ДанныеДетали.ПолеПоИмени('OrgGRBS').КакЦелое;
  СсылкаНаОрг := ДанныеДетали.ПолеПоИмени('Org_Ref_Det').КакЦелое;
  //Добавляем строки детализаций других заявок, невыгруженных в исполнение в ссДетали, 
  //которые потом передаются в исполнение через коллекцию
  ДанныеДетали.PumpData(НачальныеОстатки,'');
  //Группируем для того, чтобы просуммировать строки с одинаковыми КБК
  ВнутренняяГруппировка(ДанныеДетали,"insert=true;keys=DestKfsr,DestKvsrKey,DestKvsr,DestKcsr,DestKcsrKey,DestKvr,DestKvrKey,DestKesr,DestSubkesr,RegionCls,DestFacialAccCls,DestFactCls,DestMeansTypeCls,DestDirectionCls,DestFinTypeCls;DestKfsr=DestKfsr;DestKvsrKey=DestKvsrKey;DestKvsr=DestKvsr;DestKcsr=DestKcsr;DestKcsrKey=DestKcsrKey;DestKvr=DestKvr;DestKvrKey=DestKvrKey;DestKesr=DestKesr;DestSubkesr=DestSubkesr;RegionCls=RegionCls;DestFacialAccCls=DestFacialAccCls;DestFactCls=DestFactCls;DestMeansTypeCls=DestMeansTypeCls;DestDirectionCls=DestDirectionCls;DestFinTypeCls=DestFinTypeCls;SummaYear1=sum(SummaYear1);SummaYear2=sum(SummaYear2);SummaYear3=sum(SummaYear3)",да);
  //Проставляем ссылки, т.к. в начальных остатках ссылки на организацию нет, а ссылка на запись заголовка другая
  //если её не заменить то бюджетовский контроль проигнорирует эти суммы
  ДанныеДетали.ВНачало;
  пока не ДанныеДетали.ВКонце делать
  начало
       ДанныеДетали.Edit;
       ДанныеДетали.ПолеПоИмени('RecordIndex').КакЦелое := ИДЗаголовка;
       ДанныеДетали.ПолеПоИмени('OrgGRBS').КакЦелое := ОргГРБС;
       ДанныеДетали.ПолеПоИмени('Org_Ref_Det').КакЦелое := СсылкаНаОрг;
       ДанныеДетали.Post;
       ДанныеДетали.Следующая;
  конец;
  //показать(ДанныеДетали);
конец.
</value>
		<param value="КорректировкаПередКонтролем" type="1" name="AccessCount">6</param>
		<param value="КорректировкаПередКонтролем" type="2" name="AccessDate">42034,3848430208</param>
	</node>
</registry>
