Доброго времени. Конфигурация документооборот.
На форме элемента справочника "Проекта", создаются дополнительные реквизиты на форме.
Условно "Группа продуктов" и "Продукт".
При выборе лишь 3х групп, реквизит продукт виден на форме. При выборе остальных реквизит пропадает.
Событие при изменении группы есть в расширении, но оно просто очищает поле продукта, если оно заполнено, видимостью реквизита не управляет.
За все отвечает общий модуль УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов.
Но там все реквизиты представлены в виде "ДопРеквизит_УИД".
Поэтому зашел в свойство формы "Свойства_ОписаниеДополнительныхРеквизитов" и там свойства нужного мне реквизита доступность и видимость истина, даже при выборе не одной из трех групп, а даже если свой реквизит добавляю.
Не могу понять, где определяется связь, что если одна из 3х групп, то продукт на форме виден, если нет, то нет.
Вроде все перерыл уже.
Наконец вернулся к данной задаче.
Выяснил, что реквизит на форме не видит потому, что его нет!!!
То есть он создан, как элемент, но система этого не видит.
В конфигурации есть процедура ОбновитьЗависимостиДополнительныхРеквизитов, в ней поменял код, чтобы показывал все реквизиты на форме. И он показал мне только три реквизита, которые и доступны, а те что создавал я, как новые, их попросту нет. То есть они должны создаваться, как-то по-другому.
Копаю дальше.
Я искал заглушку в коде, а заглушка была перед носом. Доп. реквизит было не видно потому, что он:
1) Формировался на другой странице формы
2) Форма была по-умолчанию скрыта
3) Нужно было зайти в еще - изменить форму и drug&dropом перенести на нужную страницу.
Вот так!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший