1с не соединяется с сервером. Добавление пользователя в MS SQL Server

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

  • Клиентские приложения, тонкие клиенты и веб-клиенты — это и есть «1С:Предприятие» в различных режимах запуска, с которыми работает конечный пользователь. Для клиентских приложений и тонких клиентов требуется на компьютеры пользователей (или на ), для веб-клиента достаточно веб-браузера.
  • Кластер серверов «1С:Предприятие» представляет собой совокупность рабочих процессов, функционирующих на одном или нескольких компьютерах и списка информационных баз, которые размещены в этом кластере. В кластере серверов выполняется вся работа прикладных объектов, выполняется подготовка к отображению форм (чтение объектов информационной базы, заполнение данных форм, расположение элементов и т.д.) и командного интерфейса, формируются отчеты, выполняются фоновые задания. На клиентах происходит лишь отображение информации, подготовленной в кластере серверов. Кроме того на сервере кластера «1С:Предприятия» хранятся служебные файлы, а также журнал регистрации информационных баз.
  • Сервер баз данных — на сервере баз данных происходит непосредственное хранение и работа с данными, обеспечиваемое одной из следующих, поддерживаемых системой «1С:Предприятие», систем управления базами данными (СУБД):
    • Microsoft SQL Server начиная с версии Microsoft SQL Server 2000 и выше;
    • PostgrageSQL начиная с версии 8.1;
    • IBM DB2 начиная с версии 9.1;
    • Oracle Database начиная с версии 10g Release 2.
  • Веб-сервер необходим только для работы веб-клиентов и одного из вариантов работы тонкого клиента. Обеспечивает взаимодействие данных видов соединения с кластером серверов «1С:Предприятия».

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

В данной статье я буду описывать установку сервера «1С:Предприятия» версии 8.3.4.389 (для других версий платформы «1С:Предприятие» 8.1, 8.2 и 8.3 действия аналогичны) на один компьютер под управлением Windows Server 2008 (R2) или Windows Server 2012 (R2). В качестве СУБД будет рассматриваться Microsoft SQL Server 2008 (R2) или Microsoft SQL Server 2012. Для этого нам понадобится:

  1. Компьютер, отвечающий системным требованиям для установки сервера «1С:Предприятия» и с установленной на данный компьютер ОС или .
  2. Компьютер для сервера баз данных, также под управлением ОС или (может быть компьютером из п.1).
  3. Права локального администратора на обоих компьютерах.
  4. Дистрибутив для установки сервера «1С:Предприятия» 8.
  5. Программная лицензия или ключ защиты HASP4 Net для сервера «1С:Предприятия».
  6. Дистрибутив для установки Microsoft SQL Server 2008 (R2) или Microsoft SQL Server 2012.

2. Установка СУБД MS SQL Server

Устанавливаем СУБД MS SQL Server на компьютер, служащий сервером баз данных. Для работы системы «1С:Предприятие» достаточно установки компонент:

  • Службы компонента Database Engine (Database Engine Services)
  • Средства управления - основные (Management Tools - Basic)
    • Средства управления - полный набор (Management Tools - Complete).

Параметры сортировки выбираем « Cyrillic_General_CI_AS ». Подробно про установку систем

3. Настройка Брандмауэра Windows для работы СУБД

Если сервер баз данных и сервер кластера «1С:Предприятия» находятся на разных физических компьютерах, необходимо на сервере баз данных настроить Брандмауэр Windows таким образом, чтобы сервер «1С:Предприятия» мог работать с СУБД, а именно открыть входящие подключения по порту 1433 (для экземпляра SQL Server по умолчанию).

  • Подробно про настройку Брандмауэра Windows для работы Microsoft SQL Server 2008 (R2) / 2012 я писал .

4. Добавление пользователя в MS SQL Server

Далее добавим в MS SQL Server отдельного пользователя, под которым будут подключаться базы данных сервера «1С:Предприятия». Этот пользователь будет также владельцем этих баз данных. Добавляемый пользователь должен авторизовываться на сервере с помощью пароля и обладать набором ролей: dbcreator , processadmin, public . Подробно про добавление пользователя на

  • Microsoft SQL Server 2008 (R2) я писал .
  • Microsoft SQL Server 2012 я писал .

5. Установка сервера «1С:Предприятия»

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

  • Технологическая платформа 1С:Предприятия для Windows — позволяет установку 32-разрядного сервера «1С:Предприятия»
  • Сервер 1С:Предприятия (64-bit) для Windows — позволяет установку как 32-разрядного, так и 64-разрядного сервера «1С:Предприятия»

(Также существует и расширенная версия КОРП сервера 1С:Предприятия 8.3, подробности можно посмотреть на сайте 1С)

Открываем каталог с файлами установки сервера «1С:Предприятия» и запускаем файл setup.exe .

Запуститься помощник установки системы «1С:Предприятия». На первой странице жмем «Далее ».

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

  • Сервер 1С:Предприятия — компоненты сервера «1С:Предприятия»
  • Администрирование сервера 1С:Предприятия 8 — дополнительные компоненты для администрирования кластера серверов «1С:Предприятия»

Остальные компоненты (перечень компонент может зависеть от конкретного дистрибутива), в зависимости от необходимости, также могут быть установлены на данный компьютер. Сделав выбор жмем «Далее ».

Выберем язык интерфейса, который будет использоваться по умолчанию, и нажмем «Далее ».

Если сервер «1С:Предприятия» устанавливается как служба Windows (а так в большинстве случаев и следует его устанавливать) рекомендую сразу создать отдельного пользователя, из под которого будет запускаться создаваемая служба. Для этого

  • Оставляем включенным флаг «Установить сервер 1С:Предприятие как сервис Windows (рекомендуется) »;
  • Переводим соответствующий переключатель в «Создать пользователя USR1CV8 ».
  • Вводим 2 раза пароль для создаваемого пользователя. По умолчанию пароль должен отвечать политики паролей Windows. Подробнее об этом можно прочитать:
    • Для Microsoft Windows Server 2008 (R2) — ;
    • Для Microsoft Windows Server 2012 — .

Можно также и выбрать существующего пользователя для запуска сервера «1С:Предприятия». В этом случае выбранный пользователь должен обладать правами:

  • Вход в систему как сервис (Log on as a service)
  • Вход в систему как пакетное задание (Log on as a batch job)
  • Пользователи журналов производительности (Performance Log Users).

Также пользователю обязательно следует дать необходимые права на каталог служебных файлов сервера (по умолчанию C:\Program Files\1cv8\srvinfo для 64-х разрядного и C:\Program Files (x86)\1cv8\srvinfo для 32-х разрядного сервера).

Созданный автоматически пользователь USR1CV8 будет обладать всеми перечисленными правами.

Заполнив соответствующие параметры, жмем «Далее ».

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

По завершении установки помощник предложит установить драйвер защиты — HASP Device Driver. Если используется программная лицензия на сервер «1С:Предприятия», производить установку драйвера нет необходимости. Оставляем или снимаем флаг «Установить драйвер защиты » и жмем «Далее ».

  • Д-р Кадди : Нужен диагноз. Женщина, 26 лет, взрыв газа под зданием, её вытащили из под обломков через 6 часов. Две операции из-за многочисленных переломов и ожогов…
    Д-р Хаус : Думаю, сломанные кости это следствие обрушавшегося ей на голову здания.
  • Д-р Хаус : Представьте, что крыша кладовки обрушилась на вашу любимую поломоечную машину. И та начинает перегреваться.
    Уборщик : Почему я должен любить поломоечную машину? Ладно… Может, от удара повредилось что-нибудь в электропроводке. Или что-то затекло внутрь и испортило её…
    Д-р Хаус : Хм, интересно. Проникновение инфекции через рваные раны. Бактерии отреагировали бы на антибиотики. Для вируса слишком сильный жар.Возможно, паразиты или грибки.
    Уборщик :Или волчанка.
    Хаус в изумлении оборачивается
    Уборщик : У моей бабушки волчанка.
    Д-р Хаус :(озадаченно) Хорошо,ауто-имунная. Проверю на волчанку. Хотя больше подходит инфекция. Хорошо бы ещё её карту. Приступим к худшей части работы. К общению с семьей поломоечной машины.
  • Д-р Хаус : В карточке указано, что она была больна ещё до того, как здание обрушилось.
    Муж пациентки : Я считаю, что это обычная простуда. А что, вы считаете это связано?
    Д-р Хаус : Её болезнь с её болезнью? Порой случается.
  • Мать пациентки : В дневнике сказано, что моя дочь принимает эти таблетки?
    Д-р Хаус : Нет, но с медицинской точки зрения…
    Д-р Кадди : Вы нашли таблетки в её доме?
    Д-р Хаус : Очевидно, она прятала их в сумочке. Подумал, будет неприлично искать под 1000 тонн обломков.
  • Хирург : У неё повсюду кровотечения, разве что аборт сделали при помощи дробовика.

В этой статье показан пример общих принципов разбора технологических вопросов, которые могут появляться при работе с 1С:Предприятие 8.1.

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

В качестве примеров будут разобраны:

Пример 1. Пользователь пожаловался на невозможность запуска 1С:Бухгалтерия.

Текст сообщения:

"Ошибка соединения с сервером 1с: Предприятия 8.1:
server_addr=App1С:1540=Ошибка сетевого доступа к серверу
(Windows sockets - 10061(0x0000274D)
No connection could be made because the target machine actively refused it) line =567

Пример 2. "Потерялся" доступ к информационной базе.

Текст сообщения:

Ошибка при выполнении операции с информационной базой

Microsoft OLE DB provider for SQL Server: Login failed for user ‘user1c’

HRESULT=80040E4D, SQLSrvr: Error state=1, Severity=E, native=18456, line=1

Пример 3. Странная "неизвестная" ошибка.

Текст сообщения: «Произошла неизвестная ошибка на сервере 1С предприятие (80010108)»

1. Определение текста (проявления) ошибки и локализация источника возникновения

  • Зафиксируйте ошибку (текст и/или другую информацию, которая может пригодиться для анализа проблемы). Проблему лучше фиксировать с помощью технологического журнала . Вывод: если вы не используете технологический журнал для других задач, настройте его на постоянный лог сбор событий "исключений" (EXCP) и формирование дампов случае падения платформы.
  • Зафиксируйте время возникновения ошибки. Это в дальнейшем поможет локализовать место изучения различных логов.
  • ПРОЧТИТЕ текст сообщения, попытайтесь сразу понять источник возникновения проблемы из содержимого этого текста.
  • Выполните поиск решения по тексту сообщения в интернете или в других известных вам источниках решения проблемы.
  • Те, кто до этого не занимались решением проблем с ошибками платформы, решать их не будут, ищете тех кто этим занимался или занимается.

Примечание. Пример 1 . Поиск в ниже в разделе "Где можно найти готовое решение" по приведенным на данной странице тексту "10061" покажет сразу объяснение причины и решение : на сервере приложений остановлена служба "Агент сервера 1с :Предприятие 8.1 ". Соответственно ее надо запустить, например из командной строки:

net start Агент сервера 1с:Предприятие 8.1

Если сервер приложений не стартует, в некоторых случаях сделайте копию папки C:\Program Files\1cv81\server и удалите содержимое перед попыткой старта.

Связка сервера 1С:Предприятие и PostgreSQL вторая по популярности среди установок 1С и самое используемое решение на платформе Linux. В отличии внедрений на базе Windows и MSSQL, где трудно сделать так, чтобы не заработало, внедрения на базе Linux таят множество подводных камней для неопытного администратора. Часто бывает так, что вроде бы все сделано правильно, но ошибка следует за ошибкой. Сегодня мы рассмотрим самые типовые из них.

Общая информация

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

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

В нашем распоряжении имеются два сервера под управлением Ubuntu 12.04 x64, на одном из них установлен сервер 1С:Предприятие версии 8.3, на другом PostgreSQL 9.04 от Ethersoft, а также клиент под управлением Windows. Напоминаем, что клиент работает только с сервером 1С, который, в свою очередь, формирует необходимые запросы к серверу СУБД. Никаких запросов от клиента к серверу управления базами данных не происходит .


ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (Ident)

Данная ошибка возникает при разнесении серверов по разным ПК из-за неправильно настроеной проверки подлинности в локальной сети. Для устранения откройте /var/lib/pgsql/data/pg_hba.conf , найдите строку:

Host all all 192.168.31.0/24 ident

и приведите ее к виду:

Host all all 192.168.31.0/24 md5

где 192.168.31.0/24 - диапазон вашей локальной сети. Если такой строки нет, ее следует создать в секции IPv4 local connections .

Сервер баз данных не обнаружен
could not translate host name "NAME" to address: Temporary failure in name resolution

На первый взгляд ошибка понятна: клиент не может разрешить имя сервера СУБД, типичная ошибка для небольших сетей, где отсутствует локальный DNS-сервер. В качестве решения добавляют запись в файл hosts на клиенте, что не дает никакого результата...

А теперь вспоминаем, о чем было сказано несколько раньше. Клиентом сервера СУБД является сервер 1С, но никак не клиентский ПК, следовательно запись нужно добавлять на сервере 1С:Предприятие в файл /etc/hosts на платформе Linux или в на платформе Windows.

Аналогичная ошибка будет возникать, если вы забыли добавить запись типа A для сервера СУБД на локальном DNS-сервере.

Ошибка при выполнении операции с информационной базой
server_addr=NAME descr=11001(0x00002AF9): Этот хост неизвестен.

Как и прошлая, эта ошибка связана с неправильным разрешением клиентом имени сервера. На этот раз именно клиентским ПК. В качестве решения добавляем в файл /etc/hosts на платформе Linux или в C:\Windows\System32\drivers\etc\hosts на платформе Windows запись вида:

192.168.31.83SRV-1C-1204

где указываете адрес и имя вашего сервера 1С:Предприятия. В случае использования локального DNS следует добавить A-запись для сервера 1С.

Ошибка СУБД: DATABASE не пригоден для использования

Гораздо более серьезная ошибка, которая говорит о том, что вы установили несовместимую с 1С:Предприятие версию PostgreSQL или допустили грубые ошибки при установке, например не установили все необходимые зависимости, в частности библиотеку libICU .

Если вы имеете достаточный опыт администрирования Linux систем, то можете попробовать доустановить необходимые библиотеки и заново инициализировать кластер СУБД. В противном случае PostgreSQL лучше переустановить, не забыв удалить содержимое папки /var/lib/pgsql .

Также данная ошибка может возникать при использовании сборок 9.1.x и 9.2.x Postgre@Etersoft , подробности смотрите ниже.

Ошибка СУБД:
ERROR: could not load library "/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so"

Довольно специфичная ошибка, характерная для сборок 9.1.x и 9.2.x Postgre@Etersoft , также может приводить предыдущей ошибке. Причина кроется в неисправленной ошибке в библиотеке fasttrun.so. Решение - откатиться на сборку 9.0.x Postgre@Etersoft .

Ошибка СУБД
ERROR: type "mvarchar" does not exist at character 31

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

или через средство запуска 1С.

Сервер баз данных не обнаружен
ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю)

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

Сервер баз данных не обнаружен
FATAL: database "NAME" does not exist

Еще одна очень простая ошибка. Смысл ее сводится к тому, что указанная БД не существует. Чаще всего возникает из-за ошибки в указании имени базы. Следует помнить, что информационная база 1С в кластере и база данных СУБД - две разные сущности и могут иметь различные имена. Также следует помнить, что Linux системы чувствительны к регистру и для них unf83 и UNF83 два разных имени.

  • Теги:

Please enable JavaScript to view the

Вопрос: Com Ошибка в ОбработкаЗаполнения


Привет.
8.2 Розница 1.
коннектюсь к 8.1 Не типовая конфа.
Подключаюсь по com к базе и пытаюсь создать документ, но при вызове "СоздатьДокумент()" или "ПолучитьОбъект()" происходит ошибка процедуре ОбработкаЗаполнения . см рис.

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

Ответ: turboq , криво написанный модуль документа!

Добавлено через 5 минут
Она не вызывается! Она пытается скомпилироваться! Но так как при подключении через ComConnector РежимДиалогаВопрос НЕ СУЩЕСТВУЕТ, модуль документа не может быть скомпилирован.
Для таких случаев когда в модуле объекта необходимо реализовать работу с диалогом используют инструкции препроцессору

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

В базе код исполняется на клиенте и РежимДиалогаВопрос есть поэтому все происходит без ошибок

Используй не ComConnector, V8.Application для подключения, тогда тебе будут доступны интерфейсные вещи

Добавлено через 5 минут
=======================================================================================================================
из описания внешнего соединения (СП) Жирным выделил что тебе следует почитать про КомСоединения

Описание :

В общем и целом работа с 1С:Предприятием 8 через внешнее соединение подобна работе с 1С:Предприятием в режиме Automation сервера. Основные отличия заключаются в следующем:

  • В случае Automation сервера запускается полноценное приложение 1С:Предприятия 8, а в случае внешнего соединения запускается относительно небольшой внутрипроцессный COM-сервер.
  • При работе через внешнее соединение не доступны функциональные возможности, так или иначе связанные с организацией пользовательского интерфейса 1С:Предприятия 8;
  • При работе внешнего соединения не используется модуль управляемого приложения (модуль обычного приложения) конфигурации 1С:Предприятия 8. Его роль при работе с внешним соединением играет модуль внешнего соединения.
При использовании внешнего соединения имеются следующие преимущества по сравнению с использованием Automation сервера:
  • Более быстрая установка соединения, так как не требуется создания отдельного процесса операционной системы, а все действия производятся в рамках вызывающего процесса;
  • Более быстрое обращение к свойствам и методам объектов 1C:Предприятия, так как для организации обращения не требуется организации межпроцессной коммуникации;
  • Меньший расход ресурсов операционной системы.
Для организации доступа к данным 1С:Предприятия 8 через внешнее соединение, выполняется следующая последовательность действий:
  • создается менеджер COM-соединений, с помощью которого производится установка соединения;
  • производится обращение к методу Connect менеджера COM-соединений. Метод Connect возвращает внешнее соединение с информационной базой 1С:Предприятия 8;
  • через внешнее соединение производится обращение к допустимым методам, свойствам и объектам информационной базы, с которой установлено соединение.
Важно! В связи с отсутствием пользовательского интерфейса не все объекты, а также свойства и методы можно использовать во внешнем соединении.
Внешнее соединение предоставляет полный доступ к своему глобальному контексту. Поэтому внешнее соединение в качестве своих методов может иметь: системные константы, значения заданных в конфигураторе объектов, доступ к которым осуществляется с помощью менеджеров (например, константы, перечисления, справочники, документы, журналы документов, отчеты, обработки, планы видов характеристик, планы счетов, планы видов расчета, регистры), а также переменные, объявленные в модуле внешнего соединения с ключевым словом Экспорт.

Доступность: