5. Технология разработки
#66

Готовишься к экзамену?

Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.

Перейти в бота

Во время отладки в 1С:Конфигураторе можно ли вносить изменения в конфигурацию и обновлять (сохранять) конфигурацию базы данных с этими изменениями?

Да, обновление конфигурации базы данных возможно всегда, независимо от отладки и количества подключенных сеансов.
Неправильно: при попытке обновить конфигурацию базы данных во время активной отладки система выводит предупреждение о необходимости прекратить отладку; кроме того, обновление может требовать монопольного доступа, если затрагивается структура таблиц.
Да, но только если подключен максимум один сеанс «1С:Предприятие» (именно тот, который отлаживается), либо изменения не затрагивают структуру таблиц информационной базы.
Правильно: при обновлении конфигурации базы данных во время отладки платформа предлагает прекратить отладку, и при согласии отладка останавливается и выполняется обновление. При этом динамическое обновление возможно, когда изменения не требуют перестройки таблиц, а если структура базы меняется - обычно нужно обеспечить условия, близкие к монопольному режиму (в том числе отсутствие «лишних» сеансов).
Нет, во время отладки обновлять конфигурацию базы данных нельзя ни при каких условиях.
Неправильно: запрета «в принципе» нет - обновление может быть выполнено, но платформа требует прекратить отладку и/или соблюсти ограничения, связанные с динамическим обновлением и доступом к базе.
Да, но только если к базе подключен не более одного сеанса «1С:Предприятие», который запущен в режиме отладки.
Неправильно: ограничение не сводится только к количеству сеансов - если изменения не затрагивают структуру таблиц, обновление может проходить без жесткого требования монопольного режима (как динамическое обновление), а ключевым условием при активной отладке является необходимость ее остановки на время обновления.

Пояснение

Ключевой момент: в 1С есть разница между «сохранить основную конфигурацию» и «обновить (сохранить) конфигурацию базы данных». 1) Изменения в конфигурации при отладке - В Конфигураторе вы можете редактировать объекты (модули, формы, реквизиты и т. п.) даже когда запущено «1С:Предприятие» и идет отладка. - Но чтобы изменения реально начали работать в запущенном приложении, обычно нужно обновить конфигурацию базы данных (иначе отладка/выполнение продолжаются на «старой» версии, которая была в базе на момент старта). 2) Что происходит при попытке обновить конфигурацию базы данных во время отладки - При выполнении команды обновления платформа выводит вопрос вида: для обновления необходимо прекратить отладку. - Если выбрать «Да» - отладка прекращается, и выполняется обновление конфигурации базы данных. - Если выбрать «Нет» - обновление не выполняется, отладка продолжается. 3) Почему в ответе есть два условия (один сеанс ИЛИ изменения без структуры) - Если изменения НЕ затрагивают структуру таблиц (например, вы правите алгоритм в модуле, форму, команду, печатную форму, некоторые свойства), платформа может выполнить динамическое обновление без тяжелой перестройки таблиц. - Если изменения затрагивают структуру БД (например, добавлены/изменены измерения/ресурсы регистров, реквизиты, табличные части, меняются типы данных, индексы и т. д.), обновление становится «структурным»: как правило, потребуется обеспечить отсутствие помех со стороны других сеансов и сервисов, то есть режим, близкий к монопольному. На практике это означает: завершить лишние подключения и не держать открытыми дополнительные сеансы «Предприятия». 4) Практический пример - Вы отлаживаете расчет (сеанс «Предприятия» запущен из Конфигуратора). Нашли ошибку, исправили код в модуле. - Нажимаете «Обновить конфигурацию базы данных»: система попросит остановить отладку. Соглашаетесь - отладка завершится, база обновится. - После этого снова запускаете отладку и проверяете исправление уже на обновленной конфигурации. 5) Быстрый чек-лист, если обновление не удается - Проверьте, не идет ли отладка (при необходимости согласитесь на ее остановку). - Убедитесь, что нет лишних сеансов пользователей/фонов, если вы меняли структуру (таблицы/регистр/реквизиты). - Если правили только код/формы и все равно есть блокировки - проверьте, не включены ли дополнительные сервисные подключения и не висит ли незавершенный сеанс «Предприятия».