Процедура ОбработкаПроведения() ТекстЗапроса = " |Период с ДатаДок По ДатаДок; |ТекФирма = Регистр.ПартииОтданные.Фирма; |Договор = Регистр.ПартииОтданные.Договор; |Номенклатура = Регистр.ПартииОтданные.Номенклатура; |СтатусПартии = Регистр.ПартииОтданные.СтатусПартии; |Партия = Регистр.ПартииОтданные.Партия; |ДокументПередачи = Регистр.ПартииОтданные.ДокументПередачи; |Количество = Регистр.ПартииОтданные.Количество; |СуммаУпр = Регистр.ПартииОтданные.СуммаУпр; |СуммаРуб = Регистр.ПартииОтданные.СуммаРуб; |СуммаБезНДС = Регистр.ПартииОтданные.СуммаБезНДС; |ПродСтоимость = Регистр.ПартииОтданные.ПродСтоимость; |Группировка Договор Упорядочить По Договор.Владелец.Наименование; |Группировка ДокументПередачи; |Группировка Номенклатура Без Групп; |Группировка СтатусПартии; |Группировка Партия; |Функция КонОстКолВо = КонОст(Количество); |Функция КонОстСуммаУпр = КонОст(СуммаУпр); |Функция КонОстСуммаРуб = КонОст(СуммаРуб); |Функция КонОстСуммаБезНДС= КонОст(СуммаБезНДС); |Функция КонОстПродСтоимость = КонОст(ПродСтоимость); |Условие (ТекФирма = Фирма); |"; Запрос = СоздатьОбъект("Запрос"); Запрос.Выполнить(ТекстЗапроса); РегПарт = Регистр.ПартииОтданные; РегПарт.Фирма = Фирма; Пока Запрос.Группировка(1)=1 Цикл ТекДоговор = Запрос.Договор; //Сообщить("Контрагент: "+ТекДоговор.Владелец); Если Запрос.КонОстПродСтоимость=0 Тогда Пока Запрос.Группировка(2)=1 Цикл ТекДокумент = Запрос.ДокументПередачи; Пока Запрос.Группировка(3)=1 Цикл ТекНоменклатура = Запрос.Номенклатура; Пока Запрос.Группировка(4)=1 Цикл ТекСтатусПартии = Запрос.СтатусПартии; Пока Запрос.Группировка(5)=1 Цикл ТекПартия = Запрос.Партия; РегПарт.Договор = ТекДоговор; РегПарт.Номенклатура= ТекНоменклатура; РегПарт.СтатусПартии = ТекСтатусПартии; РегПарт.Партия = ТекПартия; РегПарт.ДокументПередачи = ТекДокумент; РегПарт.Количество = Запрос.КонОстКолВо; РегПарт.СуммаУпр = Запрос.КонОстСуммаУпр; РегПарт.СуммаРуб = Запрос.КонОстСуммаРуб; РегПарт.СуммаБезНДС = Запрос.КонОстСуммаБезНДС; РегПарт.ПродСтоимость = Запрос.КонОстПродСтоимость; РегПарт.ДвижениеРасходВыполнить(); КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; Иначе //Сообщить("Вторая ветка","!!"); Пока Запрос.Группировка(2)=1 Цикл Если Запрос.КонОстПродСтоимость=0 Тогда //Сообщить(">>>>Вторая ветка","!!"); ТекДокумент = Запрос.ДокументПередачи; Пока Запрос.Группировка(3)=1 Цикл ТекНоменклатура = Запрос.Номенклатура; Пока Запрос.Группировка(4)=1 Цикл ТекСтатусПартии = Запрос.СтатусПартии; Пока Запрос.Группировка(5)=1 Цикл ТекПартия = Запрос.Партия; РегПарт.Договор = ТекДоговор; РегПарт.Номенклатура= ТекНоменклатура; РегПарт.СтатусПартии = ТекСтатусПартии; РегПарт.Партия = ТекПартия; РегПарт.ДокументПередачи = ТекДокумент; РегПарт.Количество = Запрос.КонОстКолВо; РегПарт.СуммаУпр = Запрос.КонОстСуммаУпр; РегПарт.СуммаРуб = Запрос.КонОстСуммаРуб; РегПарт.СуммаБезНДС = Запрос.КонОстСуммаБезНДС; РегПарт.ПродСтоимость = Запрос.КонОстПродСтоимость; РегПарт.ДвижениеРасходВыполнить(); КонецЦикла; КонецЦикла; КонецЦикла; Иначе //Сообщить("Третья ветка","!!!"); Пока Запрос.Группировка(3)=1 Цикл ТекНоменклатура = Запрос.Номенклатура; Если Запрос.КонОстПродСтоимость=0 Тогда //Сообщить(">>>>Третья ветка","!!!"); Пока Запрос.Группировка(4)=1 Цикл ТекСтатусПартии = Запрос.СтатусПартии; Пока Запрос.Группировка(5)=1 Цикл ТекПартия = Запрос.Партия; РегПарт.Договор = ТекДоговор; РегПарт.Номенклатура= ТекНоменклатура; РегПарт.СтатусПартии = ТекСтатусПартии; РегПарт.Партия = ТекПартия; РегПарт.ДокументПередачи = ТекДокумент; РегПарт.Количество = Запрос.КонОстКолВо; РегПарт.СуммаУпр = Запрос.КонОстСуммаУпр; РегПарт.СуммаРуб = Запрос.КонОстСуммаРуб; РегПарт.СуммаБезНДС = Запрос.КонОстСуммаБезНДС; РегПарт.ПродСтоимость = Запрос.КонОстПродСтоимость; РегПарт.ДвижениеРасходВыполнить(); КонецЦикла; КонецЦикла; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; КонецПроцедуры