вот,пытался сделать,что бы был отбор по материалу или по месту хранения, + с флагом "по остаткам"
но почему то вылетают пустые таблицы
Процедура Сформировать()
Перем Таб,ТЗ,БухИтог;
Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица");
Таб.ВывестиСекцию("Шапка");
ТЗ=СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Материал");
ТЗ.НоваяКолонка("МестоХранения");
ТЗ.НоваяКолонка("Кво0121");
ТЗ.НоваяКолонка("Кво0122");
ТЗ.НоваяКолонка("Кво101");
Ит=СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения);
Ит.ИспользоватьСубконто(ВидыСубконто.Материалы);
Ит.ВыполнитьЗапрос(ВыбДата,ВыбДата,"012.1,012.2,10.1",,,"К");
Ит.ВыбратьСубконто(ВидыСубконто.МестаХранения);
Пока Ит.ПолучитьСубконто(ВидыСубконто.МестаХранения)=1 Цикл
МестоХранения=Ит.Субконто(ВидыСубконто.МестаХранения);
Ит.ВыбратьСубконто(ВидыСубконто.Материалы);
Пока Ит.ПолучитьСубконто(ВидыСубконто.Материалы)=1 Цикл
Материал=Ит.Субконто(ВидыСубконто.Материалы);
ТЗ.НоваяСтрока();
ТЗ.МестоХранения=МестоХранения;
ТЗ.Материал=Материал;
Ит.ВыбратьСчета();
Пока Ит.ПолучитьСчет()=1 Цикл
Кво=Ит.ДО(3) ; // Количественный дебетовый оборот по счету
Если Ит.Счет.Код="012.1" Тогда
ТЗ.Кво0121=Кво;
ИначеЕсли Ит.Счет.Код="012.2" Тогда
ТЗ.Кво0122=Кво;
ИначеЕсли Ит.Счет.Код="10.1" Тогда
ТЗ.Кво101=Кво;
Иначе
Сообщить("Не опознан счет: "+Ит.Счет.Код);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Если ВыбМесто.Выбран()= 1 Тогда
С1 = ВыбМесто;
Таб.ВывестиСекцию ("Заголовок");
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()=1 Цикл
Если ТЗ.МестоХранения = С1 Тогда
Если ВыбОстатки = 1 Тогда
Если (ТЗ.Кво0121+ ТЗ.Кво0122 <>0) и (ТЗ.Кво101<>0) Тогда
С2 = ТЗ.Материал;
Кво0121 = ТЗ.Кво0121;
Кво0122 = ТЗ.Кво0122 ;
Кво101 = ТЗ.Кво101 ;
Таб.ВывестиСекцию("Строка");
Иначе
С2 = ТЗ.Материал;
Кво0121 = ТЗ.Кво0121;
Кво0122 = ТЗ.Кво0122 ;
Кво101 = ТЗ.Кво101 ;
Таб.ВывестиСекцию("Строка");
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если ВыбМатериал.Выбран()= 1 Тогда
С1 = ВыбМатериал;
Таб.ВывестиСекцию ("Заголовок");
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()=1 Цикл
Если ТЗ.Материал = С1 Тогда
Если ВыбОстатки = 1 Тогда
Если (ТЗ.Кво0121+ ТЗ.Кво0122 <>0) и (ТЗ.Кво101<>0) Тогда
С2 = ТЗ.МестоХранения;
Кво0121 = ТЗ.Кво0121;
Кво0122 = ТЗ.Кво0122 ;
Кво101 = ТЗ.Кво101 ;
Таб.ВывестиСекцию("Строка");
КонецЕсли;
Иначе
С2 = ТЗ.МестоХранения;
Кво0121 = ТЗ.Кво0121;
Кво0122 = ТЗ.Кво0122 ;
Кво101 = ТЗ.Кво101 ;
Таб.ВывестиСекцию("Строка");
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
// Таб.ВывестиСекцию("Подвал");
Таб.Показать();
Таб.Опции(0,0,0,0);
Таб.Показать();
КонецПроцедуры