8.х Вопрос по выводу данных в отчете

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем PavelA, 3 июл 2012.

  1. TopicStarter Overlay
    PavelA
    Offline

    PavelA Опытный в 1С

    Регистрация:
    26 дек 2011
    Сообщения:
    739
    Симпатии:
    0
    Баллы:
    26
    Вот код, подскажите пожалуйста =( Суть вопроса в том чтобы в макете заполнялись реквизиты ВсегоЭлВерсии, ВсегоБумажВерсии, Подписано!
    Я создал в запросе значения, присвоел им 0, но видимо не верно(((( Условие написал равильное, но в макете выводит только первый реквизит и почему то сумму ВсегоЭлВерсии. Хотя там 21 ВсегоЭлВерсии и 4 ВсегоБумажВерсии. Второе условие думаю по аналогии вывода сделаю) Спасибо за помощь)

    &НаКлиенте
    Процедура Сформировать(Команда)
    СформироватьНаСервере();
    КонецПроцедуры

    &НаСервере
    Процедура СформироватьНаСервере();
    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    ЭтотОтчетОбъект = РеквизитФормыВЗначение("Отчет");
    Макет = ЭтотОтчетОбъект.ПолучитьМакет("Макет");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ПроектПланГрафик.Регион,
    | 1 КАК ВсегоЭлВерсии,
    | ПроектПланГрафик.Дата КАК ДатаДок,
    | ПроектПланГрафик.ДатаСогласования КАК ДатаСогл,
    | 1 КАК ВсегоБумажВерсии,
    | ПроектПланГрафик.ДатаРегистрации КАК ДатаРегистр,
    | 1 КАК НеПодписано,
    | 1 КАК Подписано,
    | 1 КАК НаРассмотр,
    | ПроектПланГрафик.Письмо.ИсходящийНомер КАК Примечание,
    | ПроектПланГрафик.Письмо,
    | ПроектПланГрафик.ДатаСогласования,
    | ПроектПланГрафик.ОтправитьДоработка
    |ИЗ
    | Документ.ПроектПланГрафик КАК ПроектПланГрафик
    |ГДЕ
    | ПроектПланГрафик.Дата МЕЖДУ &Дата1 И &Дата2
    |ИТОГИ
    | СУММА(ВсегоЭлВерсии),
    | СУММА(ВсегоБумажВерсии),
    | СУММА(НеПодписано),
    | СУММА(Подписано),
    | СУММА(НаРассмотр)
    |ПО
    | ОБЩИЕ";
    Запрос.УстановитьПараметр("Дата1", Период.ДатаНачала);
    Запрос.УстановитьПараметр("Дата2", Период.ДатаОкончания);
    Результат = Запрос.Выполнить();

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
    ТекДат = ТекущаяДата();
    ОбластьЗаголовок.Параметры.ТекДат = ТекДат;
    ОбластьЗаголовок.Параметры.Период = Период;
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();

    ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    ВыборкаОбщийИтог.Следующий(); // Общий итог
    ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
    ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

    ВыборкаДетальныеЗаписи = ВыборкаОбщийИтог.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    // Условие, если письмо заполнено, тогда считаем итог!
    ВсегоЭлВерсии = 0;
    ВсегоБумажВерсии = 0;
    Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.Письмо) Тогда
    ВсегоЭлВерсии = ВсегоЭлВерсии +1;
    Иначе
    ВсегоБумажВерсии = ВсегоБумажВерсии +1;
    ОбластьДетальныхЗаписей.Параметры.ВсегоЭлВерсии = ВсегоЭлВерсии;
    ОбластьДетальныхЗаписей.Параметры.ВсегоБумажВерсии = ВсегоБумажВерсии;
    КонецЕсли;

    //Условие, если есть галочка виза тогда подписано заказчиком
    Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.ДатаСогласования) И ВыборкаДетальныеЗаписи.ОтправитьДоработка Тогда
    Подписано = Подписано +1;
    КонецЕсли;


    ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
    ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
    КонецЦикла;

    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);

    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

    КонецПроцедуры
  2. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    ВсегоЭлВерсии = 0;
    ВсегоБумажВерсии = 0;
    перед циком поставь а не в теле цикла
  3. TopicStarter Overlay
    PavelA
    Offline

    PavelA Опытный в 1С

    Регистрация:
    26 дек 2011
    Сообщения:
    739
    Симпатии:
    0
    Баллы:
    26
    ставил, не помогло(
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.760
    Симпатии:
    509
    Баллы:
    204
    А запрос-то отрабатывает как нужно ?
  5. Yury
    Offline

    Yury Опытный в 1С

    Регистрация:
    22 дек 2011
    Сообщения:
    355
    Симпатии:
    4
    Баллы:
    29
    А что за единицы в запросе??? Просто посчитать нужно?? А Количество никак нельзя что-ли здесь использовать??
  6. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Доброго Всем,
    пробовал выводить с помощью :

    ОбластьДетальныхЗаписей.Параметры.ВсегоЭлВерсии = Формат(ВсегоЭлВерсии,"ЧН = ");

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