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

P.S Сразу же после создания хранилища, создайте еще одного пользователя с административными правами, даже если будете работать только вы. Для чего это делается? Объясняю. Не редки случаи, когда пользователь «зависает», а так как увас есть еще один, то вы сможете зайти и снять свой же зависший сеанс. Пользователь создается в пункте Администрирование хранилища.

Подключение к хранилищу
Собственно хранилище у нас уже есть. Теперь необходимо подключить пользователей к нему. На каждом персональном компьютере разработчика требуется создать пустую базу или загрузить в нее либо *.dt файл либо просто конфигурацию *.cf из основной базы. После этого необходимо перейти в пункт Подключение к хранилищу и ввести имя пользователя и пароль, которые предоставит администратор для каждого пользователя. В результате подключения ваша локальная конфигурация будет полностью заменена конфигурацией из хранилища.
P.S Все данные локальной информационной базы останутся на месте. То есть как бы происходит объединение конфигураций без затрагивания текущих данных БД.

Обновление и захват хранилища
Если вы уже произвели редактирование в локальной базе и в хотели бы перенести изменения, то вам необходимо выгрузить «конфу» в *.cf файл. После вы подключаетесь к хранилищу. Ваша конфигурация затирается. Теперь необходимо произвести захват объектов. Если вы один в базе, то произведем рекурсивный захват(захватываются все подчиненные объекты) и правой кнопкой мыши нажимаем Захват в хранилище по корневому элементу конфигурации, либо каждый объект захватываете отдельно, если вы работаете вместе. Далее переходите в пункт Сравнить хранилище с конфигурацией из файла. Вуаля - все ваши изменения теперь в хранилище.

Способ захвата можно установить в появившемся окне рис.5. Либо рекурсивно(1), либо разрешать другим получать захваченные объекты (2)

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

При этом вы также можете поместить рекурсивно объекты в хранилище и освободить их, либо оставить захваченными.

Если в проекте участвуют несколько человек то для избежания возможных проблем и утери данных необходимо каждый день начинать с получения свежей конфигурации из хранилища (потому как другие программисты могли внести изменения). Для этого подключаемся к хранилищу и жмем по корневому элементу конфигурации правой кнопкой и выбираем пункт Получить из хранилища и производим рекурсивный захват. Далее если необходимо узнать кто и что сделал необходимо произвести сравнение с конфигурацией БД. После сохраняем все в хранилище и продолжается работа.
В данной статье описывается, как установать службу сервера хранилища конфигураций 1С:Предприятия.
Цитата из RTFM
В целом, если надо просто установить службу и, чтобы всё взяло и начало работать, достаточно просто почитать addoc (см ниже).
Для установки сервиса достаточно запустить crserver.exe с параметром -instsrvc и параметрами же указать, где что лежит и так делее. Все тривиально и в мануале описано достаточно подробно.
Для запуска сервера хранилища конфигурации используются следующие ключи командной строки: для операционной системы Windows: crserver.exe -instsrvc -usr <пользователь> -pwd <пароль> -port <порт> -d<каталог> | -rmsrvc | -start | -stop | -srvc -instsrvc - регистрация сервера как сервиса (имя сервиса – 1C:Enterprise 8.1 Configuration Repository Server) -usr - имя пользователя, от имени которого будет зарегистрирован сервис. Этот пользователь должен обладать правом Вход в систему как сервис. Кроме этого он должен обладать правами на чтение бинарного каталога файлов 1С:Предприятия (по умолчанию C:\Program Files\1cv81\bin) и полными правами на корневой каталог хранилища конфигурации (%APPDATA%\1C\1Cv81\ по умолчанию или тот каталог, который указан в параметре -d) -pwd - пароль пользователя, от имени которого будет зарегистрирован сервис -port - рабочий порт сервера хранилища. По умолчанию используется порт 1542 -d - корневой каталог для хранилищ конфигурации. По умолчанию используется каталог %APPDATA%\1C\1Cv81\ -start - запуск сервиса 1C:Enterprise 8.1 Configuration Repository Server -stop - остановка сервиса 1C:Enterprise 8.1 Configuration Repository Server -rmsrvc - удаление регистрации сервера как сервиса -srvc - режим работы сервера в качестве сервиса. Добавляется автоматически в параметры зарегистрированного сервиса. В командной строке запуска не используется.
Как установить два сервера на одной машине
Заморочки начинаются, когда надо установить больше одной службы сервера хранилища. Например - для разных версий платформы или для организации на одном сервере хранилищ для не связанных команд разработчиков. Возможных причин на самом деле море. Суть заморочек в том, что crserver.exe может установаить одну и только дону службу - у него нет параметра командной строки, влияющего на имя службы.
Для управления службами в Windows, начиная с NT4, существует замечательная консольная утилта SC.EXE . По ссылке можно найти исчерпывающий мануал по командам. Единственное, что стоит к этому мануалу добавить – имя параметра включает символ «=» и между этим символом и значением параметра ОБЯЗАТЕЛЬНО должен быть пробел, иначе sc.exe вместо полезной работы просто покажет кратенький мануал к самому себе. Это отмечено в мануале, но в самом конце, а до конца обычно дочитывают самые стойкие и уже от отчаяния, когда 100500-й раз не получилось то, что в мануале описано буква-в-букву.
Итак, предположим, нам нужно развернуть две службы сервера. Для этого нам нужно определиться со следующими параметрами:
Имена служб - строки, которые отображаются в колонке «Имя» в диспетчере служб. Помимо отображения по имени производятся все манипуляции со службой через sc.exe по этому рекомендуется с имененм не мудрить и придумывать его максимально кратким и емким безо всяких спецсимволов
В каких каталогах будут хранить свои данные службы. Теоретически можно каталог не указывать и тогда обе службы будут «раздавать» один и тот же каталог и к каждому хранилищу можно будет обратиться из обеих служб одновременно.
На каких портах будут ожидать соединения обе службы. Службе сервера хранилища нужен один основной порт и диапазон из 31-го порта для работы. По умолчанию эти значения равны 1542 и 1560:1591. У разных экземпляров службы эти значения обязательно должны быть разные иначе работать будет только один экзепляр - тот, который успел запуститься раньше и открыть сокет на основаном порту.
Для примера предположим, что:
имена наших двух служб - 1ccrrep-release и 1ccrrep-trunk
каталоги (соответственно) - C:\1crepository\release и C:\1crepository\trunk
и порт+диапазон для каждой службы - 1642+1660:1691 и 1742+1760:1791
Командная строка для создания каждой из этих служб будет выглядеть вот так:
C:\>sc create "1CCRREP-RELEASE" binPath= "C:\Progra~2\1cv82\8.2.16.368\bin\crserver.exe" -srvc -port 1642 -range 1660:1691 -d C:\1crepository\release" start= auto displayname= "Сервер хранилища 1С (release)" C:\>sc create "1CCRREP-TRUNK" binPath= "C:\Progra~2\1cv82\8.2.16.368\bin\crserver.exe" -srvc -port 1742 -range 1760:1791 -d C:\1crepository\trunk" start= auto displayname= "Сервер хранилища 1С (trunk)"
cmd.exe, естественно, следует запускать от имени администратора и данные команды предполагают развертывание сервера хранилища 8.2.16.368. Progra~2 - это «Programm files (x86)».
Также следует отметить, что если используется IIS, то обращение к серверам хранилищ нужно реализовать через отдельные веб-приложения, причем у них должны быть указаны разные пулы приложений (например, DefaulAppPool и DefaulAppPool2). Если этого не сделать, то одновременно будет работать только один сервер хранилищ (к которому было первое обращение), а второй будет выдавать ошибку.
Что дает и чего не дает сервер хранилища 1С
Для того, чтобы внести чуть больше полноты в картину данной статьи, следует перечислить весь страх и ненависть все положительные и отрицательные стороны использования серверного хранилища.
Плюсы серверного хранилища
Порядок следования пунктов соответствует порядку, в котором они пришли в голову автору данной статьи, значимость плюсов каждый читатель определит для себя сам:
Изоляция данных от интерфейса. Разработчики «видят» только службу – ни с файлом хранилища, ни с его каталогом, они не могут сделать ни чего, кроме того, что им положено в соответствии с правами в хранилище. В файловой версии хранилища права на шару одни, а на хранилище другие: например, у пользователя, который просто есть в хранилище, но даже захватить ни чего прав не имеет, все равно должен быть полный доступ в шару, то есть он может и всякого мусора рядом с 1cd навалить, и файл повредить, и скопировать все хранилище куда угодно. Кроме того это упрощает подключение к хранилищу всякого рода удаленных разработчиков – для работы с хранилищем им достаточно открыть несколько tcp портов и можно не пускать их в свою внутреннюю сеть, а служба crserver уже не позволит им в 1cv8ddb.1CD сделать что-либо, кроме того, что можно сделать конфигуратором. Максимум - всяких левых хранлищ могут насоздавать в каталогах рядом, но это горе не большой беды, как говорится. Кроме того служба сервера гарантирует, что к хранилищу невозможно подключиться ни каким релизом платформы, отличным от релиза самой службы сервера. То есть ни кто злонамеренно или от разгильдяйства боевое хранилище случайно не сконвертирует под какой-нибудь тестовый новый релиз 8.3, 8.4 или даже 9.0 - crserver просто не пустит неправославных клиентов.
Независимость от фактического места хранения файла 1cv8ddb.1CD - можно перемещать файл и менять внутреннюю структуру каталогов и при этом у пользователей хранилища строка подключения не изменится – знай только меняй параметр -d у службы crserver. В принципе у файлового хранилища то же самое возможно, но в случае, когда хранилищ много от разных ИС, может быть так, что и не всегда получится. Или, если у всех хранилищ изначально один каталог, то разнести по разным без изменения строки подключения в файловом варианте уже не возможно.
Использование серверной мощи для операций с хранилищем. Все операции по чтению и записи в 1cv8ddb.1CD производятся службой crserver и процессором той машины, на которой она работает. В файловом варианте все операции делает процессор клиента.
Нюанс в 8.2
В 8.2.* crserver является однопроцессорным приложением. Отсюда вытекает ряд неприятных минусов, о которых ниже. В 8.2 минусы серверного хранилища по сравнению с файловым целиком и полностью произрастают из последнего «плюса». Служба crserver сама ни чего полезного не делает – она всего лишь ретранслятор запросов от клиентов. Именно по этому версия crserver должна в точности совпадать с версией клиента. И именно по этому можно расшарить каталог службы и обращаться к хранилищу и как к файловому, и как к серверному. Более того, можно даже развернуть две службы crserver, натравить их на один и тот же каталог и из двух параллельных служб всё – захваты, помещение, чтение и так далее – будет работать так же, как с одной службой или без служб вообще. Итак, вот они, «минусы»:
Однопроцессорность crserver"а. Служба crserver умеет работать только с одним процессором, по этому она, конечно, будет использовать мощу сервера, но только один процессор. Если пользователей много, то она выстроит их в очередь к ресурсам одного процессора сервера вне зависимости от того, сколько еще процессоров на сервере спят.
Немногопользовательскость или «хайлоад? не, не слышал». Не смотря на то, что само по себе хранилище – это средство командной разработки, сервер хранилища не является таким средством. Это не более, чем средство сокрытия физического местарасположения файла 1cv8ddb.1CD от пользователей. Если имеется несколько раных хранилищ и количество разработчиков больше 10, то для нормальной работы на каждое хранилище нужна отдельная своя служба crserver. Потому, что служба ограничивается вычислительными ресурсами одного процессора и еще почему-то, что забито костылями в код этой службы – практический опыт автора статьи перевода некольких хранилищ со 100+ пользователей всего и 30+ параллельных на серверный вариант показал падение производительности на тех хранилищах, которые до этого перевода ни когда не тормозили потому, что маленькие (1cv8ddb.1CD до 500МБ). Потому, что пользователи даже маленьких хранилищ выстраиваются в одну общую очередь к одному процессору в скудном количестве потоков (task manager показывает чудовищное несоответствеи количества живых коннектов к crserver.exe и количества потоков, созданных процессом – на 23 коннекта было создано 7 потоков в ходе наблюдений в боевых условиях, проведенных автором статьи)
Выводы
На пратформе 8.2 служба crserver в виду своей однопроцессорности и эдакой «немного поточности» не является средством коллективной разработки. Она является средством предоставления доступа к хранилищу по набору абстрактных tcp-портов, чтобы не давать доступа клиентам ни к ftp, ни к cifs или smb (вот тебе, удаленный Вася, 32 tcp-порта, развлекайся на все деньги). Для больших команд не имеет смысла использовать серверное хранилище ни зачем, кроме как для предоставления ограниченного доступа удаленным разработчикам. Хотя последние разведданные недвусмысленно иллюстрируют, что лучше об этом даже не думать.
Однако в 8.3 crserver внезапно стал многопроцессорным. Достоверной информацией, с которого именно релиза началось многопроцессорное счасчастье, автор статьи не располагает - поиск в changelog"ах на эту тему результатов не дал но достверно известно и подтверждено экспериментально, что уже на 8.3.4.408 crserver грузит все процессоры, какие есть в системе.
Хранилище конфигурации в 1С 8.2 и 8.3 — это инструмент для групповой разработки решения, встроенный в платформу 1С: Предприятие 8. Хранилище позволяет вести многопользовательскую разработку решений неограниченным количеством пользователей. С его помощью можно увидеть полную историю разработки конфигурации и каждый шаг разработчиков в подробностях.
Рассмотрим настройки и работу с хранилищем конфигурации подробнее.
Хранилище, по сути, это база данных, где хранятся изменения конфигурации. Каждый из разработчиков работает со своей информационной базой, подключенной к хранилищу. Рабочая база так же может быть подключена к хранилищу. Лучше всего общая схема изображена на этой картинке:

Так же в этой БД хранится информации о том, кем захвачен тот и или иной объект. Захват объекта — это метка, устанавливаемая разработчиком. Установленный захват позволяет избежать коллизий при групповой разработке. Пока объект захвачен, никто не может его редактировать.
Захватить можно как объект целиком (рекурсивно), так и отдельно объект или формы.
После того как разработчик произвел какие-то действия над объектом, он обязан поместить доработки в хранилище. И тем самым снять пометку о том, что объект захвачен.
Как создать хранилище 1С
Создать хранилище достаточно просто, для этого необходимо выбрать в меню «Конфигурация — Хранилище конфигурации» пункт «Создать хранилище». В появившемся меню достаточно указать путь к будущему расположению хранилища и логин/пароль пользователя-администратора:

При создании сделайте обязательно резервную учетную запись с административными правами — очень часто это выручает.
Как подключиться к хранилищу 1С
Чтобы подключиться к хранилищу конфигурации, нужно выбрать в меню в меню «Конфигурация — Хранилище конфигурации» пункт «Подключиться к хранилищу». В появившемся окне необходимо указать путь к хранилищу и логин/пароль пользователя, нажать «Подключиться»:
Получите 267 видеоуроков по 1С бесплатно:

В момент подключения Ваша конфигурация заменится конфигурацией из хранилища, будьте внимательны.
Администрирование хранилища конфигурации 1С
Для администрирования хранилища 1С необходимо выбрать в меню конфигурации следующий пункт — «Конфигурация — Хранилище конфигурации — Администрирование»:

- На вкладке «Пользователи» можно добавить или удалить новых пользователей, а также определить состав прав для каждого из них.
- На вкладке «Подключения» можно просмотреть всех пользователей, подключившихся к хранилищу, по необходимости отключить их.
- На вкладке «Отмена захвата» Вы можете снять захват любого пользователя на определенный объект, если конечно же Вы имеете права на это.
Как просмотреть историю хранилища 1С
Для просмотра истории надо зайти в меню «Конфигурация — Хранилище конфигурации», выбрать пункт «История хранилища»:

В истории хранилища 1С можно увидеть, когда, кем и что было изменено.
Разработка с хранилищем 1С 8.3
Работу с хранилищем условно можно разделить на основные действия:
- конфигурации из хранилища конфигурации 1С;
- обновить статусы хранилища 1С;
- захват в хранилище;
- помещение в хранилище.
Остановимся подробнее на каждом действии:
Обновить статусы хранилища 1С
Производит получение последних статусов объектов (захвачен или нет).
Вызывается: «Конфигурация — Хранилище конфигурации — Обновить статусы».
Обновление конфигурации из хранилища конфигурации 1С
Действие позволит получить все измененные объекты конфигурации, которые были помещены в хранилище. Выполнение данной команды так же обновляет статусы объектов.
Вызывается: «Конфигурация — Хранилище конфигурации — Обновить конфигурацию из хранилища».
Захват в хранилище конфигурации 1С
С помощью этой команды можно заблокировать изменение данного объекта для других разработчиков: пока объект захвачен Вами, никакой пользователь не может изменить его до тех пор, пока Вы не поместите объект обратно.
Произвести захват можно, вызвав правой кнопкой контекстное меню у объекта метаданных:

В открывшемся окне можно установить некоторые настройки:
- Выполнять рекурсивно — позволяет захватить все подчиненные объекты — формы и т.д.
- Разрешать получать захваченные — позволяет получать другим пользователям промежуточные версии объекта

Помещение в хранилище 1С
После изменения объекта его необходимо поместить обратно в хранилище, делается это так же, как захват, только выбирается пункт «Поместить в хранилище»:

При помещении обязательно заполняйте поле «комментарий», это очень важно при групповой разработке. Через полгода Вы и не вспомните, зачем производили те или иные действия. Так же, как у захвата, у помещения есть свои специфичные настройки:
- Выполнять рекурсивно — позволяет поместить все подчиненные объекты — формы и т.д.
- Оставить захваченными — позволяет поместить «промежуточную» версию объекта, оставив при этом захват пользователем
Как добавить новый объект в хранилище 1С
Основные этапы запуска удаленного хранилища конфигураций 1С 8 на сервере, на котором планируется установить сервер удаленного хранилища 1С 8 :
1. Установка 1С предприятия.
При установке платформы необходимо отметить следующие компоненты:
- Сервер 1С:Предприятия 8.1
- Адаптер web-сервисов 1С:Предприятия 8.1 (он понадобится для обеспечения доступа к серверу хранилища из интернета)
- Сервер хранилища конфигурации.
1.1 Устанавливаем сервер хранилища как сервис, для этого нужно выполнить следующую команду:
"C:\Program Files\1cv81\bin\crserver.exe" -instsrvc -d "D:\WebRepo\"
- в ключе -d нужно указать путь к папке где будут храниться ваши хранилища.
2. Настройка поддержки WEB-сервисов.
В рамках данной статьи рассмотрим веб-сервер IIS 6.0(используется для Windows Server 2003).
Таблица соответствия версий IIS и ОС семейства Windows
Для настройки поддержки web-сервисов необходимо сделать следующее:
- Необходимо зарегистрировать менеджер веб-сервисов: Start---Run "C:\Program Files\1cv81\bin\wsinst.exe" -iis.
- В C:\Inetpub\wwwroot создаем каталог с именем appstorage1C
- Создание прав на использование веб-сайтов. Открытие IIS / Веб-узлы / Веб-узел по умолчанию (правой кнопкой мыши) Свойства
- Создание приложения IIS на основе виртуального каталога. Открытие IIS / Веб-узлы / Веб-узел по умолчанию / appstorage1C (правой кнопкой мыши) Свойства / Каталог / кнопка Создать
- Проверка правильности указания пользователя для работы с IIS и флага анонимности. Открытие IIS / Веб-узлы / Веб-узел по умолчанию / appstorage1C (правой кнопкой мыши) Свойства / Безопасность каталога
- Настройка отображения расширений.1cws и.1crs (+ .1ccr) на wsisapi.dll. Открытие IIS / Веб-узлы / Веб-узел по умолчанию / appstorage1C (правой кнопкой мыши) Свойства / Каталог / кнопка Настройка.
Обязательно указываем путь к исполняемому файлу в кавычках если имеется пробел в данном пути!!!
- Добавление MIME типов 1C:Предприятия в настройки HTTP заголовков виртуальной директории Web-сервисов (расширения.1cws и.1crs (+ .1ccr), Mime тип text/xml). Открытие IIS / Веб-узлы / Веб-узел по умолчанию / appstorage1C (правой кнопкой мыши) Свойства / Заголовки HTTP
- Разрешение запускать wsisapi.dll на IIS. (если не создано - в расширениях Web-сервисов IIS добавить wsisapi.dll как расширение Web-сервисов и разрешить ему запуск). Проверить имеется ли в наличии и при отсутствии создать:
- Настройка прав пользователей на каталог исполняемого файла "C:\Program Files\1cv81\bin" 2-х учетных записей IIS
Для корректной работы нужно сделать "Port Forwarding / Port Triggering" портов 8080(+ 80) и 443 на сервер хранилища.
На данном рисунке представлены настройки роутера D-link. В данном случае 192.168.15.2 - сервер хранилища конфигурации.
3. Публикация конфигурационного файла веб-сервиса.
Нашему веб-сервису для корректной работы с сервером хранилища конфигураций необходим конфигурационный файл. Его нужно поместить в виртуальный каталог, который мы создали ранее, а выглядеть он должен вот так:
Это файл в формате XML с расширением 1ccr, с единственным узлом и атрибутом connectString - в этом атрибуте необходимо указать адрес нашего сервера хранилища конфигурации в сети. В нашем случае мы не разделяли сервер хранилища и IIS, поэтому указываем имя компьютера, на котором мы проделываем все эти действия. Назовем наш файл repository.1ccr.
4. Создание хранилища.
При запуске агента сервера хранилища конфигураций будет создан каталог"D:\WebRepo\" - это каталог хранилищ конфигураций. Если не указывать путь при регистрации сервера(как в пункте 1.1), то хранилище по умолчанию будет создано в каталоге %APPDATA%\1C\1Cv81\ maincr.
Для создания уделенного хранилища, необходимо из режима "Конфигуратор"(Конфигурация / Хранилище конфигурации / Создать хранилище...) создать новое хранилище, только указать в качестве каталога адрес нашего сервера:
<Имя виртуального каталога>/<Имя конфигурационного файла>/<имя хранилища>
Вот пример: http://78.45.99.183/appstorage1C/repository.1ccr/MyRepo. Но мы рекомендуем создавать хранилище соответствующей конфигурации непосредственно на сервере, на котором располагается сервер хранилищ конфигураций, так как это будет быстрее.
5.Подключение к хранилищу.
Подключаемся к хранилищу стандартными средствами, только в качестве каталога указываем адрес нашего сервера
http://78.45.99.183/appstorage1C/repository.1ccr/MyRepo
Компания 1С выпускает множество программных продуктов и постоянно совершенствует их внутреннюю структуру. Но количество разнообразных ошибок, с которыми приходится сталкиваться программистам и администраторам 1С, показывает, что в этой области работа никогда не остановится. Некоторые из этих ошибок незначительны и встречаются редко, но бывают «классические» недостатки, знакомые каждому опытному специалисту. К ним последним относится известная ошибка «Неверный формат хранилища данных» и желательно уметь ее решать.
Решение ошибки формата хранилища данных
Чтобы встретиться с этой ошибкой, совсем не обязательно допускать серьезные логические погрешности в коде или удалять основной модуль. Часто после обновления конфигурации, открытии обработки, отключения электричества или перезагрузки компьютера при запуске 1С возникает этот неприятный сюрприз. Если перезагрузка не помогла, не паникуйте – у распространенной ошибки есть простые решения, которые могут помочь. Разбирать их будем по степени усложнения:

Кроме момента запуска конфигурации ошибка «Неверный формат хранилища данных» может обнаружиться и при открытии внешней обработки. В таком случае самое главное – не запускать 1С, так как при старте система затирает временные файлы в каталоге TMP. Именно в нем найдите нашу обработку – файл с именем «v8_*» и расширением tmp. Если таких файлов много, то чтобы понять, какой из них наша обработка – измените расширение на epf и попробуйте открыть через 1С.
Если вы уже запускали 1С и файлы затерты, то попробуйте провести аналогичные действия на другом компьютере, где запускалась обработка. Или воспользуйтесь утилитами для восстановления удаленных файлов на жестком диске.