Помогите, пожалуйста с отчетом

Тема в разделе "1C и всё что с ней связано", создана пользователем Mark888, 21 июл 2007.

Статус темы:
Закрыта.
  1. Mark888

    Mark888 Гость

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



    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица");

    Таб.ВывестиСекцию("Деталь|Шапка");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);

    Таб.ВывестиСекцию("Заголовок|Деталь");

    Пока Запрос.Группировка(1)=1 Цикл

    Таб.ПрисоединитьСекцию("Заголовок|Место");
    КонецЦикла;

    Запрос.ВначалоВыборки();

    Пока Запрос.Группировка(1) = 1 Цикл


    Пока Запрос.Группировка(2) = 1 Цикл
    Таб.ВывестиСекцию("Строка|Деталь");
    КонецЦикла;
    Таб.ПрисоединитьСекцию("Строка|Место");
    КонецЦикла;

    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");

    КонецПроцедуры
    ----------------------------------------------------------------------
    Пробывал разные варианты. Смотрел на аналогичный код в методичке, вроде делаю все как там описано- на выходе бред какой-то получается. Если не сложно, подскажите, пожалуйста начинающему.
     
  2. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    поменяй местами группировки. При выводе в таблицу: Внешний цикл, ВывестиСекцию - выводи начало строки, с деталью. Вложенный цикл, ПрисоединитьСекцию - присоединяй столбцы со значениями остатков по складам. Ну и соответственно в запросе порядок группировок наоборот. Удачи
     
  3. LSH

    LSH Гость

    1. При такой последовательности группировок (Место -> Деталь) такой вид отчета, который надо тебе построить сложно.
    2. Необходимо использовать ТаблицуЗначений с динамическим добавлением колонок, соответствующих складам, т.к. будет неправильно выводиться склад (например, всего складов 5, товар есть только на 3-ем складе, у тебя он выведется в 1-ую колонку, что неправильно).
    3. Вместо ТаблицыЗначений можно в запросе написать "|Группировка Место Все;". Тогда будут выбираться все имеющиеся склады, но в отчет попадет много ненужного.
     
  4. b00tch

    b00tch Гость

    <!--QuoteBegin-LSH+23:07:2007, 08:56 -->
    <span class="vbquote">(LSH @ 23:07:2007, 08:56 )</span><!--QuoteEBegin-->"|Группировка Место Все;".
    [snapback]72999" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    а ишш0 есть ключевое слово Все Вошедшие В Запрос...
     
  5. Mark888

    Mark888 Гость

    Спасибо за советы. Действительно, через Запрос получается не то. Слишком много лишнего. Проще через ТаблицуЗначений.
     
Загрузка...
Похожие Темы - Помогите пожалуйста отчетом
  1. limbra
    Ответов:
    3
    Просмотров:
    44
  2. uxbmw3w
    Ответов:
    0
    Просмотров:
    64
  3. GREED
    Ответов:
    1
    Просмотров:
    535
  4. Рая
    Ответов:
    3
    Просмотров:
    788
  5. sonia2000
    Ответов:
    0
    Просмотров:
    960
Статус темы:
Закрыта.

Поделиться этой страницей