Показано с 1 по 10 из 27

Тема: Проблема с отчетом

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от dav1977 Посмотреть сообщение
    Подскажите почему отчет по переменным Начало и Конец работает только за 1 сутки. При выборе периода больше отчет зависает
    У нас ваш отчет построился, но его объем составляет почти 50 страниц. Вы уверены что вам нужен суточный отчет с шагом в 20 секунд?

    Цитата Сообщение от dav1977 Посмотреть сообщение
    Подскажите как связывается флажек с отчетом. Откуда берутся переменные cbQ, cbT и т.д. Как создать свои флажки?
    cbQ и cbT это не переменные - это название checkbox (флажка проще говоря).
    Чтобы добавить свой флажок, перейдите на закладку "Форма" - в левой части будут компоненты которые можно добавить на форму.
    Спасибо.

  2. #2

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    У нас ваш отчет построился, но его объем составляет почти 50 страниц. Вы уверены что вам нужен суточный отчет с шагом в 20 секунд?

    Строится то он и у меня за сутки. А вы попробуйте изменить день например с 21 числа по 25 число одного месяца. Шаг любой хоть 3600 сек (раз в час) и форма уже не открывается все висит. в чем проблема объем выборки не большой, а все равно висит?

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    cbQ и cbT это не переменные - это название checkbox (флажка проще говоря).
    Чтобы добавить свой флажок, перейдите на закладку "Форма" - в левой части будут компоненты которые можно добавить на форму.
    Как добавить интуитивно понятно. А как связать с данными и чтобы они фильтровались по флажку не понятно объясните пожалуйста?

  3. #3

    По умолчанию

    Цитата Сообщение от dav1977 Посмотреть сообщение
    Строится то он и у меня за сутки. А вы попробуйте изменить день например с 21 числа по 25 число одного месяца. Шаг любой хоть 3600 сек (раз в час) и форма уже не открывается все висит. в чем проблема объем выборки не большой, а все равно висит?
    Мы попробовали построить отчет за 15 дней, отчет построился примерно за 1 минуту. Количество страниц - 15.
    Но как мы обнаружили без формы отчет строится гораздо быстрее - примерно вдвое.
    Может быть вам задавать какие ячейки выводить не в форме отчета, а в окне мнемосхемы? В приложении ваш же проект, где необходимость вывода той или иной строки определяется при помощи команд в дереве объектов (их можно связать например с контролом "Поля выбора").

    Цитата Сообщение от dav1977 Посмотреть сообщение
    Как добавить интуитивно понятно. А как связать с данными и чтобы они фильтровались по флажку не понятно объясните пожалуйста?
    Там не совсем данные фильтруются - там скрывается отключенное поле на бэнде.
    У события кнопки есть такой код:
    Заголовок_данныхИсточникДанных1_Время.Enabled = cbTime.Checked;
    Заголовок_данныхИсточникДанных1_Расход1__Расход_1_ .Enabled = cbQ.Checked;
    Заголовок_данныхИсточникДанных1_Температура1__Темп ература_1_.Enabled = cbT.Checked;
    Заголовок_данныхИсточникДанных1_Давление1__Давлени е_1_.Enabled = cbP.Checked;
    Заголовок_данныхИсточникДанных1_Расход2__Расход_2_ .Enabled = cbQ.Checked;
    Заголовок_данныхИсточникДанных1_Температура2__Темп ература_2_.Enabled = cbT.Checked;
    Заголовок_данныхИсточникДанных1_Давление2__Давлени е_2_.Enabled = cbP.Checked;

    ДанныеИсточникДанных1_Время.Enabled = cbTime.Checked;
    ДанныеИсточникДанных1_Расход1__Расход_1_.Enabled = cbQ.Checked;
    ДанныеИсточникДанных1_Температура1__Температура_1_ .Enabled = cbT.Checked;
    ДанныеИсточникДанных1_Давление1__Давление_1_.Enabl ed = cbP.Checked;
    ДанныеИсточникДанных1_Расход2__Расход_2_.Enabled = cbQ.Checked;
    ДанныеИсточникДанных1_Температура2__Температура_2_ .Enabled = cbT.Checked;
    ДанныеИсточникДанных1_Давление2__Давление_2_.Enabl ed = cbP.Checked;


    double width = 0;

    foreach (StiComponent comp in ДанныеИсточникДанных1.Components)
    {
    if (comp.Enabled)width += comp.Width;
    }

    double factor = width / ДанныеИсточникДанных1.Width;
    foreach (StiComponent comp in ДанныеИсточникДанных1.Components)
    {
    if (comp.Enabled)comp.Width /= factor;
    }

    foreach (StiComponent comp in Заголовок_данныхИсточникДанных1.Components)
    {
    if (comp.Enabled)comp.Width /= factor;
    }

    Вначале определяется статус флажка, и если он снят отключается видимость соответствующего ему компонента.
    После это при помощи циклов определяется количество включенных компонентов, и вычисляется необходимая ширина оставшихся - чтобы они заполнили весь бэнд.
    В приложенном проекте этот код, с небольшими изменениями, перенесен в событие "Начало построения" отчета.
    Вложения Вложения
    • Тип файла: zip yar1.zip (253.2 Кб, Просмотров: 7)
    Спасибо.

  4. #4

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Но как мы обнаружили без формы отчет строится гораздо быстрее - примерно вдвое.
    Может быть вам задавать какие ячейки выводить не в форме отчета, а в окне мнемосхемы? В приложении ваш же проект, где необходимость вывода той или иной строки определяется при помощи команд в дереве объектов (их можно связать например с контролом "Поля выбора").

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    В приложенном проекте этот код, с небольшими изменениями, перенесен в событие "Начало построения" отчета.
    1 Спасибо идею понял, подскажите а где в вашей версии проекта находится код(где искать событие Начало построения отчета), как его открыть на редактирование?

    2 А можно как-то ограничить объем выборки, если вдруг оператор забъет большой период, что бы не было зависания.
    Последний раз редактировалось dav1977; 21.04.2013 в 13:46.

  5. #5

    По умолчанию

    Цитата Сообщение от dav1977 Посмотреть сообщение
    1 Спасибо идею понял, подскажите а где в вашей версии проекта находится код(где искать событие Начало построения отчета), как его открыть на редактирование?
    Щелкаете в свободном месте отчета, переходите на закладку "События". Скриншот в приложении.


    Цитата Сообщение от dav1977 Посмотреть сообщение
    2 А можно как-то ограничить объем выборки, если вдруг оператор забъет большой период, что бы не было зависания.
    Можно например ограничивать при помощи модуля "Расчет". Если между Концом и началом время больше допустимого, то выдаем на выход расчета наименьшее допустимое.
    Формула примерно такая (ограничение - 90 дней)
    ЕСЛИ (Конец - Начало>3*30*24*3600,Конец - 3*30*24*3600, Начало )

    Еще можно использоват ФБ "Скрипт C#" - с его помощью можно также определить что диапазон превысил допустимый и выдать на выход нужную дату.
    Изображения Изображения
    Последний раз редактировалось SCADAMaster; 21.04.2013 в 17:31.
    Спасибо.

  6. #6

    По умолчанию

    Подскажите как изменить,убрать следущие ошибки?
    Изображения Изображения

  7. #7

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Формула примерно такая (ограничение - 90 дней)
    ЕСЛИ (Конец - Начало>3*30*24*3600,Конец - 3*30*24*3600, Начало )

    Еще можно использоват ФБ "Скрипт C#" - с его помощью можно также определить что диапазон превысил допустимый и выдать на выход нужную дату.
    А дальше что, мы получили новую переменную(тип время) и она никуда не подцепляется ?

  8. #8

    По умолчанию

    Цитата Сообщение от dav1977 Посмотреть сообщение
    Подскажите как изменить,убрать следущие ошибки?
    Выдается ошибка что значение не может быть вычислено. Возможно вы не определили константу у какой то переменной.
    Приложите ваш проект

    Цитата Сообщение от dav1977 Посмотреть сообщение
    А дальше что, мы получили новую переменную(тип время) и она никуда не подцепляется ?
    Именно эта переменная и будет переменной конца. Именно ее и нужно связывать с соответствующей переменной в источнике данных.
    Эта переменная будет ограничивать временной диапазон.
    Спасибо.

Похожие темы

  1. Помогите с отчетом в Мaster Scada
    от KDS в разделе Master SCADA 3
    Ответов: 6
    Последнее сообщение: 22.07.2011, 07:59

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •