Как найти файл 1cv8 cdn. Начало сеанса с информационной базой запрещено

— не самая обычная бухгалтерская компания, но бухгалтерию мы ведём в 1С, как и большинство отечественных коллег. На текущий момент у нас на сервере проживают сотни баз, поэтому нам пришлось научиться быстро и качественно всё это богатство администрировать. Если вы — бухгалтерская компания, хостер с сервисом 1С, или у вас просто откуда-то взялась куча 1Сок, вы знаете, как это трудно. Мы любим приносить пользу, поэтому поделимся опытом, практическими советами и инсайтами, которые успели нас посетить за бессчётное количество ночей, праздничных и выходных дней, проведенных за обновлением и актуализацией всего нашего хозяйства.

Мы не продаём 1С, а потому рассказ будет без купюр, цензуры, а главное — без маркетингового булшита. Бонустреком, по ходу поста можно найти несколько полезных скриптов и советов для тех у кого действительно много баз 1С.

Итак, почему у нас вообще так много баз? В действительности, прямо сейчас мы исследуем технологию разделения данных, но использовать её ещё не начали, поэтому для каждого бизнеса, который мы обслуживаем, вынуждены создавать отдельную базу (и часто не одну).

Невероятный путь от облачной 1С до собственного кластера серверов

В начале нашего пути мы пользовались облачным 1С-Фрешем: этот сервис в меру удобен, насколько может быть удобно использовать настольное приложение через браузер. Однако, довольно быстро мы накопили полсотни баз и администрировать их через веб стало невыносимо — веб-интерфейс начал тормозить, плюс появилась необходимость программно интегрировать 1С с нашими внутренними инструментами, чего Фреш категорически не умеет. Пришлось мигрировать, выгружая все данные из облака. Благо сделать это было нетрудно («Выгрузить данные в локальную версию» → «Загрузить данные из сервиса»).

Вторым важным этапом эволюции стало использование сервис-провайдера, и нас, опять же, всё устраивало, пока баз не стало больше сотни. Обновления конфигураций, как и публикация с добавлением пользователей, происходили через письмо в техподдержку. В принципе, всё оперативно, но не интерактивно.

Особые неудобства доставляла невозможность запуска. exe-файлов без предварительного согласования (добавления хэш-сумм в разрешающие политики домена), а нам, напомню, была необходима интеграция. Также были проблемы с тем, что, по непонятным причинам, СХД провайдера неправильно синхронизировало ноды на блочном уровне. Так мы потеряли несколько важных баз, которые пришлось долго и мучительно восстанавливать. С системами хранения часто всё непросто и нечестно.

Хозяйке на заметку: тестируйте хранилище. Если вы хостер, то уделите этому больше внимания. Если вы пользуетесь сторонним хостингом — обязательно проверяйте хранилище и диски. Это детские грабли, наступать на которые ещё больнее, чем на взрослые:)

После всех приключений мы решили мигрировать на свой VPS. Мощности современных виртуальных серверов позволяют спокойно содержать пару сотен 1С-баз, без труда допуская к ним пару десятков бухгалтеров. Провайдеры VPS, зачастую, не отвечают за лицензирование программных продуктов, которые вы запускаете внутри, поэтому нужно озаботиться приобретением лицензии на пользователей и покупкой конфигурации.
Хозяйке на заметку: при лицензировании большого количества баз вас могут ждать сюрпризы — активация каждой базы для каждого пользователя через программный ключ может стать вашей основной работой на ближайшие недели. Этого недостатка лишён кряк аппаратный ключ, но его нельзя просто так взять и начать использовать в VPS.

Не будем забывать, что даже самый лучший VPS (выбранный с использованием вот этого клёвого сервиса) не сравнится с тёплым и ламповым собственным сервером. Мы решили мигрировать в третий раз.
Однажды вечером наш VPS не запустился. Был самый пик отчётности — последние её часы, и сервер находился в дауне неоправданно долго. При этом через панель управления мы сделать ничего не могли — сервер находился в стадии запуска, а техподдержка просто разводила руками. Как оказалось, на хосте с нашей виртуалкой закончилась оперативная память, и на запуск её просто не хватало.
Итого
Сейчас, имея сотни баз пройдя путь от 1С-Фарша, через боль, миграции, неконсистентность баз, некомпетентность техподдержки, проблемы с синхронизацией нод у хостера, публикацию через веб, экспорты, импорты, резервные копии и массу восстановлений, мы пришли к своему кластеру серверов.

На что хотелось бы обратить внимание тех, кто такой путь проходит или планирует проходить:

  • думайте о лицензиях;
  • если вам нужна интеграция — используйте выделенный сервер или VPS;
  • позаботьтесь о хранилище или тщательно тестируйте его у вашего провайдера;
  • резервные копии — это правда важно;
  • сразу откажитесь от веб-доступа, если нагрузка будет серьёзной и важна стабильность.

Как упростить жизнь, если вы вынуждены работать с кучей баз

Создание базы со ссылкой на неё в профиле текущего пользователя
Мы разворачиваем все наши базы из заранее подготовленного шаблона (с загруженными обработками, справочниками, настроенной подпиской ИТС и резервным копированием).

Для файлового варианта:
<версия>\bin\1cv8.exe" createinfobase File="X:\Base\habrahabr" /AddInList "ХабраХабр ООО" /UseTemplate "X:\tmplts\ЧёрнаяБухгалтерия.cf"
Для SQL варианта:
CHCP 1251 "%ProgramFiles(x86)%\1cv8\<версия>\bin\1cv8.exe" createinfobase Srvr="habr" Ref="HabraBD" SQLSrvr="habr" SQLDB="HabraBD" SQLUID="sa" SQLPwd="123" /AddInList "ХабраХабр ООО" /UseTemplate "X:\tmplts\ЧёрнаяБухгалтерия.cf"

Как создать или удалить пользователя сразу в сотне баз?
Управление пользователями всегда было больным местом 1С. В ранних редакциях для этого требовалось получить монопольный доступ к файлам базы, позднее добавили возможность добавления на лету, но только через конфигуратор, сейчас (в последних редакциях бухгалтерии или торговли) пользователя можно создать прямо из основного режима работы, через инструменты администрирования. Но сделать это руками в случае с сотнями баз уже нереально, поэтому мы научились добавлять пользователей программно. На помощь приходит COM . Мы устанавливаем внешнее соединение V8.COMConnector и передаем в базы всю необходимую информацию. Добавляем пользователей с правами доступа, заполняем справочники или создаём документы. .
Как подключить пользователю сразу сотню баз?
Для добавления сразу всех нужных баз в список пользователя мы используем v8i файлы-списки общих баз, размещённые на файловой шаре. Ссылки на эти файлы добавляются в профиле пользователя (например, через GPO или в профиль по-умолчанию) в файл %AppData%\1C\1CEStart\1CEStart.cfg:
CommonInfoBases=X:\Base\List\Base_a1.v8i CommonInfoBases=X:\Base\List\Base_a2.v8i CommonInfoBases=X:\Base\List\Base_a3.v8i
Либо из самой 1С (уже под пользователем) добавляем список общих информационных баз:

Внутри файлы v8i выглядят так:
[ХабраХабр ООО] Connect=File="X:\Base\Accounting\habrahabr"; ID= OrderInList=6062080 Folder=/ OrderInTree=6422528 External=1 App=Auto WA=1 Version=8.3
Создать их можно прямо из окна выбора базы («Сохранить ссылку в файл») или же взять в профиле пользователя-создателя базы — %AppData%\ 1 °C \1CEStart\ibases.v8i. Ссылка может быть на базу работающую в любом режиме (файловый, серверный, веб). Рекомендуем хранить в одном файле не более ста баз, иначе файл может попросту загрузиться не до конца:)

Как обновить сразу сотню баз?
Обновление баз лучше производить на отдельном сервере (а еще лучше сразу на двух:) — это и быстрее, да и управлять процессом проще. Мы используем типовые конфигурации (без снятия с поддержки), обновляемые через ИТС. В первом квартале этого года для «Бухгалтерии 3.0» вышло более 10 обновлений, накатить их даже на десяток баз вручную — та ещё веселуха. Потому мы разработали некоторую стратегию.
Прохладная история: в первый отчетный период 2014 наши любимые гос органы и 1С внезапно лишили нас сна, выпустив в период с марта по апрель более 10 апдейтов только для конфигурации Бухгалтерия 3.0! Конечно, мы не стали обновлять всё подряд, но даже 3-4 обновления для сотен баз за столь короткий срок — хорошая проверка на прочность.
Читатель может задаться вопросом, откуда столько хлопот? Ответ прост: изменения в законодательстве и при этом в самый последний момент. Например: с начала 2014 года не было утверждённых форм ФСС и ПФР. В одном из первой 10-ки обновлений их добавили, но только для сдачи в бумажном виде, а в электроном — нет. И так происходит постоянно.
Блокировка
Через интерфейс:

Или через создание файлика в каталоге базы 1Cv8.cdn вот с таким содержимым:
{1,20140514173100,00010101000000,"База временно не доступна! Крепитесь =) Для администратора: Для того чтобы разрешить работу пользователей, воспользуйтесь консолью кластера серверов или запустите "1С:Предприятие" с параметрами: ENTERPRISE /F""X:\Base\habrahabr"" /CРазрешитьРаботуПользователей /UC<код разрешения>","",""}

Обновление
Для файлового варианта:
CHCP 1251 SET cfu_file="X:\tmplts\1C\Accounting\3.0.32.7\1cv8.cfu" SET base_dir="X:\update\habrahabr" "%ProgramFiles(x86)%\1cv8\<версия>\bin\1cv8s.exe" CONFIG /F %base_dir% /N"Администратор" /P"123" /UpdateCfg %cfu_file% /UpdateDBCfg /Out update.log
Для SQL варианта:
CHCP 1251 SET cfu_file="X:\tmplts\1C\Accounting\3.0.32.7\1cv8.cfu" "%ProgramFiles(x86)%\1cv8\<версия>\bin\1cv8s.exe" CONFIG /S"habr\HabraBD" /N"Администратор" /P"123" /UpdateCfg %cfu_file% /UpdateDBCfg /Out update.log
Как правильно делать резервное копирование баз?
Если вы используете SQL, следующий абзац можно безжалостно скипнуть — он актуален только для файлового режима.

В нашей практике мы не раз встречали базу в неконсистентном состоянии. Более того, в файловом варианте, не существует специальных инструментов, чтобы сообщить базе о начале копирования, нет возможности заблокировать работу с ней, если она идёт прямо сейчас. Мы справлялись с этим так: в полночь сервер RDP переходил в режим запрета новых подключений, через пару часов всех пользователей мягко выгонял скрипт. Затем срабатывало регламентное обновление и резервное копирование.

Выгрузка в dt
Для файлового варианта:
CHCP 1251 "%ProgramFiles(x86)%\1cv8\<версия>\bin\1cv8s.exe" CONFIG /F "X:\Base\habrahabr" /N"Администратор" /P"123" /DumpIB "X:\Backup\DT\habrahabr.dt"
Для SQL варианта:
CHCP 1251 "%ProgramFiles(x86)%\1cv8\<версия>\bin\1cv8s.exe" CONFIG /S"habr\HabraBD" /N"Администратор" /P"123" /DumpIB "X:\Backup\DT\habrahabr.dt"
Все выше сказанное справедливо для 1С Предприятие, платформа 8.3; Бухгалтерия 3.0; Зарплата и Управление Персоналом 2.5.

В следующий раз мы расскажем о работе в режиме разделения данных для нескольких сотен фирм на одну базу. Будем рады услышать вопросы, замечания и предложения. А всем тем кто столкнулся с подобными задачами — хочется пожелать терпения, упорства и веры в победу.

Запустив один раз программу 1С, при старте я увидел ошибку «Начало сеанса с информационной базой запрещено. Резервное копирование». Я очень удивился — сам я блокировок не ставил. После небольшого анализа причина оказалась в «глюке» автоматического архивного копирования, которые встроены в (одна из подсистем ).

Ошибка выглядит следующим образом:

Дело оказалось в том, что при настройке создания архивных копий базы данных система автоматически устанавливает блокировку на вход в информационную базу. Она препятствует запуску программы у пользователей на время выполнения процесса.

Но иногда так случается, что после копирования система не может снять . В этом случае мы и получаем ошибку «Начало сеанса с информационной базой запрещено… »

Получите 267 видеоуроков по 1С бесплатно:

Решение проблемы

Исправить проблему проще всего с помощью удаления файла 1Cv8.cdn (файл блокировки информационной базы) из папки с базой данных.

Например, на моём скриншоте выше расположение базы такое:

Необходимо зайди в эту папку, а затем найти и удалить 1Cv8.cdn.

Снятие блокировки с клиент-серверной базы 1С

Если у Вас есть доступ к консоли сервера, снять блокировку очень просто. Достаточно проследовать в свойства информационной базы и убрать флаг «Блокировка начала сеансов включена»:

  • Во-первых, это поспособствует лучше уяснить, что произошло. А в более редких случаях даже может помочь решить проблему самостоятельно.
  • Во-вторых, если самостоятельно не смогли справиться, то для начала и прежде всего следует обращаться к специалисту за технической поддержкой с содержанием появившегося информационно-диагностического окна.

Давайте же подробно рассмотрим содержание полученного диалогового сообщения:

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

В строке 1.Б обычно указывается причина, длительность блокировки, а так же другая полезная информация. В зависимости от того, кем или чем (в случае системы) установлена блокировка входа, а так же для какой цели, информация в этом блоке может быть разной. Строка «Резервное копирование» является стандартной записью для ручного либо регламентного резервного копирования (в этом случае так же характерна строка «Для выполнения резервного копирования.») информационной базы средствами 1С Предприятие.

Администратор, в случае создания блокировки в пользовательском режиме 1С 8.3 Предприятие, или программист 1С, в случае задания блокировки программным способом в конфигураторе, может придумывать свои собственные сообщения:

В строке 2 приведена подсказка, как можно запустить программу из-под командной строки Windows, если Вам известен так называемый «код разрешения» (см. следующий шаг).

В строке 3 поясняется ход процесса и действие кнопок.

Шаг 2. Решение как снять блокировку и войти в базу 1С 8.3

Блокировки сеансов условно можно классифицировать следующим образом:

  • Запланированные. Когда вручную или автоматически была запущена блокировка сеанса, обслуживающая плановый процесс в базе 1С (резервное копирование, регламентное задание, обновление);
  • Прочие, ошибочные. Когда блокировка установлена в результате ошибочных действий пользователя или возникших ошибок самой системы, когда она автоматически не снимает ранее установленную блокировку. Например, был запущен процесс резервного копирования, но пользователь его прервал, принудительно закрыв программу.

Способ 1

В обоих случаях при установке блокировки сеансов, как было сказано выше, в каталоге хранения текущей информационной базы создаётся файл с разрешением «.cdn»:

Таким образом, простым решением ошибки запуска программы из-за блокировки сеанса будет являться удаление файла 1Cv8.cdn.

Однако пользователю следует предварительно задаться вопросом «Ведь, если блокировка сеансов установлена – значит это чем-то обусловлено?». Быть может, другой пользователь с административными функциями (далее – администратор) запустил в 1С 8.3 Бухгалтерия действительно важное задание или обработку, не терпящие одновременного нахождения нескольких пользователей в базе.

Способ 2

Если такая ситуация возможна, то стоит связаться с администратором и узнать, можно ли заходить в базу данных и есть ли у него специальный код разрешения, о котором говорилось чуть выше. В этом случае воспользуемся вторым способом – входом в заблокированную информационную базу посредством запуска программы из командной строки с указанием в одном из параметров запуска кода разрешения:

  • “C:\Program Files (x86)\1cv8\common\1cestart.exe” – путь к программе запуска 1С Предприятия 8.3;
  • ENTERPRISE – обозначает, что программа запустится в пользовательском режиме, т.е. в режиме 1С Предприятие;
  • /F”F:\Базы1С\Бухгалтерия” – обозначает файловую информационную базу (параметр /F) и путь к ней (адрес серверной базы указывается в параметре /S);
  • /С Разрешить Работу Пользователей – необязательный параметр: если установлен, то система не запускается, но блокировка при этом снимется (уничтожится файл блокировки), впоследствии пользователям можно будет заходить в информационную базу.

Если параметр не установлен, то разрешается вход конкретному пользователю, но блокировка не снимается. Полную разблокировку этот пользователь может сделать в пользовательском режиме, пройдя в панель Поддержка и обслуживание (раздел Администрирование – группа команд Настройки программы – команда Поддержка и обслуживание:

И вызвав форму Блокировка работы пользователей по одноимённой команде:

В открывшейся форме снять блокировку сеансов можно нажатием кнопки Снять блокировку, где /UC12345 – в параметре /UC указывается код разрешения (12345). Названия параметров пишутся на английском языке.

Более подробно о параметрах командной строки смотрите в справке 1С 8.3 Предприятия.

Способ 3

Существует альтернативный и ещё более простой для пользователя приём использования вышеприведённых параметров запуска информационной базы (далее – ИБ) – есть возможность прописать нужные в свойствах интересующей базы данных.

1. В окне программы запуска (пометка «А») выделяем заблокированную базу данных и нажимаем кнопку Изменить, после чего откроется окно редактирования свойств ИБ (пометка «Б»):

В свойстве Дополнительные параметры запуска прописываем код разблокировки и, при необходимости, параметр для разрешения работы пользователей (в этом случае после первого запуска и перед следующим запуском этот параметр необходимо удалить). Более подробно данные параметры описывались выше.

Обратите внимание: когда происходит автоматическое резервное копирование (непосредственное либо в составе другой процедуры, например, при автоматизированном обновлении), система блокирует информационную базу 1С 8.3 и ставит стандартный код разблокировки «РезервноеКопирование ».

Поэтому, если процедура «сорвалась» и блокировка базы осталась, но нет возможности удалить cdn-файл, тогда можете при запуске ИБ использовать параметр: /UCРезервноеКопирование.

3. Нажимаем кнопку Готово и возвращаемся к окну программы запуска, где запускаем ИБ по кнопке 1С:Предприятие. Таким образом, ошибка “Начало сеанса с информационной базой запрещено. Резервное копирование” устранена:

Если 1С 8.3 Предприятие функционирует в клиент-серверном варианте, но пользователь не обладает правами доступа и необходимыми знаниями по администрированию баз данных в таком режиме, то в таком случае следует обратиться за помощью к администратору системы. Отметим лишь, что в клиент-серверном варианте помимо доступа через командную строку с дополнительными параметрами есть возможность убрать блокировку, используя утилиту администрирования кластера серверов 1С:Предприятия, а именно необходимо в свойствах нужной информационной базы убрать флаг Блокировка начала сеансов включена .

Анатомия файла блокировки 1Cv8.cdn

Любознательные могут заглянуть внутрь создаваемого при блокировке сеансов файла 1Cv8.cdn – это простой текстовой файл, который можно открыть соответствующим редактором Блокнот:

Текст в файле обрамлён фигурными скобками, в которых перечислены следующие разделённые запятыми параметры блокировки:

  • 1 (0) – признак установки блокировки (1 –установлена; 0 – выключена);
  • 20160706154700 – полная дата (дата + время) начала блокировки сеанса, в нашем случае это 06 июля 2016 года 20:00:00;
  • 20160706154700 – полная дата (дата + время) окончания блокировки сеанса, в нашем случае это 06 июля 2016 года 20:00:00 (если дата окончания не указана, то по умолчанию в параметр заносится значение 00010101000000);
  • Далее следует текстовый параметр, где в двойных кавычках размещён вспомогательный текст, отображаемый пользователю в диалоговом окне;
  • «123» – указан код разрешения.

Как видим, в файле прописаны все параметры, отображаемые в появляющемся информационно-диагностическом диалоговом окне.

На сайте Вы можете ознакомиться с другими бесплатными статьями и видеоуроками по конфигурации 1C Бухгалтерия (