1с файловая база настройка
Пытались настроить работу 1С по локальной сети, но ничего не получилось? Тогда Вы попали именно туда, куда нужно!
Как Вы знаете или только сейчас услышали, существует два вида баз данных 1С:
· Клиент-серверная база данных
· Файловая база данных
И в нашей статье мы поговорим о файловой базе данных 1С.
1. Файловая база данных
В наш век компьютеризации сложно представить, что у компании нет возможности установить удаленный сервер, и пользователям приходится работать в одной локальной сети. И для нормальной работы пользователей в нашей базе данных необходимо настроить доступ на уровне локальной сети.
Итак, давайте рассмотрим такую ситуацию. Компания занимается продажей автомобильных запчастей, используется соединение компьютеров в локальную сеть при помощи сетевого кабеля. В базе должны работать 10 человек: директор, главный бухгалтер, бухгалтер, системный администратор, 3 менеджера по продажам и 3 менеджера по закупкам. На всех компьютерах стоит Windows 10.
Компания, на первый взгляд, преуспевающая и возможность приобрести сервер должна быть, но его нет.
2. Настройка общего доступа к папке
Наша 1С информационная база данных находится на компьютере системного администратора, который постоянно включен. Для того чтобы предоставить доступ, необходимо совсем немного – всего лишь знания.
Для начала на всех компьютерах необходимо не что иное, как установить платформу 1С, где она еще не установлена. Если необходимая версия платформы стоит на всех ПК, идем дальше. Также хочу уточнить, что версия платформы на всех ПК должна быть одинаковая.
Следующий шаг у нас - настройка общего доступа к папкам. С учетом того, что у нас Windows 10, нам необходимо зайти сначала в «Панель управления». Для этого необходимо, к примеру, открыть «Мой компьютер» и в верхней строке адреса папки нажать стрелку в сторону и вам откроется быстрое меню перехода (см. скрин).
Так как нам необходимо настроить общий доступ, то переходим в панель управления. В открывшемся окне пункт «Сеть и Интернет». После выбираем «Центр управления сетями и общим доступом» Windows. После того как мы попали в «Центр», необходимо выбрать пункт «Изменить дополнительные параметры общего доступа» на боковом меню «Центра».
В открывшемся окне, необходимо установить настройки такие же, как и на скриншоте, а именно включить общий доступ к файлам и принтерам, а также включить сетевое обнаружение.
3. Параметры общего доступа
Итак, самое сложное позади. Осталось самое легкое – открыть общий доступ к папке с базой.
К примеру, она находится на «Локальном диске (E:)» в папке «Base». Когда мы знаем местоположение файловой базы данных, открываем доступ к ней. Для этого выбираем нашу папку и вызываем ее свойства (выделяем папку и кликнем правой кнопкой мыши, появляется контекстное меню папки, выбираем пункт «Свойства»). Нам открылось окно с информацией о папке и множеством вкладок. Но нас интересует только одна, а именно «Доступ». Перейдя на нее, видим кнопку «Общий доступ». Нажимаем ее, и перед нами открывается окно, в котором мы можем выбрать, кому необходимо предоставить доступ к данной папке и настроить общий доступ к папкам. Лучше всего выбрать вариант «Все» и после нажать «Добавить». В списке пользователей, которым доступна эта папка, появится новая запись. В колонке «Уровень разрешений», необходимо установить значение «Чтение и запись». Без такого значения запуск информационной базы 1С будет невозможен.
Вот и подошли мы к концу нашего увлекательного путешествия по настройке работы 1С по локальной сети. Теперь остался только один момент: на каждом компьютере добавить базу примерно с таким адресом «File="\\Админ\E:\Base";»
После этого все пользователи могут без проблем выполнять свою работу в файловой базе данных.
Специалист компании ООО «Кодерлайн»
Вас могут заинтересовать следующие статьи:
В этом варианте работы пользователь, в общем случае, взаимодействует с информационной базой по следующей схеме:
Файловая информационная база расположена на компьютере в локальной сети.
Пользователь запускает тонкого клиента. На компьютере пользователя исполняется код на встроенном языке в контекстах клиента и сервера. Тонкий клиент создает на компьютере пользователя специализированную серверную среду.
Развертывание, запуск и отладка
Чтобы развернуть такой вариант работы на своем компьютере, вам понадобится установить на нем платформу «1С:Предприятие 8».
-
новую файловую базу; ее конфигурацию в новый проект; в проект нужные вам объекты конфигурации и алгоритмы; тонкого клиента, имитируя работу пользователя.
Для отладки в этом варианте работы дополнительная настройка не требуется (подробнее).
Когда конфигурация готова, вы можете создать CF-файл конфигурации, DT-файл информационной базы, собрать их в комплект поставки и создать дистрибутив (подробнее).
Установка платформы «1С:Предприятие 8»
Для разных операционных систем минимальный набор компонентов следующий:
- common ;
- client ;
- server (т. к. client зависит от server ).
При запуске 1C:EDT самостоятельно находит и добавляет в свои настройки все версии платформы, которые установлены на компьютере. Если этого не произошло или если вы устанавливали платформу в то время, когда 1C:EDT была запущена, вы можете самостоятельно добавить новую версию платформы в параметрах 1C:EDT .
Другой вариант развертывания
Если вы работаете в локальной сети, вы можете создать информационную базу на компьютере в локальной сети.
Предупреждение: В операционной системе macOS такой вариант развертывания невозможен, т. к. не поддерживается работа клиентского приложения с файловой базой, если она расположена на сетевом ресурсе - Особенности работы клиентского приложения под управлением macOS.
Файловый вариант работы — один из вариантов работы системы «1С:Предприятие 8». Файловый вариант работы рассчитан на персональную работу одного пользователя или работу небольшого количества пользователей в локальной сети.
В этом варианте все данные информационной базы (конфигурация, база данных, административная информация) располагаются в одном файле — файловой базе данных. Работу с этой базой данных осуществляет файловая СУБД, разработанная фирмой «1С» и являющаяся частью платформы.
Такой вариант работы обеспечивает легкость установки и эксплуатации системы. При этом для работы с информационной базой не требуются дополнительные программные средства, достаточно иметь операционную систему и «1С:Предприятие 8».
Файловый вариант работы обеспечивает целостность информационной базы и простое создание резервных копий. Исключена ситуация, когда пользователь может по ошибке (например, при копировании информационной базы) перепутать различные файлы информационной базы и привести, таким образом, систему в неработоспособное состояние.
Резервное копирование может осуществляться на файловом уровне, путем простого копирования файла информационной базы.
При работе в файловом варианте, за счет использования механизма транзакций, платформа «1С:Предприятия 8» минимизирует риск нарушения целостности данных при сбоях компьютеров и локальной сети. Однако, разумеется, использование клиент-серверного варианта обеспечивает большую надежность, так как в нем обеспечивается полная независимость записи данных на сервере от сбоев клиентских компьютеров и локальной сети.
Утилита тестирования и исправления файловой базы данных
В дистрибутив платформы входит утилита, предназначенная для тестирования и исправления файловой базы данных после сбоев. Подробнее…
Техническая архитектура файлового варианта работы
Работа с файловой базой данных напрямую
Работа с файловой базой данных напрямую возможна с помощью тонкого клиента или толстого клиента.
Если используется толстый клиент, то он сам реализует всю функциональность файловой СУБД.
Если используется тонкий клиент, то на компьютере, где запущен сам тонкий клиент, организуется специализированная серверная среда.
- загрузка необходимых для работы системы серверных компонентов,
- загрузка конфигурации,
- другие действия, необходимые для организации нормальной работы системы с информационной базой.
С точки зрения тонкого клиента, данная среда выступает в роли сервера. С точки зрения операционной системы, данная специализированная среда не выделена в отдельный процесс и выполняется в рамках процесса тонкого клиента.
Работа с файловой базой данных через веб-сервер
Работа с файловой базой данных через веб-сервер возможна с помощью тонкого клиента или веб-клиента.
В этом случае модуль расширения веб-сервера создает аналогичную серверную среду на веб-сервере для каждой информационной базы.
Прямо в адресное пространство веб-сервера загружается компонент для работы с файловой базой данных и сами данные информационной базы. При этом нагрузка на веб-сервер значительно возрастает, а пользователи одной информационной базы не имеют возможности работать параллельно. Все их запросы к базе данных выстраиваются в одну очередь.
По этой причине такой вариант работы является скорее тестовым. Чтобы, например, попробовать, как информационная база работает через веб-сервер, с веб-клиентом. В качестве рабочего такой вариант, наверное, можно использовать в особенных случаях для очень небольших рабочих групп.
В этой статье мы рассмотрим проблему с получением монопольного доступа, которая возникает при обслуживании файловых баз 1С, опубликованных на веб-сервере (IIS или Apache).
Эта проблема возникает только для файловых баз, когда веб-сервер может блокировать монопольный доступ к базе данных даже, если все пользователи покинули базу.
Монопольный доступ бывает нужен при архивации файловой базы (если вы не используете возможности теневого копирования) или, например, при таких операциях как обновление и тестирование базы.
База опубликована на веб-сервере IIS
При публикации файловых баз на IIS я рекомендую заводить под каждую базу отдельный пул приложений. В этом случае для получения монопольного доступа к конкретной базе нам достаточно будет остановить лишь конкретный пул приложений, вместо того, чтобы останавливать работу всего веб-сервера. При таком сценарии работа остальных баз, опубликованных на этом веб-сервере затронута не будет.
Как добиться создания отдельного пула под каждую базу (iis)
База публикуется при помощи обновлятора (iis)
В настройках публикации установите опцию "Использовать индивидуальный пул приложений (iis)":
В этом случае обновлятор после публикации будет сам создавать пул приложений на веб-сервере IIS с именем публикации базы, а затем прописывать этот же пул в настройках самой базы на веб-сервере IIS.
База публикуется вручную (iis)
Зайдите в диспетчер служб IIS:
Создайте новый пул приложений, не забыв установить свойство "Версия среды .NET Framework" в значение "Без управляемого кода".
Пропишите этот пул в свойствах базы:
Как блокировать базу (iis)
Для корректной блокировки нам нужно сначала выгнать всех пользователей и только затем остановить пул приложений базы.
Внимание. Сразу рекомендую вам зайти в свойства файловой базы и ознакомиться с опцией "Способ блокировки" на закладке "Общие". В случае публикации на веб-сервере я рекомендую установить это значение в "С подключением если занята". Внимательно прочитайте подсказку к этой опции.
Зайдите в свойства базы, закладка "События", закладка "После блокировки":
Событие "После блокировки" (в отличие от события "Перед блокировкой") возникает уже после того, как обновлятор попытался выгнать пользователей из базы. Поэтому именно здесь следует написать скрипт для остановки пула приложений нашей базы.
Здесь возможны следующие варианты.
Обновлятор установлен на том же компьютере, что и веб-сервер iis
В этом случае нажмите на ссылку "обновлятор" на панеле скрипта и выберите из меню "Методы"-"Остановить пул приложений (для веб-сервера iis)":
В редактор вставится следующий скрипт:
Этой командой мы просим обновлятор остановить пул приложений с определенным именем на веб-сервере iis. Мы можем здесь или указать нужное имя (параметр name), либо оставить его пустым и тогда обновлятор возьмёт имя пула приложений из настроек публикации базы.
Для разблокировки базы на закладке "После разблокировки" выберем меню "Методы"-"Запустить пул приложений (для веб-сервера iis):
В редактор вставится следующий скрипт:
Этой командой мы просим обновлятор запустить пул приложений с определенным именем на веб-сервере iis. Мы можем здесь или указать нужное имя (параметр name), либо оставить его пустым и тогда обновлятор возьмёт имя пула приложений из настроек публикации базы.
Обновлятор и веб-сервер iis установлены на разных компьютерах
В этом случае вам придётся самостоятельно реализовать скрипты для остановки и запуска нужного пула приложений. Если вы поделитесь своими наработками - я с благодарностью опубликую их в этом месте.
База опубликована на веб-сервере APACHE
При публикации файловых баз на APACHE я рекомендую заводить отдельный экземпляр веб-сервера под каждую базу, чтобы была возможность останавливать веб-сервер конкретной базы без нарушения работы других баз.
Как блокировать базу (apache)
Для корректной блокировки нам нужно сначала выгнать всех пользователей и только затем остановить пул приложений базы.
Внимание. Сразу рекомендую вам зайти в свойства файловой базы и ознакомиться с опцией "Способ блокировки" на закладке "Общие". В случае публикации на веб-сервере я рекомендую установить это значение в "С подключением если занята". Внимательно прочитайте подсказку к этой опции.
Зайдите в свойства базы, закладка "События", закладка "После блокировки":
Событие "После блокировки" (в отличие от события "Перед блокировкой") возникает уже после того, как обновлятор попытался выгнать пользователей из базы. Поэтому именно здесь следует написать скрипт для остановки веб-сервера нашей базы.
Здесь возможны следующие варианты.
Обновлятор установлен на том же компьютере, что и веб-сервер apache (windows)
В событии "После блокировки" нужно прописать скрипт для остановки службы, соответствующей экземпляру APACHE нашей базы.
Вот пример такого скрипта:
Вместо ApacheServiceName у вас будет своё имя службы.
Если же этот скрипт уже прописан в настройках веб-публикации базы, то для его вызова достаточно вызывать команду обновлятора:
Соответственно в событии "После разблокировки" укажем:
Обновлятор и веб-сервер apache (windows) установлены на разных компьютерах
В событии "После блокировки" нужно прописать скрипт для остановки службы, соответствующей экземпляру APACHE нашей базы.
Вот пример такого скрипта:
Вместо ApacheServiceName у вас будет своё имя службы. Вместо pc укажите сетевое имя компьютера, на котором установлен веб-сервер.
Так как вызов команды sc несинхронный, мы вынуждены вставить вставить некоторую паузу, чтобы дождаться окончательной остановки сервиса. В данном случае я создал паузу в 60 секунд при помощи команды ping.
Если же этот скрипт уже прописан в настройках веб-публикации базы, то для его вызова достаточно вызывать команду обновлятора:
Соответственно в событии "После разблокировки" укажем:
Обновлятор и веб-сервер apache (другие ОС) установлены на разных компьютерах
В этом случае вам придётся самостоятельно реализовать скрипты для остановки и запуска веб-сервера. Если вы поделитесь своими наработками - я с благодарностью опубликую их в этом месте.
Возможные трудности
Если обновлятор запускается под пользователем без прав администратора - необходимо дать пользователю разрешения на запуск и остановку служб, вот инструкция: ссылка.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Итак, ситуация. У нас есть файловая база, опубликованная через web-сервер (в нашем случае Apache), с которой мы хотим работать из обновлятора.
Для некоторых операций (обновление, архивация) требуется монопольный доступ к базе и с этой задачей прекрасно справляется типовой механизм освобождения базы от пользователей и регламентных заданий.
Но если база файловая и используется веб-сервером - требуется его остановка на время работы с базой, требующей монопольного доступа. Сегодня я расскажу как это делать из обновлятора автоматически.
Для этого заходим в свойства нужной базы:
Настраиваем блокировку
Переходим на закладку "События"->"Перед блокировкой" и пишем сюда следующий скрипт:
Что я делаю? Я останавливаю службу по имени Apache2.4, запущенную на сетевом компьютере tezis (этот тот компьютер, на котором крутится веб-сервер Apache).
После этого я жду 10 секунд, чтобы быть уверенным, что служба точно остановилась.
Если обновлятор запускается на том же компьютере, что и веб-сервер - команда остановки службы будет проще:
Настраиваем разблокировку
Для этого там же (в свойствах) переходим на закладку "После разблокировки" и пишем сюда скрипт для запуска службы, которую мы остановили при блокировке:
Если обновлятор запускается на том же компьютере, что и веб-сервер - команда запуска службы будет проще:
Проверяем в деле
Запустим архивацию, настроенной нами базы:
Видно, что в перед блокировкой базы служба Apache на компьютере с веб-сервером была остановлена.
Затем была осуществлена блокировка доступа к базе. Сделана архивная копия.
А в самом конце, после разблокировки доступа к базе, мы вновь запустили службу веб-сервера.
Возможные трудности
Если обновлятор запускается без прав администратора (а это нормальная ситуация, так обычно и делают) - на остановку и запуск службы веб-сервера может не хватить прав.
В этом случае вам может понадобиться дать пользователю разрешение на запуск и остановку служб. Вот инструкция: ссылка.
Спасибо одному из пользователей обновлятора - Андрей, спасибо - что разобрался с ситуацией и поделился решением.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Читайте также: