Как серверную базу 1с сделать файловой

Добавил пользователь Дмитрий К.
Обновлено: 19.09.2024

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


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

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

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

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

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

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

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

Хозяйке на заметку: при лицензировании большого количества баз вас могут ждать сюрпризы — активация каждой базы для каждого пользователя через программный ключ может стать вашей основной работой на ближайшие недели. Этого недостатка лишён кряк аппаратный ключ, но его нельзя просто так взять и начать использовать в VPS.

Не будем забывать, что даже самый лучший VPS (выбранный с использованием вот этого клёвого сервиса) не сравнится с тёплым и ламповым собственным сервером. Мы решили мигрировать в третий раз.

Однажды вечером наш VPS не запустился. Был самый пик отчётности — последние её часы, и сервер находился в дауне неоправданно долго. При этом через панель управления мы сделать ничего не могли — сервер находился в стадии запуска, а техподдержка просто разводила руками. Как оказалось, на хосте с нашей виртуалкой закончилась оперативная память, и на запуск её просто не хватало.

Итого

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

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

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

Создание базы со ссылкой на неё в профиле текущего пользователя

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

Для файлового варианта:

Для SQL варианта:

Как создать или удалить пользователя сразу в сотне баз?
Как подключить пользователю сразу сотню баз?

Для добавления сразу всех нужных баз в список пользователя мы используем v8i общих баз, размещённые на файловой шаре. Ссылки на эти файлы добавляются в профиле пользователя (например, через GPO или в профиль ) в файл %AppData%\1C\1CEStart\1CEStart.cfg:

Либо из самой 1С (уже под пользователем) добавляем список общих информационных баз:


Внутри файлы v8i выглядят так:

Как обновить сразу сотню баз?

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

Блокировка


Или через создание файлика в каталоге базы 1Cv8.cdn вот с таким содержимым:

Обновление

Для файлового варианта:

Для SQL варианта:

Как правильно делать резервное копирование баз?

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

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

Выгрузка в dt

Для файлового варианта:

Для SQL варианта:

Все выше сказанное справедливо для 1С Предприятие, платформа 8.3; Бухгалтерия 3.0; Зарплата и Управление Персоналом 2.5.

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

0. Оглавление

dobavlenie-bd-na-server-1spredpriyatie-8_01

dobavlenie-bd-na-server-1spredpriyatie-8_02

dobavlenie-bd-na-server-1spredpriyatie-8_03

dobavlenie-bd-na-server-1spredpriyatie-8_04

На следующей странице необходимо указать параметры создаваемой информационной базы, а именно:

dobavlenie-bd-na-server-1spredpriyatie-8_05

dobavlenie-bd-na-server-1spredpriyatie-8_06

dobavlenie-bd-na-server-1spredpriyatie-8_07

dobavlenie-bd-na-server-1spredpriyatie-8_09

dobavlenie-bd-na-server-1spredpriyatie-8_10

dobavlenie-bd-na-server-1spredpriyatie-8_11

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

dobavlenie-bd-na-server-1spredpriyatie-8_14

3. Свойства информационной базы

dobavlenie-bd-na-server-1spredpriyatie-8_12

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

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

    dobavlenie-bd-na-server-1spredpriyatie-8_13

    dobavlenie-bd-na-server-1spredpriyatie-8_15

    dobavlenie-bd-na-server-1spredpriyatie-8_16

    dobavlenie-bd-na-server-1spredpriyatie-8_17

    dobavlenie-bd-na-server-1spredpriyatie-8_18

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

    dobavlenie-bd-na-server-1spredpriyatie-8_19

    Смотрите также:

    В ситуации когда необходимо перенести базу данных SQL с одного экземпляра MS SQL Server на другой, или изменить каталог хранения файлов базы данных, помогут операции отсоединения (Detach) и присоединения (Attach) баз данных MS SQL Server.…

    Настраиваем веб-доступ для 1С:Предприятия в файловом режиме

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

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

    1cv83-file-web-access-001.jpg

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

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

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

    1cv83-file-web-access-002.jpg

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

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

    Ну и, конечно, появляются практически неограниченные возможности удаленного доступа к базе: из любого места, с любого устройства, был бы браузер.

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

    На настоящий момент поддерживаются два основных веб-сервера Apache и IIS, также на машине с веб-сервером должна быть обязательно установлена платформа и модули расширения веб-сервера. Их всегда можно установить дополнительно, просто запустив еще раз программу установки платформы:

    1cv83-file-web-access-003.jpg

    Windows и IIS

    Internet Information Services (IIS) по непонятным причинам не пользуется популярностью у администраторов и 1С-ников. А зря, игнорировать штатное решение в пользу некоторого стороннего ПО, пусть даже и неплохого, выглядит по крайней мере странно.

    Для установки IIS на клиентской ОС, в нашем случае Windows 7 x64, перейдите в Панель управления - Программы и компоненты - Включение и отключение компонентов Windows.

    1cv83-file-web-access-004.jpg

    В открывшемся окне выберите Службы IIS, затем, развернув список, перейдите в Службы интернета - Компоненты разработки приложений и установите флажок напротив Расширения ISAPI, остальные параметры можно оставить по умолчанию.

    1cv83-file-web-access-005.jpg

    После установки IIS перейдем к его настройке, для этого откройте Панель управления - Администрирование - Диспетчер служб IIS.

    1cv83-file-web-access-006.jpg

    Важно! Следующую настройку следует производить только в том случае, если вы будете использовать 32-разрядную платформу 1С:Предприятие.

    В дереве слева выбираем Пулы приложений, щелкаем правой кнопкой мыши на DefaultAppPool - Дополнительные параметры и разрешаем 32-разрядные приложения, установив соответствующую опцию в True.

    1cv83-file-web-access-007.jpg

    Теперь выставим необходимые права для групп IUSR и IIS_IUSRS. На папку с информационной базой выдаем права Изменение и Чтение и выполнение:

    На папку bin платформы - Чтение и выполнение:

    1cv83-file-web-access-009.jpg

    Затем запускаем 1С:Предприятие от имени администратора и загружаем нужную информационную базу в режим конфигуратора.

    1cv83-file-web-access-010.jpg

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

    1cv83-file-web-access-011.jpg

    После чего нажимаем Опубликоватьи утвердительно отвечаем на предложение перезапустить веб-сервер.

    1cv83-file-web-access-012.jpg

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

    1cv83-file-web-access-013.jpg

    Следующим шагом вводите адрес подключения:

    1cv83-file-web-access-014.jpg

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

    1cv83-file-web-access-015.jpg

    Windows и Apache 2.2

    Если вы по каким-либо причинам не хотите использовать IIS, можно настроить работу 1С с другим популярным веб-сервером Apache. К сожалению разработчики Apache перестали публиковать бинарные сборки для Windows, предлагая обратиться к своим партнерам, поэтому перейдем на сайт Apache Haus и скачаем сборку 2.2.х той же архитектуры, что и используемая вами платформа 1С:Предприятия, вне зависимости от разрядности операционной системы.

    1cv83-file-web-access-016.jpg

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

    Также вам потребуется установить Распространяемый пакет Microsoft Visual C++ 2008, который нужен для нормальной работы сборки Apache.

    Затем распакуем скачанный архив Apache в произвольную директорию, например, C:\Apache22, из всего множества папок нас интересуют папки bin и htdocs, в первой расположены исполняемые файлы веб-сервера, во второй следует располагать веб-содержимое.

    Откроем командную строку с правами администратора и перейдем в директорию bin веб-сервера:

    Теперь установим Apache как службу:

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

    1cv83-file-web-access-018.jpg

    Так как служба работает от имени системной учетной записи выставлять права на папки с базой и платформой не надо.

    Затем точно также запускаем 1С от имени администратора в режиме конфигуратора и переходим к публикации на веб-сервере. В отличии от IIS, в данном случае платформа сама не может указать путь и создать папку, поэтому делаем это вручную. Папка должна быть создана внутри каталога htdocs и ее имя должно совпадать с именем публикации:

    1cv83-file-web-access-019.jpg

    В нашем случае это C:\Apache22\htdocs\Acc30\, кстати, создать нужный каталог можно прямо в диалоге выбора папки. После чего публикуем информационную базу.

    Следующий момент, 1С не умеет перезапускать данную сборку Apache, поэтому сделаем это вручную через оснастку Службы:

    1cv83-file-web-access-020.jpg

    После перезапуска веб-сервера опубликованная база станет доступна по тому же самому, как и в случае с IIS, адресу, точно также ничем не будет отличаться и работа с ней.


    Рассмотрим процесс развертывания бэкапа на сервер БД MS SQL из файлового варианта работы СУБД 1С.

    Задачи

    Минусы и ограничения файловой БД 1С, где база данных располагается в папке:

    • В файловом варианте может работать всего несколько человек, если пользователей больше, то возникают блокировки данных при обращении к объектам БД, в следствии чего, некоторые пользователи не смогут выполнить одно и тоже действие одновременно, из-за блокировки регистров при проведении документов.
    • В файловом варианте страдает безопасность, т.к. пользователи должны иметь полные права на папку, где лежит БД.
    • В файловом варианте более медленная работа по сравнению с MS SQL (кластер и СУБД можно разнести на разные машины).
    • Размер таблиц в файловом варианте не должен превышать размер 4ГБ.

    01 Найдем через поисковик и скачаем 1cv8.3.10.2650_x86win.zip (можно скачать и более позднюю версию) 1С:Предприятие 8.3 с компонентами сервера на Windows. Выберем необходимые компоненты в начале установки:


    02 Создадим пользователя от которого будут запускаться службы Сервера 1С:


    03 После установки, заходим в Диспетчер задач, видим, что запустились 3 службы Сервера 1С:


    04 Скачиваем через торрент Microsoft SQL Server 2017 14.0.1000.169 (RTM) и приступаем к установке через setup.exe:

    Установка - Новая установка изолированного экземпляра SQL Server:


    05 Откроется мастер установки, вводим лицензионный ключ, соглашаемся и Далее, до момента выбора устанавливаемых компонентов SQL, выберем Службы ядра СУБД (Management Studio в установщике отсутствует, поэтому установим его позже, отдельно. Если он у вас присутствует в списке, то установите на нем галочку):


    06 Далее прописываем имя для SQL сервера:


    07 Оставляем по умолчанию пользователей для запуска служб MS SQL:


    08 Далее выбираем Смешанный режим, указываем пароль учетной записи системного администратора SQL (sa) и добавляем текущего пользователя как администратора SQL сервера:


    После Далее и жмем Установить.

    Во время установки MS SQL 2017 произошла ошибка "Не удается записать параметр NT SERVICE\SQLWriter в раздел \SYSTEM\CurrentControlSet\services\VSS\VssAccessControl. "


    Затем нужно запустить .bat файл и перезапустить ПК для пересоздания ветки реестра с VSS.

    После всего, получили успешное завершение установки:


    09 Отдельно устанавливаем Microsoft Server Management Studio (если не установили в пункте №5):


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


    11 Далее заполняем теми данными, которые указывали при установке MS SQL Server, имена информационной базы в кластере и базы данных придумываем любые:



    13 Слева в менеджере увидим пустую базу которую создали через список подключений в клиенте 1С:


    14 Теперь заходим в консоль Администрирование серверов 1С Предприятия, раскрываем дерево серверов со списком БД (если не отобразился наш сервер 1С, то жмем "обновление"), здесь так же видим нашу пустую БД, которую создали через список подключений 1С:


    15 Теперь, нужно загрузить в эту пустую БД наш бэкап из "файловой" 1С, который сделали ранее. Заходим в 1С, выбираем из списка нашу БД и запускаем ее в режиме Конфигуратор без логина и пароля, меню Администрирование - Загрузить информационную базу данных:


    16 Выбираем ранее сохраненную БД с расширением .dt и жмем Открыть:


    17 После завершения загрузки БД, выходим из Конфигуратора:


    18 Запускаем БД в режиме 1С:Предприятие, теперь БД работает на сервере MS SQL Server 2017:

    Чтобы создать клиент-серверную базу 1С, нам понадобится добавить новую базу через консоль администрирования серверов 1С, а затем добавить созданную базу в список баз 1С.


    Клиент-серверными базами являются любые базы, кроме файловых. На данный момент 1С поддерживает следующие СУБД: MS SQL Server, PostgreSQL, Oracle Database, IBM DB2

    Зайдите в Администрирование серверов 1С: Предприятие:

    Создать клиент-серверную базу 1С

    Администрирование серверов 1С Предприятие

    Путь к информационным базам в консоли администрирования 1С

    Путь к информационным базам в консоли администрирования

    Создание информационной базы 1С

    Создание информационной базы

    Заполнение параметров информационной базы 1С

    Заполнение параметров информационной базы

    Как узнать свойства рабочей базы:

    Открытие свойств рабочей базы 1С

    Открытие свойств рабочей базы

    Ввод логина и пароля от рабочей базы 1С

    Ввод логина и пароля от рабочей базы

    Откроется окно свойств, из которого можно скопировать нужные поля для новой базы:

    Свойства рабочей базы 1С

    Свойства рабочей базы

    Новая база успешно создана:

    Новая база в списке баз 1С

    Новая база в списке баз

    Добавление базы в 1С

    Добавление базы в 1С

    Добавляем существующую базу

    Добавляем существующую базу

    Заполняем кластер серверов и имя информационной базы 1С

    Заполняем кластер серверов и имя информационной базы

    Новая база появилась в списке баз 1С:

    База в списке баз 1С

    База в списке баз

    Поздравляем! Вам только что удалось самостоятельно создать клиент-серверную базу 1С. Теперь осталось только загрузить в нее нужные данные и начать работать.

    Читайте также: