Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 17

Тема: Поиск по отчету

  1. #1
    Пользователь
    Регистрация
    24.01.2020
    Адрес
    Алтай
    Сообщений
    15

    По умолчанию Поиск по отчету

    День добрый!
    Подскажите пожалуйста, есть возможность формирования отчета по заданному параметру.
    У меня задача формировать отчет по номеру детали, либо номеру накладной, за весь период работы.
    Пока вышел из положения формированием отчета за заданный период с сохранением в Эксель, а там поиск по нужному столбцу.
    Не нашел подобных примеров, решения стандартными средствами.
    Возможно поиск по архиву на С#, с поиском строки, получением метки времени и затем вывод данных по этой метки?
    Спасибо!

  2. #2

    По умолчанию

    Не совсем понятно что в итоге нужно.
    Поиск по архиву через C# - есть:
    https://insat.ru/blog/fb-skript-c-i-...otka-arkhivov/
    Можно вывести полный перечень всех деталей в отчет, и в нем сделать поиск.
    Опишите сценарий работы который вы хотите получить.
    Спасибо.

  3. #3
    Пользователь
    Регистрация
    24.01.2020
    Адрес
    Алтай
    Сообщений
    15

    По умолчанию

    День добрый!
    Попробовал использовать данный скрипт (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=Найти;
    }

    Спасибо!

  4. #4

    По умолчанию

    Что значит все значения? Их может несколько одинаковых с разной меткой времени?
    Тогда скрипт не подходит - он может выводить только одно значение на выход. Если конечно можно ограничить количество выводимых значений, например в 10, то можно сделать 10 выходов скрипта.
    Либо тогда используйте редактор отчетов - в нем можно таблицей вывести значения которые подходят под ваше условие.
    Видеопримеры про редактор отчетов:
    https://insat.ru/products/?category=1524
    Документация:
    https://insat.ru/products/?category=1525
    Спасибо.

  5. #5
    Пользователь
    Регистрация
    24.01.2020
    Адрес
    Алтай
    Сообщений
    15

    По умолчанию

    Может несколько одинаковых с разной меткой времени?
    Идет закладка в печь, оператор вводит номера деталей, их может быть до 5 шт.
    НомерДетали1, НомерДетали2, НомерДетали3, НомерДетали4, ДетальНомер5.
    И поиск надо сделать по всем.
    Метка времени у всех будет разная.
    Они могут повторятся в течении времени, уникально только номер накладной.
    По заданию отчет должен формироваться по номеру накладной и по номеру детали.
    Взял себе подработку на работе мало заданий)).
    МастерСкада три месяца назад первый раз увидел.
    Настроил отчеты по окончании обработки деталей ,формируются нормально.
    А вот с поиском, застрял.

    Поиск по совпадению с архивными данными НомерДетали1, НомерДетали2, НомерДетали3, НомерДетали4, ДетальНомер5, а также отдельно по номеру накладной можно сделать.
    Мне надо что бы в отчет выводились все найденные совпадения по номеру детали и используя все найденые все метки времени выводить остальные данные:
    5 выходных значений (найденных) НомерДетали№ и выходы ТемператураВыдержки, ВремяВыдержки, ВремяВыдержкиФакт, ВремяКонецОбработки(архивное).
    Если возможно представляю размер кода.

    По редактору отчетов.
    По учебным видео, не соображу как использовать сравнение вводимой строки (НомерДеталиПоиск) для фильтрации вывода архивных данных в отчете.

    Спасибо!

  6. #6

    По умолчанию

    Так вкладка настроек Бэнда - Фильтр. Там можно выбрать режим Выражение и фильтровать по нескольким колонкам различными условиями.
    Спасибо.

  7. #7
    Пользователь
    Регистрация
    24.01.2020
    Адрес
    Алтай
    Сообщений
    15

    По умолчанию

    Заработало!!!
    В отчете в переменные (а не в данные, нашел ошибку!) добавил НомерНакладнойПоиск,
    создал фильтр (Архив_MasterSCADA.Номер_Накладной==НомерНакладной Поиск).
    И заработало, по номеру детали сделаю аналогично.
    Примеры надо смотреть повнимательней, а обычно делаю это ночью и с перемоткой, вот и итог.

    Огромное спасибо!

  8. #8
    Пользователь
    Регистрация
    24.01.2020
    Адрес
    Алтай
    Сообщений
    15

    По умолчанию

    Добрый день!
    Можно еще вопрос в теме, только по скриптам на C#?
    При дублировании неработают скрипты.
    Оригинал работает, делаю дублирование три разных скрипта, компилирую их.
    Настраиваю связи, не работают???
    Самый простой пример:
    string[] NumberDet = new string[5];
    public override void Execute()
    { //--------- разбор строки при любом изменении
    for (int i=0;i<5;i++) NumberDet[i]="";//обнуляем
    NumberDet=НомерДеталиВх.Split(new char[] {','},5);
    if(NumberDet[0]!="")НомерДетВых1=NumberDet[0];
    else НомерДетВых1="";
    if(NumberDet[1]!="")НомерДетВых2=NumberDet[1];
    else НомерДетВых2="";
    if(NumberDet[2]!="")НомерДетВых3=NumberDet[2];
    else НомерДетВых3="";
    if(NumberDet[3]!="")НомерДетВых4=NumberDet[3];
    else НомерДетВых4="";
    if(NumberDet[4]!="")НомерДетВых5=NumberDet[4];
    else НомерДетВых5="";
    }
    }
    Спасибо!

  9. #9

    По умолчанию

    Должно работать. Ничего такого в коде нет.
    Значение на входе такое же? Пришлите проект и несколько скриншотов демонстрирующих проблему.
    Спасибо.

  10. #10
    Пользователь
    Регистрация
    24.01.2020
    Адрес
    Алтай
    Сообщений
    15

    По умолчанию Не работает скрипт

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Должно работать. Ничего такого в коде нет.
    Значение на входе такое же? Пришлите проект и несколько скриншотов демонстрирующих проблему.
    Первый запуск.png
    Меняем строку на входе, на выходе без изменений.png
    Вложения Вложения

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ответов: 20
    Последнее сообщение: 09.02.2019, 10:26
  2. Вопрос по отчету
    от a_gricaj в разделе Master SCADA 3
    Ответов: 3
    Последнее сообщение: 30.10.2017, 17:41
  3. Поиск оборудования
    от Yury Evgenev в разделе Трёп (Курилка)
    Ответов: 16
    Последнее сообщение: 11.08.2016, 10:40
  4. Поиск по схеме
    от flicker581 в разделе Среда программирования OWEN Logic
    Ответов: 53
    Последнее сообщение: 16.03.2016, 11:41
  5. поиск тачскрина
    от Makc в разделе Трёп (Курилка)
    Ответов: 3
    Последнее сообщение: 15.01.2015, 13:05

Метки этой темы

Ваши права

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