Каждый современный человек владеет ноутбуком, но как самому убрать возникающие...
![Пропал звук на ноутбуке — что делать?](https://i0.wp.com/sovets.net/photos/uploads/120/8110495-2razrabotanyi-spetsialnyie-programmyi-kotoryie-testiruyut-audio-drayveryi-soundcheck.jpg)
Разблокировать все объекты в 1С обычно требуется при появлении ошибки «Для выполнения команды требуется разблокировать все объекты». Эта ошибка может возникать в двух случаях: при загрузке файла конфигурации подчиненного узла распределенной информационной базы и при загрузке файла конфигурации в информационную базу, в которой запрещено изменение конфигурации. Рассмотрим подробнее оба случая.
Во всех типовые конфигурации 1С по умолчанию устанавливаются с настройками поддержки, запрещающими любые изменения конфигурации. Эти настройки гарантируют загрузку обновлений, поставляемых 1С. Но, к сожалению, типовая конфигурация достаточно часто не может учесть все нюансы работы конкретного предприятия и требует некоторой доработки. Изменения, внесенные в процессе доработки, иногда требуется перенести и в другие базы. При этом может возникнуть ошибка «Для выполнения команды требуется разблокировать все объекты». Данная ошибка говорит о том, что текущие настройки базы данных запрещают вносить изменения в конфигурацию, и чтобы внести эти изменения, необходимо разблокировать все объекты конфигурации. Сделать это можно двумя способами: разблокировать объекты с сохранением поддержки, если в дальнейшем планируется загрузка обновления для типовых конфигураций и снятие с поддержки, если загрузка обновлений в будущем проводиться не будет.
Для разблокировки с сохранением поддержки необходимо в Конфигураторе открыть конфигурацию, затем выбрать пункт Конфигурация – Поддержка - Настройка поддержки. В открывшемся окне нажать кнопку «Включить возможность изменения» и установить на все объекты конфигурации режим «Редактируется с сохранением поддержки».
Для снятия конфигурации с поддержки нужно выполнить те же шаги, но в окне настроек поддержки нажать кнопку «Снять с поддержки».
После выполнения этих действий становится возможной загрузка в конфигурацию файла с изменениями без появления ошибок.
Практически все клиенты используют 1С, поэтому иногда приходится сталкиваться с этой программой, я не пишу обработки для 1С, но сталкиваться как минимум с обновлениями приходится, а если пропущено несколько релизов, то при попытке обновить 1С до последнего релиза, конфигуратор выдает сообщение о том что нужно устанавливать предыдущие обновления, а это могут быть 4-7 файлов. Речь конечно в этой статье не об автоматическом обновлении через интернет, а с помощью файлов, в режиме офлайн.
Будем обновлять при помощи файла конфигурации нужного (последнего) нам релиза, файлообменники с этими релизами можно найти в сети, отличная поддержка обновлений это https://forum.ruboard.ru, там есть разделы по 1С, где можно посмотреть нужные релизы.
Если вы пропустили несколько релизов, то что бы обновить без установки предыдущих «обновок», нужно использовать файл с названием setup, к примеру BP83_2.0.66.45_setup.zip, он весит несколько сотен мегабайт, сохраняем его на диск и распаковываем.
Запускаем файл setup.exe, это распаковщик, который разархивирует файлы обновлений 1С в указанную нами папку, после этого он нам не нужен. Указываем желаемое место, и запоминаем куда распаковали
Нужный нам файл будет лежать в распакованной папке, и имеет расширение *.cf смотрите скриншот ниже
перед тем как обновлять конфигурации, следует обязательно сделать резервную копию базы данных.
Теперь что бы обновиться, нужно зайти в Конфигуратор 1С
Если конфигурация не открыта, после запуска конфигуратора, то откройте ее соответствующим пунктом меню, он самый первый, на скрине подсветил его зеленым цветом. Далее идем в пункт «Загрузить конфигурацию из файла…»
Выбираем нашу папку с распакованными файлами
В следующем диалоге отвечаем «Да»
Если конфигуратор ругается, и говорит что «Для выполнения команды требуется разблокировать все объекты», значит нужно «включить возможность изменения» в «настройках поддержки»
Теперь повторяем действия с загрузкой файла из конфигурации, вот этот .
Такой способ не подойдет для тех, кто обновляет 1С автоматически, через Интернет, он расчитан на тех кто обновляется с помощью файлов релизов, поставляемых на дисках ИТС или на файлообменниках.
Стакнувшись с тем, что старая, долго не обновляемая конфигурация 1С просит установить предыдущие релизы, а их может быть больше десятка, я начал искать информацию в Интернете по этому вопросу, но к сожалению ни чего не нашел, в итоге нашел решение сам, выкладываю его на этом блоге, возможно кому то пригодится.
Вы попали на нужную страницу! Скорее всего, утром вы обнаружили, что любимая 1С 8.3 не запускается с сообщением: «Начало сеанса с информационной базой запрещено. Для выполнения резервного копирования… ».
Первое, что сейчас нужно сделать - срочно разрешить работу пользователям. После этого спокойно дочитайте статью до конца и узнайте, почему так произошло и что такое «Блокировка и снятие блокировки с информационной базы 1С 8.3».
Мой опыт подсказывает, что вы – пользователь (не системный администратор и не программист), а ваша информационная база – файловая (если база SQL, вашей проблемой уже занимаются специалисты). Для начала надо понять, в какой папке (каталоге) она расположена и удалить в этой папке один файл - 1Cv8.cdn (файл можно не сохранять, он больше не понадобится).
*Если вы ИТ-специалист, можете смело переходить к чтению раздела «Блокировка и снятие блокировки с информационной базы 1С».
В окне со списком информационных баз найдите свою базу (цифра 1 на иллюстрации ниже) и нажмите на нее один (и только один!) раз мышкой. Затем нажмите кнопку «Изменить» (цифра 2).
В списке может быть только одна база, поэтому это окно вам может быть знакомо как «окно запуска 1С». В этом случае просто нажмите кнопку «Изменить».
Если вы видите, что информационная база расположена на данном компьютере или в локальной сети - мой опыт не подвел – база файловая, и мы все делаем правильно. Скопируйте этот путь (цифры 3 и 4 ).
Теперь зайдите в эту папку.
На всякий случай, вот несколько вариантов запуска Проводника:
Воспользовавшись одним из предложенных вариантов, вы попадете в окно проводника с расположением информационной базы.
В окне проводника найдите в списке файлов файл 1Cv8.cdn, нажмите на нем правой кнопкой мыши, выберите «Удалить», как показано на предыдущем рисунке.
Готово! Ваша «1С:Бухгалтерия» или «1С:Зарплата и управление персоналом» или «1С:Управление торговлей» снова запускаются.
В данном разделе вы найдете уникальную информацию по работе с блокировками, а также получите опровержение распространенных заблуждений на тему «Блокировка данных».
Как установить блокировку?
Механизм блокировки информационной базы предназначен для завершения текущих открытых сеансов и предотвращения новых подключений. Расположение функционала блокировки в меню может различаться в зависимости от конфигурации. Например, в УТ, редакция 11 (11.3.3.163) это НСИ и администрирование, [Сервис] Блокировка работы пользователей. Альтернативный вариант: НСИ и администрирование, Поддержка и обслуживание, Блокировка работы пользователей. В УТ, редакция 10.3 (10.3.21.2) это Сервис, Пользователи, Блокировка установки соединений с информационной базой.
*Существуют специальные отраслевые конфигурации, в которых блокировка с точки зрения интерфейса и с точки зрения механизма будет выглядеть не так, как описано в данной статье. Поскольку мы рассматриваем стандартный механизм для большинства конфигураций 1С, специальные отраслевые конфигурации затрагивать не будем.
При выборе данного пункта откроется диалоговое окно «Блокировка работы пользователей», в котором необходимо ввести сообщение для пользователей, время начала и завершения блокировки, а также код для разблокировки.
Поскольку вводится начало и окончание действия блокировки, необходимо быть крайне внимательным в этом диалоге и ввести информацию в явном виде. Если бы в диалоге была бы возможность ввести начало блокировки «через 15 минут» длительностью «на 20 минут», или хотя бы справочно отображались эти величины на основании абсолютного времени начала и окончания блокировки, то было бы сложно установить блокировку длительностью в год, как это может случиться при ошибке ввода даты-времени.
Параметр «Время начала» рекомендуется установить как текущая дата/время + время, необходимое пользователям на подготовку к выходу с сохранением редактируемых документов. Например, сейчас 9 ч 50 мин, даем 10 минут пользователям для сохранения их результатов. Итого время начала блокировки должно быть 10 ч 00 мин.
Время конца – можно не вводить, при этом блокировка объекта будет установлена бессрочно (навечно).
Код для разблокировки – однократный «пароль» на запуск «с нуля», вопреки установленной блокировке, который может понадобиться в некоторых случаях (будет сказано далее). Вводить и запоминать обязательно. Этот параметр в случае SQL-варианта информационной базы виден в оснастке «Администрирование серверов 1С предприятия» и называется там «Код разрешения».
В случае SQL-варианта информационной базы дополнительно потребуется авторизация администратора информационной базы или администратора кластера.
Итак, после нажатия кнопки «Установить блокировку» и положительного ответа на подтверждение…
…вы вернетесь в предыдущее диалоговое окно, внешний вид которого изменился:
В правом нижнем углу будет выдано сообщение о том, что запланирована блокировка работы пользователей. Данное сообщение увидите только вы.
Запланирована? Быть может это как-то связано с регламентными заданиями?
Сработает ли запланированная блокировка работы пользователей, если установлена блокировка регламентных заданий? Да, сработает. Механизм блокировки не использует регламентные задания.
Что увидят пользователи и я сам?
До момента начала блокировки активные пользователи будут получать «вежливые» напоминания о необходимости завершения работы. В данном диалоге по таймауту срабатывает «Да», поэтому отсутствующие на рабочем месте пользователи успешно выйдут из сеанса 1С.
Инициатор блокировки получает другое сообщение:
После начала действия блокировки в информационную базу нельзя будет зайти обычным способом. О том, как все-таки зайти, будет рассказано ниже. Обратите внимание, что диалог не содержит автоматического указания на время завершения блокировки, поэтому задача проинформировать пользователей о времени возобновления работы ложится на Администратора. Эту информацию можно указать в сообщении пользователю.
Бомба взрывается точно в назначенное время. Сирена воет до взрыва.
Вопреки распространенному мнению, что завершение сеансов активных пользователей производится мягко, после предупреждения, которое можно игнорировать и продолжить работу, на самом деле завершение, а лучше сказать, «обрубание», активных сеансов происходит точно по расписанию, жестко и с потерей всех несохраненных результатов. Все предупреждения выдаются в интервале от времени нажатия кнопки «Установить блокировку» до времени начала блокировки, после наступления которого, завершение активного сеанса произойдет без какого-либо уведомления, а 1С перейдет в цикл попыток запуска конфигурации заново, с интервалом в 1 минуту.
Не составляют исключения режимы ввода справочных значений, при которых введено значение, отсутствующее в справочнике – выйти из режима ввода нельзя (например, закрыть 1С крестиком), но это не помешает завершить работу. Более значительный интерес представляет режим модального диалога, поэтому о нем будет сказано подробнее.
*Завершение сеансов пользователей в старых конфигурациях происходит чуть позже назначенного времени, т.к. пользователи сначала получают оповещение «Работа системы завершается».
А точно взорвется?
Для начала отметим, что в старых конфигурациях может не сработать блокировка для инициатора блокировки. А теперь перейдем к рассмотрению вопроса для платформы 8.3.
Пользователь файловой ИБ, решивший, например, удалить документ, а затем пойти на обед, оставив на экране диалог «Пометить документ на удаление?», будет держать открытым соединение с информационной базой. Конечно, его сеанс завершится после обеда, после того, как он ответит «Да» или «Нет», но до этого момента вы будете видеть, что есть активные пользователи. При этом инициатор блокировки увидит сообщение:
В журнале регистрации появится сообщение о runtime-ошибке, которое следует интерпретировать не как runtime-ошибку, а как «не все пользователи завершили свои сеансы»:
И это не единственная причина, по которой блокировка может не сработать (cм. далее разделы «По чьим часам?» и «А как же мои пользователи во Владивостоке?»).
Модальный диалог в SQL-варианте информационной базы на управляемых формах
Сервер приложений 1С имеет возможность удалить сеанс несмотря на режим модального диалога. Интерфейс 1С и модальный диалог останутся у пользователя на экране, создавая видимость незавершенного сеанса, но на самом деле сеанс будет удален, а соединение с ИБ будет своевременно разорвано. При попытке продолжить работу пользователь увидит сообщение об ошибке «Сеанс отсутствует или удален» или «Сеанс работы завершен Администратором» в зависимости от нюансов.
Модальный диалог в SQL-варианте информационной базы на обычных формах
Сеансы пользователей завершаются.
После установки блокировки из диалога лучше не выходить, т.к. при повторном входе в этот диалог до начала блокировки всплывает не соответствующее действительности сообщение о том, что блокировка уже установлена (правда только наполовину), активных сеансов ноль (неправда). При этом продолжается процесс завершения работы пользователей (противоречит нулю активных сеансов + не совсем так, т.к. пользователи «сами себя завершают»). Хотя код блокировки работы пользователей не идеален, в конце концов, это не помешает установить блокировку и завершить активные сеансы, однако дезориентирует Администратора информационной базы.
Сработает ли блокировка, если установить блокировку и закрыть диалог?
Сработает ли блокировка, если установить блокировку и сразу выйти из 1С (т.е. завершить сеанс 1С до начала действия блокировки)?
Да. Механизм реагирования на установленную блокировку не предусматривает взаимодействия между инициатором блокировки и остальными пользователями. Сеансы пользователей самостоятельно проверяют, можно ли им работать.
По чьим часам сработает блокировка, если время на компьютерах немного отличается?
Проблема рассинхронизации часов
При файловой ИБ каждый компьютер сам проверяет, имеется ли в ИБ установленный временной диапазон блокировки, и сравнивает его со своими локальными часами. От точности своих часов зависит, сможет ли данный компьютер осуществить завершение сеанса точно в нужное время. Если база блокируется с 10:00, для одного компьютера этот момент наступит раньше, а для другого – позже.
В доменной среде и при безупречной работе системных администраторов время на всех компьютерах синхронизируется с контроллером домена. Но по разным причинам время может быть сбито: не настроена синхронизация времени с контроллером домена, настроена синхронизация времени с внешним сервером точного времени, который более недоступен, сбои в работе сетевых или доменных служб, отсутствие прав на изменение системного времени и т.д.
Кажется, что речь может идти о секундах, в крайнем случае, минутах. Но на самом деле, на компьютере может быть, например, не установлено обновление операционной системы, поддерживающее переход на сезонное (зимнее/летнее) время, и ошибка уже может составлять не секунды, а часы. Легко провести такой эксперимент: запланируйте блокировку на 10 утра длительностью полчаса, а на одном из компьютеров переведите время на час вперед – блокировка на него не подействует.
Поэтому перед установкой блокировки внимательно сверьте время в правом нижнем углу компьютера со своими наручными часами, а также заблаговременно обратитесь к своему системному администратору с вопросом, работает ли синхронизация времени в вашей ИТ-инфраструктуре.
А как же мои пользователи во Владивостоке?
Проблема абсолютного времени при пользователях из разных часовых поясов
Временной диапазон блокировки сохраняется в информационной базе. Посмотрите на содержимое блокировочного файла 1Cv8.cdn (который создается в файловом варианте ИБ), в нем записано время начала блокировки 17.07.2017 13:59 в формате ГГГГММДДЧЧММСС без какого-либо указания на часовой пояс:
Без указания на часовой пояс было бы понятно, о каком абсолютном времени идет речь, если время всегда относилось бы к какому-то конкретному часовому поясу, например UTC+0. Но в базе сохраняется локальное время по часам компьютера, который являлся инициатором блокировки. Из какого часового пояса был этот компьютер – неизвестно, а значит неизвестно абсолютное время блокировки.
Если в Москве, в централизованной ИБ, вы устанавливаете блокировку в 13:59, и этот момент времени для московских пользователей находится в будущем, то у пользователей этой же ИБ во Владивостоке 13:59 было 7 часов назад. И в зависимости от технического решения, в соответствии с которым осуществляется работа с ИБ пользователей Владивостока, блокировка этих пользователей либо сработает, либо нет.
Какие могут быть технические решения, в которых блокировка будет работать неправильно для пользователей Владивостока? Те, при которых клиентская часть 1С получит время по Владивостоку, а не по Москве. Например, офисы связаны в локальную сеть по VPN, а клиентская часть 1С запускается с локального компьютера, имея время UTC+10. Но если они работают с базой через RDP-соединение или в режиме RemoteApp на московском сервере, запуская на этом сервере клиентскую часть 1С – все будет хорошо, т.к. она будет иметь время UTC+3.
Имеется ли проблемы рассинхронизации часов и часового пояса в случае SQL-варианта информационной базы?
Нет. В данном варианте есть «часы сервера», которые принимаются за эталон.
Выкинет ли меня из Конфигуратора, если я был в нем, а блокировка начала действовать?
Можно ли будет зайти в Конфигуратор после начала действия блокировки?
Нельзя! Проверка возможности работы с конфигуратором выполняется только при запуске и не выполняется в процессе работы. Поэтому, если блокировка устанавливается для последующей работы в конфигураторе, гораздо легче предварительно его запустить, чем потом обходить запрет на запуск.
Как снять блокировку?
В том же диалоге, в котором блокировка устанавливалась. Напоминаем, что после установки блокировки в нем вместо кнопки «Установить блокировку» кнопка «Снять блокировку».
В случае SQL-варианта ИБ снятие блокировки возможно также в оснастке «Администрирование серверов предприятия 1С». (см. далее)
Для чего нужен код разблокировки?
Для входа в ИБ в тот момент, когда действует блокировка. Ситуации, в которых это необходимо:
В таком случае воспользуйтесь подсказкой, которая дается при запуске. Т.е. в окне со списком информационных баз нажмите «Изменить» и введите в дополнительные параметры запуска строку:
ENTERPRISE /F"Z:\Обмен\УТ 11" /CРазрешитьРаботуПользователей /UC12345
… с учетом каталога расположения и кода разблокировки.
Данную строку лучше скопировать в буфер обмена и подправить в диалоге «Редактирование информационной базы». Если вы перепутали тип кавычек или русскую «С» и латинскую, то увидите сообщение об ошибке:
В случае правильного ввода и последующего запуска 1С в режиме предприятия, 1С автоматически снимет блокировку и завершит свою работу. После этого можно будет удалить дополнительные параметры и запускать 1С как обычно.
Что делать, если я не устанавливал блокировку, а SQL-база кем-то заблокирована? При этом я не знаю код разблокировки.
Блокировка информационной базы может устанавливаться самой конфигурацией на время создания архивной копии. Если процесс ее создания не был завершен нормально, SQL-база может остаться в состоянии блокировки. В этом случае необходим доступ к консоли (более правильно – оснастке) «Администрирование серверов 1С:Предприятия».
Где ее искать?
Оснастка «Администрирование серверов 1С:Предприятия» часто установлена на том же сервере, где развернут SQL server, а также где развернут сам «Сервер 1С» (или «Сервер приложений 1С»). Хотя это и не обязательно: SQL может быть установлен на одном компьютере, «Сервер приложений 1С» – на другом, а оснастку можно развернуть и на своей рабочей станции. С большой вероятностью успеха можно достигнуть, сделав следующее:
Что делать, если все пользователи информационной базы SQL вышли, а запустить Конфигуратор по-прежнему нельзя, т.к. имеются активные пользователи?
В узле «Соединения» информационной базы, в правой части экрана можно удалить имеющиеся соединения.
Это далеко не все вопросы, связанные с темой блокировки информационной базы.
Если у вас остались вопросы:
Наши сертифицированные консультанты по технологическим вопросам 1С с удовольствием на них ответят.
Очень часто встречаются снятые с поддержки конфигурации, при этом глобальных правок в них не внесено. Часть требуемых изменения можно было реализовать через внешние обработки. Поэтому возникает потребность поставить конфигурацию на поддержку.
С появлением механизма расширений конфигурации у нас есть более гибкий способ вносить нужные правки.
Быстрый переход
Первое, с чего начинаются любые обновления такого рода, это создание полной копии базы. Без этого даже не начинайте. Ценой ошибки может быть потеря информации.
В обоих случаях, первая задача — это синхронизировать конфигурации с конфигурацией поставщика. Это может производится как с обновление так и без. Если релиз старый, и он найден, то проще поставить на поддержку и обновить последующие конфигурации уже поставленные на поддержку.
Почему так? Потому что побочным эффектом снятия с поддержки, это замедление обновления раза в 2, так в этом случае обновление производится двух конфигурации (поставщика и текущей конфигурации).
Как только вы синхронизировали конфигурации — и структура данных и конфигурации у них абсолютно идентичны, можно приступать к замене конфигурации.
В меню «Конфигурация\Поддержка\Настройка поддержки»:
Снимаете блокировку со всех объектов(возможность редактирования), если есть «замок», иначе на следующем этапе выйдет сообщение «Для выполнения команды требуется разблокировать все объекты»:
Переходите к замене — производится через меню «Конфигурация»:
Если у вас ее сняли через «Снять с поддержки», то никаких значков у конфигурации нет, в противном случае наличие «желтого кубика» или «Замок с желтым кубиком», говорит, что вы можете сразу действовать по первому случаю.
В случае, когда у вас она снята, вам потребуется файл конфигурации, можно любого следующего релиза
Заходите в меню «Конфигурация\Объединить конфигурации» и выбираете этот файл:
Если всё верно (версия подходящая), то выйдет вот окно с сообщением: «Обнаружена возможность объединения с постановкой на поддержку», на вопрос «Поставить на поддержку?» отвечаете «Да»
Этим вы убиваете два зайца и обновляете конфигурации и ставите ее на поддержку.
Перед нажатием выполнить, еще требуется поставить по кнопке «Настройка», разрешить удаление объектов основной конфигурации (чтобы удалились ненужные и старые объекты).
В конце будет сообщение «Объединение конфигурации завершено»
Теперь выполняете ее замещение по случаю 1, тут вы уверены, что они у вас идентичны.