День добрый!
Попробовал использовать данный скрипт (https://insat.ru/blog/fb-skript-c-i-...otka-arkhivov/)
Получаю последнее значение метки времени, а мне надо все значения.
Для этого надо создать отчет и настроить вывод данных?
Вытащил на отчет метку времени и номер детали.
Выводятся все значения за период.
bool? M=false;
public override void Execute()
{
if (Найти==true && M==false && Начало.HasValue && Конец.HasValue && Конец>Начало)
{
var NumInvoic = HostFB.InputGroup.GetPin("НомерНакладнойВх").TreeP inHlp;
var N_Nakl=NumInvoic.DataArchiveItem;
//-------------------------------------------------------------//
var elem1 = HostFB.InputGroup.GetPin("Номер_детали1").TreePinH lp;
var k1=elem1.DataArchiveItem;
DateTime EndTime=Конец.Value.ToUniversalTime();
DateTime StartTime=Начало.Value.ToUniversalTime();
var mas1=k1.Read(StartTime, EndTime, false);
string Val1, ValNakl;
Val1=""; ValNakl="";
DateTime? TimeStamp=null;
//-----------------------------------------------------------//
foreach (var element in mas1)
{ //Val.HasValue==false ||
// if (Equals(Convert.ToString(element.Value),ПоискНомер ))
if (Equals(element.Value,ПоискНомер))
{//если равенство строк для НомерДетали1(также поиск для НомерДетали2,3,4,5)
Val1=Convert.ToString(element.Value);
TimeStamp=element.Time.ToLocalTime();//получаем метку времени
//---если нашли совпадение и получили метку времени
//ищем значение доп. переменных:
//номер_накладной; температура нагрева, выдержки; время нагрева, выдержки; время конец обработки
НомерДетВых=Val1; //найденое совпадение НомераДетали
МеткаВремени=TimeStamp; //
DateTime FindTime=TimeStamp.Value.ToUniversalTime();
var masNakl=N_Nakl.Read(FindTime, FindTime, true);
foreach (var elementmasNakl in masNakl)
{
ValNakl=Convert.ToString(elementmasNakl.Value);
НомерНакладнойВых=ValNakl;//получаем НомерНакладной по заданной метке времени
}//получаем остальные значения, формируем строку и пишем в файл/ отчет?
}
}
}
else МеткаВремени=null;
M=Найти;
}
Спасибо!




Ответить с цитированием
