Страница 687 из 764 ПерваяПервая ... 187587637677685686687688689697737 ... ПоследняяПоследняя
Показано с 6,861 по 6,870 из 7638

Тема: Вопросы начинающего

  1. #6861

    По умолчанию

    Отчет конечно огромный - пространство для ошибок бездонное.
    Попробуйте построить этот отчет в режиме разработки задав значение до опроса у начала и конца, и смотрите - будет ли строиться, и будут ли какие то ошибки.
    Если отчет не откроется, то в правом нижнем углу скады нажмите на красную кнопку - там появится протокол работы, в нем может вывестись ошибка. Возможно у какого то источника не привязаны начало и конец
    Спасибо.

  2. #6862

    По умолчанию

    Коллеги, добрый день!

    В проекте, который прикреплен в посте #6870, я обнаружил ошибку, которая приведена на прикрепленной картинке. Что-то ничего предосудительного в этом скрипте я не увидел. Может это быть связано с тем, что проект делался в версии 3.9, а сейчас стоит версия 3.12? И если не из-за этого, то куда копать?
    Изображения Изображения

  3. #6863

    По умолчанию

    Цитата Сообщение от Hemann Посмотреть сообщение
    Коллеги, добрый день!

    В проекте, который прикреплен в посте #6870, я обнаружил ошибку, которая приведена на прикрепленной картинке. Что-то ничего предосудительного в этом скрипте я не увидел. Может это быть связано с тем, что проект делался в версии 3.9, а сейчас стоит версия 3.12? И если не из-за этого, то куда копать?
    Смотрите скрипт, где то приходит пустота вместо ожидаемого значения.
    Добавьте проверки на null.
    Спасибо.

  4. #6864

    По умолчанию

    Доброго времени суток. Кто-нибудь сталкивался с проблемой сложения по горизонтали в Мастере отчётов MS4D? Почему-то когда одна из ячеек NULL, вместо математического сложения делается конкатенация как у строк. В поддержке ИНСАТа ничего путного не сказали, только что приняли к сведению. Можно как-то обойти данную ситуацию или ждать когда обновят Мастер отчётов?

    upd:
    Изображения Изображения
    Последний раз редактировалось ravenmaddevil; 19.10.2021 в 07:07.

  5. #6865

    По умолчанию

    Добрый день!

    Пока я не очень силен в скриптах. А как добавить проверку на null в код скрипта?

  6. #6866

    По умолчанию

    if (ВашОбъект==null)
    //делаем что-то
    Спасибо.

  7. #6867

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    if (ВашОбъект==null)
    //делаем что-то
    Спасибо!

    А как в скрипте, который находится в шаблоне, можно указать текущий объект? Например, есть объект А и объект Б, они являются экземплярами шаблона В. В шаблоне находится скрипт. И чтобы в каждом экземпляре не вводить новый код, как-то изменить шаблон, чтобы для каждого экземпляра проверялся именно его объект.

  8. #6868

    По умолчанию

    Вам нужно определить имя объекта?
    HostFB.TreeItemHlp.ParentObject.Name
    Спасибо.

  9. #6869

    По умолчанию

    Попробовал проверку на null, но видимо что-то делаю не так. Появились другие ошибки. Теперь не "нулевой объект должен иметь значение", а "Ссылка на объект не указывает на экземпляр объекта". Короче, что-то я напортачил, но в силу отсутствия опыта в скриптах, не пойму где и что. Прошу направить в на нужный путь. Ссылка на архив проекта: https://cloud.mail.ru/public/oD94/Y1Zy7aD3A
    Пути к ошибочным скриптам: "Цех-Привод-Учет моточасов-Для вывода-Скрипт" (это в шаблоне) и "Цех-Главный пылевой шнек-Учет моточасов-Для вывода-Скрипт" (это экземпляр). Короче, тяжко копать чужой громоздкий проект...
    Изображения Изображения

  10. #6870

    По умолчанию

    Вот так делать нельзя:
    dlin[0] = (uint)Пробег_длинная1 / 3600;
    Нужно обязательно проверять Пробег_длинная1 на null, либо Пробег_длинная1!=null либо Пробег_длинная1.HasValue==true
    У вас есть проверка:
    Ошибка=0;
    if(Пробег_длинная1 == null)
    Ошибка = 1;//System.String.Format("{0}:{1}:{2}",11,11,11);
    но у вас просто выставляется ошибка и все, а выхода из скрипта нет.
    Нужно проверить на null и сделать return.
    В вашем случае сделать так:
    if(Пробег_общий == null)
    Ошибка = 6;//Пробег_общий_ЧМС = System.String.Format("{0}:{1}:{2}",66,66,66);
    else
    Пробег_общий=0;//Пробег_общий_ЧМС = System.String.Format("{0}:{1}:{2}",all[0],all[1],all[2]);
    if (Ошибка>0) return;
    dlin[0] = (uint)Пробег_длинная1 / 3600;
    Спасибо.

Страница 687 из 764 ПерваяПервая ... 187587637677685686687688689697737 ... ПоследняяПоследняя

Похожие темы

  1. вопросы начинающего
    от Flomaster в разделе ПЛК1хх
    Ответов: 25
    Последнее сообщение: 11.03.2015, 20:50
  2. Ethernet - вопрос начинающего.
    от Продамщебень)) в разделе Сетевые технологии
    Ответов: 8
    Последнее сообщение: 20.06.2013, 16:35
  3. вопросы начинающего
    от Chifa в разделе Сетевые технологии
    Ответов: 1
    Последнее сообщение: 30.07.2010, 14:32
  4. вопрос начинающего
    от gladkiynikita в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 22.03.2010, 05:43
  5. Вопросы
    от Мурат в разделе Эксплуатация
    Ответов: 6
    Последнее сообщение: 27.01.2007, 03:24

Ваши права

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