ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ»

ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ» (https://forum.tk-chel.ru/index.php)
-   Система «АвтоГРАФ»: Программное обеспечение (https://forum.tk-chel.ru/forumdisplay.php?f=4)
-   -   FastReport .NET (https://forum.tk-chel.ru/showthread.php?t=2843)

TOOP 25.03.2013 02:24

FastReport .NET
 
подскажите пожалуйста где ошибка в этой строке. В FastReport не нашел как компилировать по шагам программу.

[IIf(ToDateTime([DS_trip.REG_CONT])>=ToDateTime("00:30:00"),DS_trip.REG_CONT],0)]

Хочу создать условие чтобы простои выводились от получаса.

plex 25.03.2013 04:28

Потерто,

storm 25.03.2013 05:58

TOOP,
в шаблонах(в папке templates) есть пример отчета с фильтрацией остановок по продолжительности
создайте новый отчет и в качестве шаблона укажите parks-pointsext.frx
этот отчет был сделан с дополнительной формой, на которой можно указать необходимую продолжительность, если вам не нужна форма, то можно взять только код фильтрации из этого шаблона

TOOP 25.03.2013 09:56

Вложений: 1
plex, Вот что пишет(во вложении), у меня тоже также писал.


storm, А где там код фильтрации, что-то не нашел.

storm 25.03.2013 10:02

Цитата:

Сообщение от TOOP (Сообщение 53080)
storm, А где там код фильтрации, что-то не нашел.

во вкладке "код" прописана функция
Код:

    private bool FFilter()
    {
      return TimeSpan.Compare(StrToTimeSpan((string)Report.GetColumnValue("DS_parks.REAL_CONT")), TimeSpan.FromMinutes((int)FilterUPDOWN.Value)) == 1;
    }

и эта функция подставлена в качестве условия фильтра в данных

storm 25.03.2013 10:04

TOOP,
в вашем случае, если вас жестко надо более 30 минут, нужно сделать так
Код:

    private bool FFilter()
    {
      return TimeSpan.Compare(StrToTimeSpan((string)Report.GetColumnValue("DS_parks.REAL_CONT")), TimeSpan.FromMinutes(30)) == 1;
    }


TOOP 25.03.2013 11:22

storm,
Вот что у меня в коде.
Цитата:

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;
using System.Data;
using FastReport;
using FastReport.Data;
using FastReport.Dialog;
using FastReport.Barcode;
using FastReport.Table;
using FastReport.Utils;

namespace FastReport
{
public class ReportScript
{
}
}
отчет формируется только выдает так же, сумму всех простоев за рейс.

только у меня не DS_parks.REAL_CONT а DS_trip.REG_CONT. Конечно в коде это я изменил.
Если я ставлю DS_parks.REAL_CONT то у меня выводит первый простой более 30 минут даже без условия. а нужна сумма за рейс.
Цитата:

Код:
private bool FFilter()
{
return TimeSpan.Compare(StrToTimeSpan((string)Report.GetC olumnValue("DS_parks.REAL_CONT")), TimeSpan.FromMinutes(30)) == 1;
}

storm 25.03.2013 11:36

TOOP,
в общем я не понял, что вам нужно, но приведенная выше функция позволяет сравнить два промежутка времени

storm 25.03.2013 12:43

Цитата:

Сообщение от TOOP (Сообщение 53113)
DS_trip.REG_CONT

чисто ради интереса спрошу: по вашему мнению - как это поле связано с простоями?

TOOP 29.03.2013 09:04

storm,

Ошибся, DS_trip.REAL_CONT


Текущее время: 03:23. Часовой пояс GMT.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot