Добрый день, уважаемые разработчики!
Описываю проблему:
Конфигурация (R25.04):
прибор учета в ВРУ привязан к подключению 10.72.111.25:4000
прибор учета в Кв.375 привязан к подключению 10.72.111.27:4000
Далее я у прибора в ВРУ меняю подключение на 10.72.111.27:4000. Все хорошо меняется, и все отлично.
Далее идем в редактирование объекта учета и выбираем Подключения, выбираем любое подключение из окрывшегося списка и нажимаем ОК.
То есть по факту я ничего не изменил при редактировании объекта учета, но моему взгляду открывается ошибка, приведенная на скрине.
Кв.375 в моих действиях вообще не участвовала, но именно она фигурирует в ошибке.
У меня есть бекап бд, я эту ошибку воспроизводил неоднократно.
Я смотрел таблицу связей [EquipmentPollConnection], но там нет связи, которая на ошибке. То есть программа как бы удаляет то, чего нет и не было
У нас все сроки уже сгорели, помогите, пожалуйста, вчера)
Удаление связи подключение - оборудование (Кв.375) ничего не дает: выскакивает та же ошибка, но кв.376. И при этом оборудование из системы удалить не представляется возможным (https://forum.lers.ru/viewtopic.php?f=23&t=7932)
Проблему решил самостоятельно. Оказалось, что проблема была где-то в автоопросе, снял все приборы на этом объекте с автоопроса - проблема исчезла.
описание ошибки не очень хорошее в данном случае. Я потратил из-за этого кучу времени. А если бы было нормальное описание ошибки, я бы быстрее дошел до решения.
Покажите вкладку “Подключенное оборудование” подключения “10.72.111.27:4000” в свойствах объекта учета, в котором видно все подключенные к этому подключению приборы.
Сейчас тоже самое происходит с другими подключениями. Началось все это с момента использования API для пакетного добавления конфигурации. Когда делал на чистом СИКВЕЛ, все было ОК
Я пробовал сделать поиск прибора, который указан в ошибке: программа его не находит. Может, имеет смысл обновить? Хотя есть ненулевая вероятность, что там новые сюрпризы будут
Мы не крайне не рекомендуем работу с базой ЛЭРС УЧЕТ напрямую, так как структура базы постоянно меняется и это может приводить к ошибкам. Возможно в предыдущих версиях ЛЭРС УЧЕТ ваши изменения в БД ни как не влияли на работу программы, тогда как в последней версии они стали проявляться. Возможно в результате ваших действий напрямую к БД какие то связи в БД остались не заполнены, что в свою очередь приводит к описанной ошибке.
Правильно ли я понимаю в справочнике “Оборудование” указанного в ошибке прибора нет? Если да, попробуйте снять с автоопроса указанную в ошибке точку учета, после чего выполните описанные в первом сообщении действия, сохраните объект учета и поставьте точку учета заново на автоопрос.
Нет, вы неверно поняли. В справочнике Оборудование девайс присутствует. А то что вы рекомендуете проделать с автоопросом, я выполнил самостоятельно, и три дня назад описал это выше). Читайте внимательно мои предыдущие сообщения.
В общем я понял вашу позицию: я сам виноват. Ну ОК) Только хочу заметить, что у меня опыт 7 лет работы с моделями данных разных систем телеметрии, и вероятность того, что проблема в моих действиях не так чтобы сильно большая, хотя, конечно, все люди ошибаются. Я вынужден пользоваться SQL напрямую:
реально проще разобраться в связях БД, чем искать нужный метод в вашем странно спроектированном API. Потому что в случае с SQL я могу через профайлер получить читабельную документацию - непосредственно код, причем быстро. Ждать пока вы поясните, в какой нэймспэйс вы поместили нужный метод, часто времени нет. Код должен быть САМОДОКУМЕНТИРУЕМЫЙ, у вас это не так, к сожалению. Это мое мнение.
Но, конечно, я потихоньку отказываюсь от SQL потому что вы чините препятствия для такой работы.
Например, как я понял, раньше можно было добавлять оборудование напрямую. Теперь - нет.
Мы не чиним препятствия, как вам кажется. Просто структура БД постоянно дорабатывается и может быть изменена в связи с необходимостью. Именно поэтому мы и разработали LersFramework, чтобы дать возможность разработчикам иметь доступ к ЛЭРС УЧЕТ программно без необходимости вникать в структуру БД, которая может быть изменена в будущем.