Форум АО "ВЗЛЕТ"

Автоматизация и диспетчеризация => Взлет СП4 => Тема начата: Энерго_алексей от 05.12.2018, 15:29:14



Название: Скрипты и новое обновление
Отправлено: Энерго_алексей от 05.12.2018, 15:29:14
Добрый день, а подскажите что именно и как именно самому поправить скрипт ?????

Внимание
* При использовании программируемых скриптов в пользовательских отчетных формах, их необходимо будет изменить самостоятельно после обновления отчетной системы.
** В связи с добавлением отдельных таблиц по архивам точек учета занимаемый объем базы данных на жестком диске может вырасти в 3 раза (при включенном сборе часовых архивов приборов).


Название: Re:Скрипты и новое обновление
Отправлено: Энерго_алексей от 05.12.2018, 15:32:59
вот мой скрипт номер 1
Цитировать
using System.Data;

// нормативные потери Гкал/час
private double? normPotValue = null;

// 0,115
private void MyReport_DataSourceDemanded(object sender, System.EventArgs e)
{
   DataSet dataSet = (DataSet)this.Report.DataSource;
   DataTable table = dataSet.Tables["CustomProperty"];
   DataColumn column = table.Columns["Equip_NormPot"];
   if (table.Rows.Count == 1 && column != null && column.DataType == typeof(double) && !table.Rows[0].IsNull(column))
      normPotValue = (double)table.Rows[0][column];
}

// 2,76
// Заполнение вычисляемого поля normPotContract
private void normPotContract_GetValue(object sender, DevExpress.XtraReports.UI.GetValueEventArgs e)
{
   e.Value = normPotValue;
}
вот мой скрипт номер 2
Цитировать
using System.Data;

// нормативные потери Гкал/час
private double? normPotValue = null;

// 0,115
private void MyReport_DataSourceDemanded(object sender, System.EventArgs e)
{
   DataSet dataSet = (DataSet)this.Report.DataSource;
   DataTable table = dataSet.Tables["CustomProperty"];
   DataColumn column = table.Columns["Equip_NormPot"];
   if (table.Rows.Count == 1 && column != null && column.DataType == typeof(double) && !table.Rows[0].IsNull(column))
      normPotValue = (double)table.Rows[0][column];
}

// 2,76
// Нормативные потери за Траб = Нормативные потери * Tраб
private void normPot_GetValue(object sender, DevExpress.XtraReports.UI.GetValueEventArgs e)
{
   double? timeWork = null;
    object value = e.GetColumnValue("Tнар");
   if (value is double)
      timeWork = (double)value;
   
   if (normPotValue.HasValue && timeWork.HasValue)
      e.Value = normPotValue.Value * timeWork.Value;
}



Название: Re:Скрипты и новое обновление
Отправлено: KIA от 05.12.2018, 16:43:03
Вы теперь можете вообще удалить эти скрипты.
А в редакторе вычисляемого поля прописать формулу
Код:
Iif([W6] > 0 And [t1] > 20 And [t2] > 20, [Tнар] * [CustomPropertyOfArchive.Equip_NormPot], 0)
Во вложении ваша же исправленная отчетная форма


Название: Re:Скрипты и новое обновление
Отправлено: Энерго_алексей от 05.12.2018, 16:51:00
Вы теперь можете вообще удалить эти скрипты.
А в редакторе вычисляемого поля прописать формулу
Код:
Iif([W6] > 0 And [t1] > 20 And [t2] > 20, [Tнар] * [CustomPropertyOfArchive.Equip_NormPot], 0)
Во вложении ваша же исправленная отчетная форма
А то просто боюсь обновлять так как скоро отчетный период а если что не очень хочется считать отчеты в ручную...Если что то пойдет не так буду звонить вам писать.......так как узлов очень много.