Ломаю голову над очередным отчетом.
Имеется комбайн, на нем включено:
1. Датчик включения шнека.
2.Датчик наполнения бункера 70% объема.
3. Датчик наполнения бункера 100% объема.
Есть отчет вот такого вида:
http://saveimg.ru/show-image.php?id=...bc2484a9fa76a5
это сработка включения шнека.
к данному отчету хочу прилепить датчики наполнения бункера построив логику:
Если включается датчик 6 (шнек) то проверяется наполненость бункера и возвращается статус.
И получить вот такой отчет :
http://saveimg.ru/show-image.php?id=...ee98796690953b
Основной датасет в отчете Sensor6, подключаю Trips.
В коде пишу:
Код:
|
private void MasterData2_BeforePrint(object sender, EventArgs e)
{
int currSernum = ((Int32)Report.GetColumnValue("DS_sensor6.SERNUM"));
int Sen6 = ((Int32)Report.GetColumnValue("DS_trips.I7_COUNTER"));
int Sen70= ((Int32)Report.GetColumnValue("DS_trips.I1_COUNTER"));
int Sen100=((Int32)Report.GetColumnValue("DS_trips.I2_COUNTER"));
Text54.Text = "_";
Text72.Text = "_";
DataSourceBase ds = Report.GetDataSource("DS_trips");
// инициализируем его
ds.Init();
// перебираем все записи в источнике
while (ds.HasMoreRows)
{
int sernum = ((Int32)Report.GetColumnValue("DS_trips.SERNUM"));
if (currSernum == sernum)
{
Text54.Text = GetStatus(Sen6,Sen70);
}
ds.Next();
}
}
///<summary>
///</summary>
private string GetStatus(int Sen6,int Sen70)
{
if (Sen6 > 0)
{
if (Sen70 > 0 ) return "Да";
else return "Нет";
}
else return "Нет1";
}
} } |
Значение вообще никакое не возвращает, подозреваю, что я что то забыл.
Подскажите плз.