Клиент-серверный режим базы данных 1С8 для тестирования

30.09.21

База данных - Инструменты администратора БД

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

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

А проблема, собственно, в том, что некоторые алгоритмы, которые успешно выполняются в режиме "Файловый", выполняются с ограничениями или не выполняются в режиме "Серверный". Один из популярных случаев - работа с DCOM компонентами. Когда, например, "Excel.Application" выполняется на сервере, а на клиенте не учитывается факт, что компонента может быть недоступна для службы Агента сервера 1С:Предприятие. Или другой случай - в обработке реализуется работа с файлами, которые должны сохраняться на клиенте через асинхронные процедуры Получение/ПомещениеФайлаНаСервере. В файловом режиме может работать без проблем, а в серверном оказывается, что не выполнена настройка какого-нибудь важного параметра. Еще случай - создание и использование схемы компоновки данных (СКД) должно выполняться на сервере, а на клиенте пересылаться с использованием процедур Поместить/ПолучитьИзВременногоХранилища, что может приводить к проблемам при неправильной программной генерации СКД.

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

Аккуратно! Программистам и администраторам 1С8 с большим опытом дальше не читать) Не претендую на лавры. Публикация в помощь коллегам и друзьям с небольшим опытом.

В публикации не рассматривается настройка и тестирование базы данных в режиме "Веб-сервер".

Необходимые этапы настройки сервера 1С:Предприятие:

  Название что в гугле
1. Установка платформы 1С со службами сервера ----->
2. Установка системы управления базами данных - СУБД (например, SQL Server) ----->
3. Создание информационной базы на сервере СУБД ----->
4. Выгрузка файловой базы данных 1С и загрузка на сервер СУБД ----->
5. Подключение к серверу СУБД по сети для запуска 1С на клиенте ----->
6. Включения отладки в режиме клиент-сервер ----->

Пункты 1,2,3,4,6 выполняются на серверной стороне, пункт 5 - и на сервере, и на клиенте.

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

Клиент-серверная архитектура предполагает 2 точки использования базы данных - клиент и сервер.

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

ВЫБРАННЫЕ УСЛОВИЯ запуска: в качестве примера, используем стандартный ПК на основе Windows 10 Pro (x86-64) с обычной администраторской учетной записью для клиентской и серверной стороны, которые подключены к одной и той же сети со стандартными настройками, подобно домашней локальной и беспроводной сети. Используемая версия платформы: 1C:Предприятие 8 (x86-64) (8.3.18.1289).

Возможная схема нашей примитивной информационной системы:

I. Выполнение пункта 1 "Установка платформы 1С со службами сервера"

На сервере. Во время установки, для использования сервера 1C:Предприятие 8, добавить компоненты:

Понятно, что мы используем лицензионную версию с аппаратным ключом.

Если выбрать настройку "Создать пользователя USR1CV8", то служба Windows сервера 1C:Предприятие 8 будет запускаться учетной записью USR1CV8. По умолчанию, эта учетная запись создается со стандартными правами (не администраторскими), и если нужно будет выполнять действия, которые затрагивают системные компоненты (например, DCOM), то эти действия будут выполняться с ошибками.

Изменение типа учетной записи USR1CV8 (Параметры-Учетные записи-Семья и другие пользователи):

Если, всё таки, потребуется отказаться от использования учетной записи USR1CV8, то это можно изменить в панели "Службы" для "Агент сервера 1С:Предприятие" (Win+R, services.msc, OK):

Проверка, что фоновые процессы сервера 1С:Предприятие работают (Ctrl+Shift+Esc):

II. Выполнение пункта 2 "Установка системы управления базами данных - СУБД (например, SQL Server)"

На сервере. Для тестирования своих разработок достаточно установить бесплатную версию SQL Server Express. Например, подойдёт версия SQL Server 2014 Express. Поскольку запуск выполняется в Windows 10 Pro x86-64, скачиваем и устанавливаем SQL Server 2014 Express Edition with Tools with Service Pack 3, x64, English.

В простейшем случае, все настройки установщика используются по умолчанию, за исключением одного пункта - "Режим авторизации (Authentication mode)", в котором нужно разрешить авторизацию с помощью аккаунтов SQL Server и задать пароль для стандартного аккаунта "sa":

Запоминаем эти данные: аккаунт "sa" и заданный пароль (например, "1").

III. Выполнение пункта 3 "Создание информационной базы на сервере СУБД"

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

Установщик платформы 1С 8.3 создает и добавляет в меню пуск ссылку на файл *.cmd для регистрации внешней компоненты radmin.dll консоли управления администрирования серверов 1С:

Далее, перед добавлением информационной базы, нужно проверить работу SQL Server. Для этого можно использовать консоль управления SQL Server Management Studio, которая добавляется при установке SQL Server или устанавливается отдельно.

Для подключения можно использовать стандартную учетную запись "sa" и пароль, заданный во время установки SQL Server:

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

Сервер базы данных - такой же как в консоли управления SQL Server Management Studio (в примере "DESKTOP-K80105I"). Тип СУБД - "MS SQL Server". Пользователь сервера - "sa" и пароль, заданный во время установки SQL Server (например, "1"). При создании новой информационной базы - обязательно установить флаг "Создать базу данных в случае её отсутствия".

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

IV. Выполнение пункта 4 "Выгрузка файловой базы данных 1С и загрузка на сервер СУБД"

На сервере. Файловую базу данных нужно выгрузить в файл формата *.dt. В многочисленных статьях подробно приводится инструкция. Коротко - в конфигураторе открываем файловую базу данных, далее пункт меню "Администрирование - Выгрузить информационную базу". Получится файл со стандартным названием 1Cv8.dt.

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

V. Выполнение пункта 5 "Подключение к службе СУБД по сети для запуска 1С на клиенте"

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

Настройка Брандмауэра Windows (Firewall) выполняется на сервере в специальной консоли: Параметры — Сеть и интернет — Брандмауэр Windows — Дополнительные параметры.

Необходимо открыть входящее подключение: Правила для входящих подключений — Создать правило для порта — Протокол TCP (Определённые локальные порты: например, 1433) — Разрешить подключение

Порты на сервере с использованием SQL Server для входящих подключений (по умолчанию):

  • 1433 — на сервере SQL для управления экземплярами баз данных;
  • 1434 — на сервере SQL для выделенного административного соединения (например, с помощью sqlcmd);
  • 1540 — на сервере 1С для удаленных подключений с помощью утилиты администрирования (консоль 1CV8 Servers msc);
  • 1541 — на сервере 1С для менеджера кластера серверов;
  • Диапазон {1560-1591} — на сервере 1С для рабочих процессов.

В простейшем случае, достаточно открыть 2 порта: 1541,1560.

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

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

Запускаем информационную базу "unf1.6_SQL_Server" на клиенте, чтобы убедиться в работоспособности:

VI. Выполнение пункта 6 "Включения отладки в режиме клиент-сервер"

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

  1. Остановить службу "Агент сервера 1С:Предприятия 8.3 (x86-64)" (Windows+R, services.msc, OK),
  2. Запустить редактор системного реестра. Нажать Windows+R (или Пуск-Выполнить), ввести regedit, ОК.
  3. Найти ветку реестра [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\1C:Enterprise 8.3 Server Agent\].
  4. Изменить свойство "ImagePath". Добавляем в строку "-debug".
  5. Записываем и запускаем службу "Агент сервера 1С:Предприятия 8.3 (x86-64)".

Именно на клиенте надо тестировать алгоритмы, которые успешно выполняются в режиме "Файловый", но выполняются с ограничениями или не выполняются в режиме "Серверный".

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

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

Публикация простая, где-то повтор. Не судите строго. Напишите предложения для улучшения, сообщите о недостатках в комментариях. Спасибо!

Готовое решение

Database Compression Tool (DCT): Универсальный инструмент сжатия, свертки и конвертации баз данных 1С

Универсальный инструмент сжатия, свертки и конвертации баз данных 1С.

Свертка баз данных еще никогда не была такой простой и быстрой!

DCT ускоряет работу базы, освобождая гигабайты пространства и повышая производительность системы. Доступна ДЕМО версия!


Сервер Клиент СУБД SQL Службы Администрирование Сеть Доступ

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    12619    99    42    

101

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

18000 руб.

06.12.2023    10011    48    5    

78

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

15000 руб.

10.11.2023    11400    40    27    

66

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

4800 3840 руб.

14.01.2013    190556    1150    0    

918

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    33587    109    152    

74

Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

3600 руб.

06.02.2017    32490    145    18    

51

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    73533    629    45    

88

Инструменты администратора БД Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    10093    9    4    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. PowerBoy 3423 30.09.21 12:57 Сейчас в теме
Забыл добавить параметр -debug в строку службы запуска сервера 1с.
kamo; user635667; etmarket; +3 Ответить
2. etmarket 918 30.09.21 20:59 Сейчас в теме
3. kamo 29.10.21 13:28 Сейчас в теме
Спасибо. Очень подробная статья!
etmarket; +1 Ответить
Оставьте свое сообщение