"//*******************************************<br>Процедура Выполнить()<br> Если Каркасы = 1 Тогда<br> Отчет = "Материальный отчет по учету каркасов, "<br> Иначе<br> Отчет = "Отчет по готовой продукции, "<br> КонецЕсли;<br> Таб = СоздатьОбъект("Таблица");<br> Если Каркасы = 1 Тогда<br> Продукция = Перечисление.ВидыМПЗ.Полуфабрикаты;<br> Иначе<br> Продукция = Перечисление.ВидыМПЗ.Продукция;<br> КонецЕсли; <br> Если ТолькоШт = 1 Тогда<br> Таб.ИсходнаяТаблица("Таблица1");<br> Иначе <br> Таб.ИсходнаяТаблица("Таблица");<br> КонецЕсли;<br> Спр=СоздатьОбъект("Справочник.Номенклатура");<br> Запрос1 = СоздатьОбъект("Запрос");<br> Текст1 = <br> "//{{Запрос(Сформировать)<br> |Период с ДатаН По ДатаК;<br> |<br> |Склад = Регистр.МестаХранения.МестоХранения; <br> |ВидМПЗ = Регистр.МестаХранения.ВидМПЗ;<br> |МПЗ = Регистр.МестаХранения.МПЗ;<br> |Количество = Регистр.МестаХранения.Количество; <br> |КоличествоШт = Регистр.МестаХранения.КоличествоШт;<br> |<br> |Условие (ВидМПЗ = Продукция); <br> |Условие (Склад в МестоХранения); <br> |Условие (МПЗ в Прод);<br> |<br> |Группировка МПЗ; <br> |Группировка Количество;<br> |Группировка КоличествоШт; <br> |<br> |Функция НачОстКол = НачОст(Количество); <br> |Функция ПриходКол = Приход(Количество); <br> |Функция РасходКол = Расход(Количество);<br> |Функция КонОстКол = КонОст(Количество); <br> |Функция НачОстКолШт = НачОст(КоличествоШт); <br> |Функция ПриходКолШт = Приход(КоличествоШт); <br> |Функция РасходКолШт = Расход(КоличествоШт); <br> |Функция КонОстКолШт = КонОст(КоличествоШт); <br> |<br> |"; //}}Запрос1 <br> Если (Брак = 0) и (Годная = 1) Тогда<br> Текст1 = Текст1 + "Условие (СокрЛП(МПЗ.Родитель.Родитель.Код) <> """"1292"""");";<br> ИначеЕсли (Брак = 1) и (Годная = 0) Тогда<br> Текст1 = Текст1 + "Условие (СокрЛП(МПЗ.Родитель.Родитель.Код) = """"1292"""");";<br> КонецЕсли;<br> Если Запрос1.Выполнить(Текст1)=0 Тогда <br> Возврат; <br> КонецЕсли; <br> Таб1 = СоздатьОбъект("ТаблицаЗначений");<br> Запрос1.Выгрузить(Таб1,0,0);<br> Таб1.Свернуть("МПЗ","НачОстКол,ПриходКол,РасходКол,КонОстКол,НачОстКолШт,ПриходКолШт,РасходКолШт,КонОстКолШт");<br> Таб2 = СоздатьОбъект("ТаблицаЗначений"); <br> Таб2.НоваяКолонка("Группа","Справочник");<br> Таб2.НоваяКолонка("МПЗ","Справочник");<br> Таб2.НоваяКолонка("НачОстКол","Число",15,3);<br> Таб2.НоваяКолонка("ПриходКол","Число",15,3); <br> Таб2.НоваяКолонка("РасходКол","Число",15,3);<br> Таб2.НоваяКолонка("КонОстКол","Число",15,3);<br> Таб2.НоваяКолонка("НачОстКолШт","Число",15);<br> Таб2.НоваяКолонка("ПриходКолШт","Число",15); <br> Таб2.НоваяКолонка("РасходКолШт","Число",15);<br> Таб2.НоваяКолонка("КонОстКолШт","Число",15);<br> Таб1.ВыбратьСтроки();<br> Пока Таб1.ПолучитьСтроку()=1 Цикл<br> Таб2.НоваяСтрока(); <br> МПЗ = Таб1.МПЗ;<br> Таб2.МПЗ = МПЗ;<br> Таб2.Группа = МПЗ.Родитель; <br> Таб2.НачОстКолШт = Таб1.НачОстКолШт;<br> Таб2.ПриходКолШт = Таб1.ПриходКолШт; <br> Таб2.РасходКолШт = Таб1.РасходКолШт; <br> Таб2.КонОстКолШт = Таб1.КонОстКолШт; <br> Если МестоХранения.Код = "00053" Тогда<br> Таб2.НачОстКол = Таб1.НачОстКолШт * МПЗ.Объем2;<br> Таб2.ПриходКол = Таб1.ПриходКолШт * МПЗ.Объем2; <br> Таб2.РасходКол = Таб1.РасходКолШт * МПЗ.Объем2; <br> Таб2.КонОстКол = Таб1.КонОстКолШт * МПЗ.Объем2;<br> Иначе<br> Таб2.НачОстКол = Таб1.НачОстКол;<br> Таб2.ПриходКол = Таб1.ПриходКол; <br> Таб2.РасходКол = Таб1.РасходКол; <br> Таб2.КонОстКол = Таб1.КонОстКол;<br> КонецЕсли;<br> КонецЦикла;<br> <br> Таб2.Сортировать("Группа,МПЗ");<br> <br> Таб3 = СоздатьОбъект("ТаблицаЗначений");<br> Таб3.Загрузить(Таб2);<br> <br> Таб3.Свернуть("Группа","НачОстКол,ПриходКол,РасходКол,КонОстКол,НачОстКолШт,ПриходКолШт,РасходКолШт,КонОстКолШт");<br> <br> Таб.ВывестиСекцию("Шапка"); <br> Таб.ПовторятьПриПечатиСтроки(4, Таб.ВысотаСекции("Шапка"));<br> <br> Гр = """";<br> <br> Таб2.ВыбратьСтроки();<br> Пока Таб2.ПолучитьСтроку() = 1 Цикл<br> <br> Группа = Таб2.Группа;<br> Если Гр <> Группа Тогда<br> <br> Таб3.ВыбратьСтроки();<br> Пока Таб3.ПолучитьСтроку()=1 Цикл<br> <br> Если Группа = Таб3.Группа Тогда<br> <br> ГруппаНачОстКол = Таб3.НачОстКол;<br> ГруппаПриходКол = Таб3.ПриходКол;<br> ГруппаРасходКол = Таб3.РасходКол;<br> ГруппаКонОстКол = Таб3.КонОстКол; <br> ГруппаНачОстКолШт = Таб3.НачОстКолШт;<br> ГруппаПриходКолШт = Таб3.ПриходКолШт;<br> ГруппаРасходКолШт = Таб3.РасходКолШт;<br> ГруппаКонОстКолШт = Таб3.КонОстКолШт;<br> <br> Таб.ВывестиСекцию("Группа"); <br> <br> КонецЕсли; <br> КонецЦикла;<br> КонецЕсли;<br> МПЗ = Таб2.МПЗ;<br> Спр.НайтиПоНаименованию(МПЗ.Наименование,0); <br> Если МестоХранения.Код = "00053" Тогда <br> Коэфф = Спр.Объем2;<br> Иначе<br> ЕдИзм = Спр.ОсновнаяЕдиницаИзмерения;<br> Коэфф = ЕдИзм.Коэффициент; <br> КонецЕсли;<br> НачОстКол = Таб2.НачОстКол;<br> ПриходКол = Таб2.ПриходКол; <br> РасходКол = Таб2.РасходКол; <br> КонОстКол = Таб2.КонОстКол;<br> НачОстКолШт = Таб2.НачОстКолШт;<br> ПриходКолШт = Таб2.ПриходКолШт; <br> РасходКолШт = Таб2.РасходКолШт;<br> КонОстКолШт = Таб2.КонОстКолШт;<br> Таб.ВывестиСекцию("Строка"); <br> Гр = Группа;<br> КонецЦикла;<br> ИтогоНачОстКол = Таб2.Итог(3);<br> ИтогоПриходКол = Таб2.Итог(4);<br> ИтогоРасходКол = Таб2.Итог(5);<br> ИтогоКонОстКол = Таб2.Итог(6);<br> ИтогоНачОстКолШт = Таб2.Итог(7);<br> ИтогоПриходКолШт = Таб2.Итог(8);<br> ИтогоРасходКолШт = Таб2.Итог(9);<br> ИтогоКонОстКолШт = Таб2.Итог(10);<br> Таб.ВывестиСекцию("Итого");<br> Таб.Показать(,,);<br>КонецПроцедуры <br>Процедура ПриОткрытии() <br> ДатаН = НачМесяца(ТекущаяДата());<br> ДатаК = КонМесяца(ТекущаяДата());<br> Годная = 1;<br> Брак = 1;<br> КонецПроцедуры<br><br>Прошу прощение за столь объемный код, но вопрос жизни и смерти!!! Помогите советом, сам догадываюсь что не хвататает 3-4 правильных строчек, для решения моей задачи<br>Этот отчет выводит спосок номенклатуры с группами. Нужно чтобы при выведении этого спсиска не включалась группа с названием "Фигурное мощение" ее код 21245 и входящие в эту группу элементы и естественно итоги правильно считались. Очень жду вашей помощи, господа профи.<br><br>"