Один из пользователей обновлял конфигурацию "Управление торговлей" очень старой версии (начиная с 11.0.4.5).
При этом после очередного обновления базы он столкнулся со следующей проблемой: пропало поле "Дата свертки" в обработке "Свертка информационной базы".
При этом в режиме конфигуратора поле было на месте, но в режиме пользователя оно скрывалось. Более того - смущало то, что при обновлении в ручном режиме через конфигуратор проблема не воспроизводилась.
Я провёл расследование и дал следующий ответ:
1
Начну с того как вам исправить ситуацию:
- нужно зайти в "все функции"
- и там поставить галку в значении константы "Управление торговлей"
2
Теперь почему обновление через обновлятор отрабатывало по другому.
Разницы в работе программы была не в самом обновлении - а в программном выполнении обработчиков обновления.
3
Это значит, что если бы вы поставили в свойствах базы галку "Не выполнять обработчики обновления" (ссылка) и выполнили обновление, а затем открыли базу интерактивно, то в результате было бы всё ок. Это значит, что с самим обновлением никаких проблем не было. Проблема была (и я объясню ниже почему) на уровне обработчиков, которые вызываются после обновления (либо программно через обновлятор, либо при первом открытии пользователем базы).
4
Почему вообще возникла эта ситуация.
Сначала объясню что это за константа "УправлениеТорговлей". Дело в том, что 1с при разработке пишут одну "обобщённую конфигурацию" (называемую БСП), а затем разруливают её специфичное для той или иной конфигурации поведение галками. Поэтому есть такие константы как УправлениеТорговлей, КомплекснаяАвтоматизация, УправлениеПредприятием.
Получается, что для вашей конфигурации галка должна стоять только в константе УправлениеТорговлей. В конечном итоге именно отсутствие этой галки влияло на отображение поля Дата в обработке СвёрткаИБ. Так почему же она (эта галка) оказалась не установлена?
Дело в том, что вы начали обновлять базу с самого первого релиза и там изначально структура БСП была другой и константы УправлениеТорговлей просто не существовало.
Затем начиная с какой-то версии эта константа появилась, но 1с почему-то решили установить её в Истина не в обработчиках обновления, а в интерактивной форме, которая появляется при открытии базы пользователем после обновления перед выполнением обработчиков.
Соответственно мы накатывали все обновления и запускали обработчики программно - поэтому эта интерактивная форма у нас не появлялись и галка эта не инициализировалась в Истина.
5
Какие выводы мы можем сделать.
Очевидно это ошибка разработчиков 1с, которые не предусмотрели, что релизы могут накатываться автоматически и обработчики будут запускаться программно.
Но эта ошибка уникальна и единственна в своём роде (они просто не предусмотрели корректного перехода на новую версию БСП в каком-то там году), чтобы отказываться совсем от программного выполнения обработчиков.
При таком накатывании такого большого количества обновлений - не выполнять обработчики вовсе, чтобы они запустились в самом конце, когда мы откроем базу - путь к ещё большему количеству проблем.
А открывать базу после каждого из сотни обновлений - под силу выдержать не каждому...
6
Как я рекомендую поступить в вашем случае.
В идеале нужно выяснить в каком из релизов появилась эта галка (для этого поищите в отчете обновлятора строку типа Новый объект: Константа. УправлениеПредприятием). Мы выяснили, что эта галка появляется в первом же релизе 11.2.
После этого обновить (вместе с выполнением обработчиков) автоматически базу до последнего релиза, предшествующему 11.2 (установив ограничения в свойствах базы на максимальную версию).
После этого сделать переход на 11.2 через конфигуратор (или через обновлятор, но отключив автоматическое выполнение обработчиков) и затем открыть базу, чтобы установилась эта галка в константе УправлениеТорговлей.
И уже затем продолжить автоматические обновления (тоже вместе с выполнением обработчиков).