Процедура Сформировать()
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Сотрудник");
ТЗ.НоваяКолонка("ИНН");
ТЗ.НоваяКолонка("СельРада");
ТЗ.НоваяКолонка("Нараховано");
ТЗ1 = СоздатьОбъект("ТаблицаЗначений");
ТЗ1.НоваяКолонка("Сотрудник");
ТЗ1.НоваяКолонка("ИНН");
ТЗ1.НоваяКолонка("СельРада");
ТЗ1.НоваяКолонка("Нараховано");
Таб = СоздатьОбъект("Таблица");
Таб.ВывестиСекцию("Шапка");
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|Опер = Операция.ТекущийДокумент;
|Сумма = Операция.Сумма;
|Счет = Операция.Счет;
|Сотрудник = Операция.Субконто.Сотрудники;
|ИНН = Операция.Субконто.Сотрудники.ИНН;
|СельРада = Операция.Субконто.Сотрудники.СельРада;
|Функция СуммаДО = ДО(Сумма);
|Группировка Сотрудник;
|"//}}ЗАПРОС
;
ТекстЗапроса = ТекстЗапроса + "
|Условие(Счет=СчетПоКоду(""68511""));
|";
Если ПустоеЗначение(Пайовики) = 0 Тогда
ТекстЗапроса = ТекстЗапроса + "
|Условие(Пайовики = Сотрудник);
|";
ИначеЕсли Пайовики.Выбран()=1 Тогда
ТекстЗапроса = ТекстЗапроса + "
|Условие(Сотрудник=Пайовики);
|";
КонецЕсли;
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Запрос1 = СоздатьОбъект("Запрос");
ТекстЗапроса1 =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода1 по ВыбКонПериода1;
|Опер = Операция.ТекущийДокумент;
|Сумма = Операция.Сумма;
|Счет = Операция.Счет;
|Сотрудник = Операция.Субконто.Сотрудники;
|ИНН = Операция.Субконто.Сотрудники.ИНН;
|СельРада = Операция.Субконто.Сотрудники.СельРада;
|Функция СуммаДО = ДО(Сумма);
|Группировка Сотрудник;
|"//}}ЗАПРОС
;
ТекстЗапроса1 = ТекстЗапроса1 + "
|Условие(Счет=СчетПоКоду(""68511""));
|";
Если ПустоеЗначение(Пайовики) = 0 Тогда
ТекстЗапроса1 = ТекстЗапроса1 + "
|Условие(Пайовики = Сотрудник);
|";
ИначеЕсли Пайовики.Выбран()=1 Тогда
ТекстЗапроса1 = ТекстЗапроса1 + "
|Условие(Сотрудник=Пайовики);
|";
КонецЕсли;
Если Запрос1.Выполнить(ТекстЗапроса1) = 0 Тогда
Возврат;
КонецЕсли;
Пока Запрос.Группировка("Сотрудник")=1 Цикл
Если Запрос.Сотрудник.ПометкаУдаления()=1 Тогда
Продолжить;
КонецЕсли;
Если Запрос.Сотрудник.ЭтоГруппа()=1 Тогда
Продолжить;
КонецЕсли;
ТЗ.НоваяСтрока();
ТЗ.Сотрудник=Запрос.Сотрудник;
ТЗ.ИНН=Запрос.ИНН;
ТЗ.СельРада=Запрос.СельРада;
ТЗ.Нараховано=Запрос.СуммаДО;
КонецЦикла;
Пока Запрос1.Группировка("Сотрудник")=1 Цикл
Если Запрос1.Сотрудник.ПометкаУдаления()=1 Тогда
Продолжить;
КонецЕсли;
Если Запрос1.Сотрудник.ЭтоГруппа()=1 Тогда
Продолжить;
КонецЕсли;
ТЗ1.НоваяСтрока();
ТЗ1.Сотрудник=Запрос1.Сотрудник;
ТЗ1.ИНН=Запрос1.ИНН;
ТЗ1.СельРада=Запрос1.СельРада;
ТЗ1.Нараховано=Запрос1.СуммаДО;
КонецЦикла;
ТЗ.Сортировать("Сотрудник+");
ТЗ1.Сортировать("Сотрудник+");
ТЗ.ВыбратьСтроки();
ТЗ1.ВыбратьСтроки();
Пока (ТЗ.ПолучитьСтроку()=1) и (ТЗ1.ПолучитьСтроку()=1) Цикл
Если ТЗ.Сотрудник<>ТЗ1.Сотрудник Тогда
//ТЗ.Сотрудник=0;
//ТЗ.Сотрудник=ТЗ.Сотрудник;
// ИначеЕсли
//ТЗ1.Сотрудник<>ТЗ.Сотрудник Тогда
КонецЕсли;
Таб.ВывестиСекцию("Секция_3");
КонецЦикла;
Таб.ТолькоПросмотр(1);
Таб.Показать();
КонецПроцедуры