Пользователь существующей связи отличается от текущего

Пользователь существующей связи отличается от текущего

Иногда при использовании хранилища 1с случается увидеть следующее сообщение: «Ошибка аутентификации. Пользователь уже аутентифицирован в хранилище«

При попытке отключить пользователя от хранилища видим другое сообщение: «Невозможно отключить пользователя, работающего с хранилищем!«

Выйти из ситуации можно закрыв на сервере приложений открытые файлы из папки с хранилищем.

Меню: Computer ManagementSystem toolsShared foldersOpen files

Office 365, AD, Active Directory, Sharepoint, C#, Powershell. Технические статьи и заметки.

1С. Пользователь существующей связи отличается от текущего. Ошибка подключения к хранилищу

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

В нашем случае ошибка возникла при следующих действиях:

  1. Администратор создал хранилище из своей локальной базы, поместив его в сетевую папку.
  2. Администратор создал пользователей хранилища.
  3. Администратор сделал выгрузку конфигурации в файл dt для разработчиков.
  4. Разработчик загрузил выгрузку себе локально.
  5. Разработчик начал подключаться к хранилищу, введя логин-пароль пользователя хранилища, который выдал администратор, и получил данное сообщение об ошибке.

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

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

А затем нужно снова подключиться и ввести уже свой логин-пароль: "Конфигурация" — "Хранилище конфигурации" — "Подключиться к хранилищу".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Данные режимы отличаются друг от друга как набором функциональности, предоставляемой платформой "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 в окне сообщений будет выведена следующая информация:Копировать в буфер обмена

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

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

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

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

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

    Ссылка на основную публикацию
    Adblock detector