1С неверный формат хранилища данных

Платформа 1С:Предприятие 8
Средства конфигурирования
02.07.2013

Особенности работы с хранилищем конфигурации

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

Принцип работы

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

Гранулой редактирования — объектами разработки — являются все основные объекты метаданных (такие как справочники, документы, регистры сведений), а также формы и макеты. Объекты разработки могут редактироваться независимо друг от друга разными пользователями. Реквизиты, табличные часть и т.д. не являются отдельными объектами с логической точки зрения, поэтому они не были включены в состав объектов разработки. Данные объекты метаданных редактируются в составе своих родительских объектов, являющихся объектами разработки.

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

  • захват объекта в хранилище;
  • помещение объекта в хранилище;
  • получение объекта из хранилища;
  • отмена захвата в хранилище.

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

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

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

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

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

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

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

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

Режимы использования

Для работы с хранилищем конфигурации предусмотрено несколько способов:

  • с подключением информационной базы к хранилищу;
  • без подключения информационной базы к хранилищу.

Данные режимы отличаются друг от друга как набором функциональности, предоставляемой платформой "1С:Предприятие", так и своим предназначением.

Работа с подключением информационной базы к хранилищу

Этот режим является основным режимом работы с хранилищем. Он используется для групповой разработки конфигурации несколькими пользователями.

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

При подключении информационной базы к хранилищу в нем регистрируется строка соединения с информационной базой. Если при последующих соединениях с хранилищем данная строка будет изменена (по каким-либо причинам информационная база была перемещена на другой ресурс), то платформой будет выдано соответствующее предупреждение, и, в случае подтверждения соединения, строка соединения будет обновлена. Если соединение происходило копией информационной базы, то работа оригинала с данным хранилищем будет невозможна без предварительного отключения от него.

Работа без подключения информационной базы к хранилищу

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

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

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

  1. Создать новую информационную базу.
  2. Открыть хранилище конфигурации.
  3. Из хранилища конфигурации загрузить конфигурацию нужной версии.
  4. Заполнить информационную базу необходимыми данными.
  5. Подготовить дистрибутив конфигурации.
  6. В процессе модернизации конфигурации хранилища для выпуска новых дистрибутивов необходимо повторить процедуру, начиная с пункта 2, и, если новых данных вводить не требуется, сразу выполнить подготовку дистрибутива.

Режим совместимости хранилища конфигурации

Начиная с версии платформы 8.3.3, в хранилище добавлен режим совместимости. Режим совместимости позволяет старшим версиям платформы работать с хранилищами, созданными в младших версиях платформы (начиная с версии 8.3.2), без конвертации.

Режим совместимости можно установить в окне "Администрирование хранилища" на закладке "Прочие". На данный момент можно установить один из двух режимов совместимости: "Версия 8.3.2" и "Не использовать". При смене режима и нажатии кнопки "Установить" происходит конвертация базы данных хранилища конфигурации.

Особенности работы хранилища в режиме совместимости "Версия 8.3.2":

  • осуществляется строгий контроль ссылочной целостности при получении/помещении объектов;
  • объекты метаданных хранятся в базе данных хранилища;
  • режим устанавливается по умолчанию для существующих хранилищ конфигураций.

Особенности работы хранилища в режиме совместимости "Не использовать":

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

Контроль ссылочной целостности

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

Пример: удаление справочника Склады из демонстрационной конфигурации "Примеры ИТС":

  • происходит проверка имеющихся на этот объект ссылок в других объектах: Копировать в буфер обмена"Справочник.Склады" использован в: Документ.ПриходнаяНакладная.Реквизит.Склад.Тип Документ.РасходнаяНакладная.Реквизит.Склад.Тип РегистрНакопления.УчетНоменклатуры.Измерение.Склад.Тип
  • после удаления обнаруженных ссылок справочник Склады успешно удаляется из конфигурации, хотя ссылка на него по-прежнему имеется в интерфейсе Основной (кнопка Склады из подменю Справочники содержит действие "Склады: Открыть справочник") и формах документов ПриходнаяНакладная, РасходнаяНакладная (поля ввода, предназначенные для редактирования реквизитов Склад по-прежнему имеют тип СправочникСсылка.Склады).

В режиме совместимости "Версия 8.3.2" хранилище конфигурации обеспечивает более строгий контроль ссылочной целостности конфигурации.

Ошибка в консоли серверов "Не определен режим работы файлового хранилища"

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

Следствием этого факта является необходимость получения из хранилища (помещения в хранилище) объектов, так или иначе связанных с объектом, над которым непосредственно производится действие. Однако хранилище конфигурации производит анализ ссылок объекта и требует получения (помещения) дополнительных объектов только в случае необходимости.

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

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

Особенности конфигурирования

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

Как уже говорилось ранее, для получения возможности редактирования объекта необходимо произвести его захват в хранилище конфигурации. Если необходимо внести изменения в объект метаданных, не являющийся объектом разработки (реквизиты, табличные части), то необходимо произвести захват того объекта разработки, который содержит данные объекты метаданных.

Для добавления нового объекта метаданных или же для изменения порядка следования существующих объектов необходимо произвести захват родительского объекта разработки.

Удаление объектов конфигурации

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

Однако при помещении в хранилище, если на удаленный объект имеются ссылки в других объектах, средства работы с хранилищем потребуют помещение этих объектов в хранилище с очищенными ссылками на удаленный объект.

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

В режиме совместимости "Версия 8.3.2" после этого необходимо удалить все ссылки на удаляемый объект из форм, интерфейсов и макетов.

В режиме совместимости "Не использовать" удалять ссылки на удаляемый объект из форм, интерфейсов и макетов не требуется.

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

Пример: удаление справочника Склады из демонстрационной конфигурации "Примеры ИТС" в режиме совместимости хранилища "Версия 8.3.2":

  • Производим поиск ссылок на удаляемый объект: Копировать в буфер обмена"Справочник.Склады" использован в: Документ.ПриходнаяНакладная.Реквизит.Склад.Тип Документ.РасходнаяНакладная.Реквизит.Склад.Тип РегистрНакопления.УчетНоменклатуры.Измерение.Склад.Тип
  • Захватываем данные объекты и удаляем из них реквизиты, ссылающиеся на справочник Склады.
  • Захватываем интерфейс "Основной" и удаляем из него кнопку Склады из подменю Справочники с действием "Склады: Открыть справочник".
  • Захватываем корневой объект конфигурации и справочник Склады.
  • Удаляем справочник Склады из конфигурации.
  • Производим попытку помещения корневого объекта конфигурации в хранилище:

    После нажатия кнопки OK в окне сообщений будет выведена следующая информация: Копировать в буфер обменаОшибка помещения объектов в хранилище. Для выполнения операции необходимо поместить в хранилище объекты: — Документ.ПриходнаяНакладная.Форма.ФормаДокумента (объект не захвачен пользователем) — Документ.РасходнаяНакладная.Форма.ФормаДокумента (объект не захвачен пользователем)

  • Захватываем объекты, в которых обнаружены ссылки на удаленнный объект.
  • Производим попытку помещения корневого объекта конфигурации в хранилище.
    После подтверждения помещения объектов в хранилище будет выведено предупреждение об обнаружении ссылок на удаленный объект:

    При этом в окне сообщений будет выведена следующая информация: Копировать в буфер обменаОперация не может быть выполнена: Объект ‘Документ.ПриходнаяНакладная.Форма.ФормаДокумента’ содержит ссылки на удаленные объекты: — Справочник.Склады Объект ‘Документ.РасходнаяНакладная.Форма.ФормаДокумента’ содержит ссылки на удаленные объекты: — Справочник.Склады
    После утвердительного ответа на предложение об очистке от некорректных ссылок будет выполнена процедура очистки, сохранена конфигурация и вновь произведена попытка помещения объектов в хранилище:

    После нажатия кнопки OK в окне сообщений будет выведена следующая информация: Копировать в буфер обменаОбъект помещен в хранилище: ПримерыИТС Объект помещен в хранилище: Документ.ПриходнаяНакладная.Форма.ФормаДокумента Объект помещен в хранилище: Документ.ПриходнаяНакладная Объект помещен в хранилище: Документ.РасходнаяНакладная.Форма.ФормаДокумента Объект помещен в хранилище: РегистрНакопления.УчетНоменклатуры Объект помещен в хранилище: Интерфейс.Основной Объект помещен в хранилище: Документ.РасходнаяНакладная

  • Удаление справочника Склады завершено.

Пример: удаление справочника Склады из демонстрационной конфигурации "Примеры ИТС" в режиме совместимости хранилища "Не использовать":

  • Производим поиск ссылок на удаляемый объект:Копировать в буфер обмена"Справочник.Склады" использован в: Документ.ПриходнаяНакладная.Реквизит.Склад.Тип Документ.РасходнаяНакладная.Реквизит.Склад.Тип РегистрНакопления.УчетНоменклатуры.Измерение.Склад.Тип
  • Захватываем данные объекты и удаляем из них реквизиты, ссылающиеся на справочник Склады.
  • Захватываем корневой объект конфигурации и справочник Склады.
  • Удаляем справочник Склады из конфигурации.

  • Производим попытку помещения корневого объекта конфигурации в хранилище:

    После нажатия кнопки OK в окне сообщений будет выведена следующая информация:Копировать в буфер обменаОбъект помещен в хранилище: ПримерыИТС Объект помещен в хранилище: Документ.ПриходнаяНакладная Объект помещен в хранилище: РегистрНакопления.УчетНоменклатуры Объект помещен в хранилище: Документ.РасходнаяНакладная

  • Удаление справочника Склады завершено.

Таким образом, удаление объекта метаданных из конфигурации, разрабатываемой при использовании хранилища, требует аккуратности и внимательности.

Оптимизация хранения данных в хранилище конфигурации

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

есть файл ".epf", обыч. форма под 8.2, при открытии "неверный формат хранилища".

Я
   Вжескрыылг

для бух 2.0 . хелп!

 
 

   Aleksey

v8: Неверный формат хранилища данных при открытии внешней обработки

   ЧеловекДуши

Отладчик что пишет? 🙂

   Вжескрыылг

(0) кто поможет -симпа, пиво, водка, коньяк, деньги

   Вжескрыылг

(2) Неверный формат хранилища данных ‘file://D:/1С-базы.82/Автомотив/Бухгалтерия Томск/ЗагрузкаИзУправленческойБазы.erf’

   guitar_player

(4) файл криво записался. выкидывай и делай занова

   Вжескрыылг

(1) я уже неделю пробую делать все это…

   Вжескрыылг

(4) файл висел сохраненный, но тут вырубили свет..

   МаленькийВопросик

в 8.2.14 все зло…. 🙁

   Вжескрыылг

(8) пробовал открыть в 8.1

   Вжескрыылг

(0) кому выслать отчет, чтобы вылечил?

 
 

   aleks-id

выкладывай свой нетленный файл на какуюнить помойку типа депозита.

Не определен режим работы файлового хранилища

мож кто расковыряет

   Вжескрыылг

(11) фтп нет. надо мыло

   Вжескрыылг

(11) там всего 24к

   aleks-id

какой фтп. на файлопомойку лей. http://depositfiles.com

   John83

как-то сомневаюсь, что что-то получится, но все же интересно посмотреть на ход событий, а вдруг…

   Вжескрыылг

(14) сорри, gpon сгорел. слил в архиве базу и внешний отчет http://depositfiles.com/files/spk87xpyu. может, базу надо выло выгрузить?

   Azverin

ой, беда, беда, огорчение)

   Дядя Васька

(16) Ну ты церетелли ))

   БалбесВ1с

(16)Ты или больной или троль.Что за дебил с депозита 220 метров качать будет

   Вжескрыылг

тгда только внешний отчет http://depositfiles.com/files/qr6e9gru5

   aleks-id

так у тебя там одни нули

   Дядя Васька

(20) http://imageshack.us/photo/my-images/21/screenczu.jpg/
ну в общем ты понял…

   Escander

(22)в обоих архивах?

   dva1c В (7) полное объяснение, почему получается (4) и, соответственно, (21) (22)Да-а… Грустно…    Вжескрыылг

короче, всем симпы, пишу заново. единственное, как спастись от такого фэйла?

   Вжескрыылг

первый раз пишу внешний отчет на 8-ке, финальная стадия, проверил 9000over, записал. тут вырУбили свет — и ага? А КУДА ЕГО ЗАПИСАТЬ НАДО БЫЛО, В КОНФУ?

   Вжескрыылг

(22) да…

   Escander

(23)таки в обоих…
(26)имхо сохранять регулярно под разными именами типа как ЗагрузкаИзУправленческойБазы_1,… ЗагрузкаИзУправленческойБазы_N

   Невский

(25) UPS или как элемент конфигурации делай.

Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Бывают случаи, что при работе с программой 1С (независимо от конфигурации, будь это ЗУП, ERP или любая другая), возникает ошибка Неверный формат хранилища данных. Ошибка может возникнуть у одного пользователя и в любой момент времени: при работе или обновлении в конфигураторе, при запуске программы в режиме предприятия и т.д.

В это статье мы рассмотрим варианты устранения такой проблемы.

КЭШБЭК 20% ПРИ ПОКУПКЕ «1С:ПРЕДПРИЯТИЕ 8»

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

Как правило, проблема кроется в кеше 1С. Под кэш 1С подразумевается область на ПК, куда платформа 1С сохраняется в процессе работы файлы с данными. Так же причина может быть в нарушении целостности структуры информационной базы. Соответственно предлагаемые варианты решения проблемы это в первую очередь очистка кэша, если после ее выполнения ошибка сохраняется, то тестирование и исправление базы данных.

Очистка кэша 1С.

Выполнение очистки может быть выполнено разными способами, рассмотрим их.

Удаление базы из списка

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

Но при этом временные файлы так и будет засорять ваш ПК

Ручная чистка

Надо определить каталог хранения временных файлов 1С. Для этого в окне выбора информационных баз надо перейти в раздел Настройки. Интересующая нас информация отображается в поле каталоги шаблонов конфигураций и списки общих информационных баз.

В этом каталоге хранится список папок с временными файлами, формат папок такой "00000000-0000-0000-0000-000000000000", "fcb8342b-08bd-58b9-98f5-6d1cfae8f003". Их и надо удалить.

Такой вариант подходит, если ошибка Неверный формат хранилища данных в 1С 8.3 у пользователя возникает часто. Минус этого способа – замедляется работа системы и работает только при режиме запуска Тонкий клиент.

Надо в окне редактирования параметров информационной базы (открывается при выделении базы в списке и выбора команды Изменить) в поле Дополнительные параметры запуска прописать команду /ClearCache.

Тестирование и исправление

Так же ошибка Неверный формат хранилища данных в 1С 8.3 может обозначать нарушение структура данных. Для исправления потребуется выполнить тестирование. Возможно оно с помощью Утилита проверки и исправления файлов базы данных chdbfl или в конфигураторе.

Тестирование и исправление с помощью утилиты chdbfl.

Скачивать ее не надо, она должна храниться в папке с установленной программой в папке bin. Найдите в ПК путь к ней, например, C:\Program Files (x86)\1cv8\8.3.10.2580.

Особенности работы с хранилищем конфигурации

Скачивание утилиты из интернета чревато негативными последствиями.

Откройте утилиту, выберите базу для проверки (путь к ней можно посмотреть в окне списка выбора), установите флаг "Исправлять обнаруженные ошибки", если поправки нужно вносить сразу и нажмите Выполнить. В текстовом поле отобразиться информация о выявленных ошибках, ниже будут выведены итоги работы утилиты

Тестирование в конфигураторе.

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

Обсудить статью на 1С форуме?

  • Добавить свою публикацию
  • для этого требуется регистрация

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

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

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

А) Удалите пользовательский кэш той базы, которая не может подключиться к хранилищу. Удалить кэш – просто: можно, например, удалить базу данных из списка баз, а затем добавить снова.

Б) Если не помогло удаление кэша, перезагрузите компьютер. Как не смешно, но эта панацея от многих зол и здесь помогает.

В) Переподключитесь к хранилищу конфигурации.

Г) Проверьте, хватает ли свободного места на диске, где расположено хранилище.

Г) Наконец, воспользуйтесь утилитой исправления файловой базы. Только не забудьте предварительно сделать бэкап хранилища.

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

3)     При попытке помещения в хранилище изменений, связанных с удалением объекта (или его реквизита), система отказывается помещать их и требует поместить ещё другие объекты, которые Вы, может быть, даже и не изменяли или не захватывали. Чаще всего система требует поместить в хранилище интерфейсы и роли, так как они могут содержать ссылки на удаляемые объекты. Вы можете захватить требуемые роли и поместить их вместе с Вашими изменениями. Это может помочь, а может и не помочь: система потребует захватить другие. В любом случае Вам придется поиграться с захватом/помещением объектов или же: отменить удаление объекта, отключиться от хранилища, подключиться снова, захватить предварительно все интерфейсы, роли и объекты, в которых есть ссылки на удаляемый объект и опять попытаться удалить объект.

4)     Периодически возникает ошибка, содержащая фразу «Неверный формат данных..» Во-первых, проверьте, есть ли свободное место на диске, где расположено хранилище. Во-вторых, обновите платформу (такая ошибка была очень характерна для старых релизов 8.2). В третьих, может помочь остановка сервера 1С и чистка файла «С/programm files/1cv82/srvinfo/reg-1541/snccntx.dat» . В четвертых, постарайтесь в будущем не прибегать к рекурсивному захвату всей конфигурации, а, самое главное, не помещайте её затем рекурсивно в хранилище.

5)     При попытке помещения изменений в хранилище система сообщает о том, что превышен максимальный размер внутреннего файла. Ну что здесь сказать?

Ошибка при удалении информационной базы «Не определен режим работы файлового хранилища»

Следует периодически сжимать хранилище. Обязательно. Если же проблема уже настигла Вас, то самый простой вариант – создать новое хранилище и работать уже с ним. Понимаю, что многих такой расклад не устраивает, но ведь сами виноваты же…

6)     Иногда возникает ошибка, схожая с той, что описана в пункте 3. При обновлении конфигурации из хранилища или (реже) помещении объектов в хранилище система также предлагает поместить или захватить другие объекты, к которым Вы как бы и не причастны. Иногда сообщения системы еще менее логичны. В этой ситуации проверьте, не менялась ли недавно структура регистров сведений и есть ли эти изменения в Вашей базе. Если их нет, то проще всего — очистить регистр сведений и обновить конфигурацию из хранилища. Разумеется, такой способ подходит только для тестовых баз. В случае с рабочей базой, скорее всего, придется отключаться от хранилища и подключаться вновь.

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

8)     При подключении к хранилищу мы получаем сообщение «Текущая база не связана с хранилищем». Тут все просто: ранее Вы работали с хранилищем из другой базы. Отключитесь от хранилища и подключитесь опять.

Это, пожалуй, все (или почти все) наиболее распространенные коллизии, возникающие в процессе работы с хранилищем. Обратите внимание, что многие из таких коллизий решаются с помощью манипуляций с помещением/получением/захватом объектов или переподключений. Рекомендую перед началом таких манипуляций сохранять в файл свою конфигурацию.

 

предыдущие ()все

≡ к списку статей

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *