Столкнулся с ошибкой, о которой в Интернете ни слова: Недопустимое состояние объекта mngbase - src\ULServerDSLegacyAnswerBuilder.cpp (172)
Возникала она у меня в самописной базе на управляемых формах, в форме выбора номенклатуры. Пробовал на разных платформах, в частности 8.3.18.1334.
Если заводить новую номенклатуру в форме списка, где нет никакого отбора, то ошибка не возникает, но стоит создать новую номенклатуру в форме выбора(где есть отбор), то выскакивает окно с ошибкой и дальше только вылет из программы. При чем если отредактировать и записать существующий элемент справочника, то ошибки не возникает, проблема именно с созданием нового элемента.
Сначала думал, что какой-то глюк платформы. Пробовал ставить разные версии - не помогло.
Потом гонял базу разными проверками и тестами, включая выгрузку из загрузку из .dt, реструктуризация таблиц и т.д. Результата не принесло.
Первая особенность. В проблемной форме у меня используется конструкция вида:
Элементы.Список.РодительВерхнегоУровня = Группа;
Если убрать эту строку, то ошибки не возникает. Но мне эта функция была нужна и не хотел от нее отказываться, поэтому стал ковырять дальше и нашел еще одну особенность.
Вторая особенность. Список на форме у меня динамический и в настройках списка есть флажок, который называется "Динамическое считывание данных". Дак вот если он установлен, то ошибка не возникает, а когда его нет, то получаем вышеуказанную ошибку.
Можно, конечно, делать какие-то выводы, но по-моему просто глюк платформы. Не должна она вот так падать из-за того, что мы меняем какие-то настройки в конфигураторе.
Отправить комментарий