Исчезновение реквизита с формы

1. EYakovlev 18.11.22 16:07 Сейчас в теме
Надо в документ СписаниеТоваров добавить реквизит в табличную часть товары. Сделал расширение, добавил реквизит (в расширении), в форме ПриСозданииНаСервереПосле програмно добавил элемент в табличную часть. Все работает, клиент доволен. Прошло полгода. Накатили обнову на конфу. Расширение проверили, формы обновили. Все ОК, применимость расширения в норме. У клиента не видно на форме реквизита. Проверяю, код в норме, в отладке элемент реквизита на форму добавляется, но на собитии ПриОткрытии элемента в форме уже нет. Никаких других событий чтоб удалялись элементы формы я не вижу. Клиент 1с запускает под админом, т.е. с полными правами.
Ума не приложу куда копать?
Платформа 8.3.22.1704
1с:КА2 версии 2.5.8.303
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. glek 119 18.11.22 16:11 Сейчас в теме
(1) Добавленный реквизит никак на связан с добавленными функциональными опциями?
3. Stylo 18.11.22 16:13 Сейчас в теме
Бывает, что делают программное удаление всего лишнего при отрисовке формы. Как правило прячут глубоко где-то в общие модули.
4. unknown181538 154 18.11.22 20:52 Сейчас в теме
(0) Может вынести в отдельную серверную процедуру, и вызываеть ее в конце "ПриОткрытии()"?
Ну если не разберетесь - такой костыль.
5. EYakovlev 22.11.22 09:55 Сейчас в теме
Еще раз описание проблемы:
В 1С:КА2 добавлено расширение. В расширении расширен документ СписаниеНедостачьТовары. В таб. часть Товары этого документа добавлен реквизит (в расширении). В форме документа (в расширении) на событии ПриСозданииНаСервереПосле добавляется элемент формы колонка таб. части для этого реквизита. Все работало норм, до недавнего времени.

Путем множества экспериментов удалось выяснить следующее:
1. Одна и таже конфа на платформе 8.3.20 работает нормально, на платформе 8.3.22 нет. Т.е. реквизиты не показываются на платформе 8.3.22.
2. Если добавить расширение с назначением "Дополнение" и в нем сделать аналогичные действия (добавить реквизит и так-же добавлять элемент на форму через ПриСозданииНаСервереПосле), то все работает.
3. Если в новом дополнении в событии ПриСозданииНаСервереПосле добавлять на форму элементы для реквизита из старого дополнения, то они на форме не появляются. Т.е. код на обращение к этим реквизитам (при попытке добавления элементов) не ругается, но на форму их не выводит. И при последующем обращении непосредственно к этим реквизитам документа 1с ругается, как будто этих реквизитов у документа нет. В режиме отладки при просмотре объекта в структуре реквизитов они присутсвуют, но вместо значения выводится надпись "недоступно для чтения".

Вывод: Т.к. старое дополнение имеет назначение "Адаптация", то оно не предполагает изменение БД и может только менять код и внешний вид форм. Хотя на версии платформы 8.3.20 и раньше это допускалось. На релизе 8.3.22 идет полный игнор реквизитов добавленных расширением с назначеним "Адаптация".
Печаль в том, что у расширения назначения "Адаптация" нельзя изменить назначение "т.к. расширение меняет структуру базы данных". Даже в сторону "Дополнение".
EvgeniyOlxovskiy; +1 Ответить
7. WorkerPavel 22.11.22 11:41 Сейчас в теме
(5)Интересное наблюдение. В техподдержку 1С писали? Интересна их позиция.
8. WorkerPavel 22.11.22 12:22 Сейчас в теме
(5)Поэкспериментировал тоже.
Мне кажется что нет оснований считать что "Адаптация" работает не так как "Дополнение". Если вы добавите новое расширение "Адаптация" то оно будет вести себя так же как новое расширение "Дополнение".
У вас в старом расширении в форме расширения табличная часть добавлена в расширение? Если её раскрыть в правой части то новый реквизит виден?
9. EYakovlev 22.11.22 14:08 Сейчас в теме
(8)
(8)
Спасибо, ценное замечание. Мои выводы не верны. Еще один эксперимент подтвердил ваше замечание и привел к новому откровению.
Во всем виноват режим совместимости, точнее видимо комбинация режима совместимости и версии платформы.
В новом расширении ставится режим совместимости как и основной конфы 8.3.17. В старом же расширении режим совместимости 8.3.12. Его ни кто не поднимал. И оно не работает как надо на 8.3.22. А если режим совместимости поднять до 8.3.17как у основной конфы, то все ОК!
lefthander; +1 Ответить
6. lefthander 22.11.22 10:07 Сейчас в теме
Сделайте новое расширение, аналогичного действия, перенесите данные из старого расширения в новое, затем старое отключите, новое с назначением дополнение будет работать дальше. Как вариант.
user1089020; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот