Александр Николаевич
Пока что выходит так:
(используюя сие накорябанное)
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|Обрабатывать НеПомеченныеНаУдаление;
|Без итогов;
|Клиент = Документ.ВводОстатковРеализатора.Клиент, Документ.ПриходнаяНакладнаяС.Клиент, Документ.РасходнаяНакладнаяС.Клиент;
|ТоварНачОст = Документ.ВводОстатковРеализатора.Товар;
|ТоварОтправ = Документ.РасходнаяНакладнаяС.Товар;
|ТоварВозврат = Документ.ПриходнаяНакладнаяС.Товар;
|КоличествоНачОст = Документ.ВводОстатковРеализатора.Количество;
|КоличествоОтправ = Документ.РасходнаяНакладнаяС.Количество;
|КоличествоВозврат = Документ.ПриходнаяНакладнаяС.Количество;
|СтоимостьОстаток = Документ.ВводОстатковРеализатора.Стоимость;
|ТоварКонОст = Документ.ВводОстатковРеализатора.Товар;
|КоличествоКонОст = Документ.ВводОстатковРеализатора.Количество;
|ДатаДок = Документ.ВводОстатковРеализатора.ДатаДок;
|Функция КоличествоОстатокСумма = Сумма(КоличествоНачОст) когда(ДатаДок = ВыбНачПериода);
|Функция КоличествоОтправСумма = Сумма(КоличествоОтправ);
|Функция КоличествоВозвратСумма = Сумма(КоличествоВозврат);
|Функция КоличествоКонОстСумма = Сумма(КоличествоКонОст) когда(ДатаДок = ВыбКонПериода);
|Группировка ТоварНачОст упорядочить по ТоварНачОст.Наименование без групп;
|Группировка ТоварОтправ упорядочить по ТоварОтправ.Наименование без групп;
|Группировка ТоварВозврат упорядочить по ТоварВозврат.Наименование без групп;
|Группировка ТоварКонОст упорядочить по ТоварКонОст.Наименование без групп;
|Условие(Клиент = ВыбКлиент);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка() = 1 Цикл
// Заполнение полей Сформировать
Таб.ВывестиСекцию("Сформировать");
КонецЦикла;
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры
На выходе имеем табличку из 8 колонок (пока так хочеться
)
Загвозка в том что документы инвентаризации располагаются в таблице отчёта соответственно по строке товара, а вот расход приход сами по себе и по отдельности :-(
таблица выглядит так - 8 столбцов (всего 9, последний под сумму денежную)
1-4 - наименование товара (начостаток отправлено возврат конечный) 5-8 количество соответственно
при запросе в таком виде как по коду выходит (5-8 опускаю так как они от 1-4 зависят):
1,2,4 пустые, заполнена 3 Возврат
далее после неё
1,3,4 пустые, заполнена 2 Отправленно
затем 2,3 пустые а 1,4 заполнены соответственно по номенклатуре построчно из документов инвентаризации , то есть 1,4 - товар, 5 - колво из первого документа 8 из второго.