Ошибка сервер 1с предприятия не обнаружен. Ошибка субд: database не пригоден для использования

Вопрос: 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;
  • через внешнее соединение производится обращение к допустимым методам, свойствам и объектам информационной базы, с которой установлено соединение.
Важно! В связи с отсутствием пользовательского интерфейса не все объекты, а также свойства и методы можно использовать во внешнем соединении.
Внешнее соединение предоставляет полный доступ к своему глобальному контексту. Поэтому внешнее соединение в качестве своих методов может иметь: системные константы, значения заданных в конфигураторе объектов, доступ к которым осуществляется с помощью менеджеров (например, константы, перечисления, справочники, документы, журналы документов, отчеты, обработки, планы видов характеристик, планы счетов, планы видов расчета, регистры), а также переменные, объявленные в модуле внешнего соединения с ключевым словом Экспорт.

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

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

Устранить проблему в работе 1С можно несколькими способами.

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

  • Неправильное прописывание кодов разработчиками самой один-эски;
  • Ошибки, допущенные программистами, которые дорабатывают (изменяют) продукт применительно к требованиям (задачам) конкретного пользователя;
  • Сбои, вызванные погрешностями работы кэш-памяти, чаще всего ставящие в тупик программистов;

Что касается ошибки «сервер 1С:Предприятия не обнаружен», то её нереально отнести к одному из названных, так как подобное уведомление является указанием пользователю на невыполнение определённого необходимого действия для работы программы.

Исправляемся - запускаем сервер

Итак - ситуация, которой посвящена эта публикация возникает в том случае, когда служба агент-сервера или отключена, или остановлена. Отметим, что, как правило, причины этого остаются невыясненными (кто ж признается).

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

Как приложение

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

При этом указываются (в своих настройках) порт, диапазоны портов, уровень и каталог. Если эти параметры не указывать, то их значения будут программой установлены «по умолчанию».

В виде службы

Когда при первой установке 1С вариант запуска избирался службой, то она регистрируется и впоследствии должна так и запускаться автоматически (при каждом старте операционки).

Если же первоначально агент был установлен приложением, то можно вручную провести её регистрацию и сделать запуск. Это произойдёт по команде (не забудьте о параметрах):

ragent.exe -instsrvc -usr ‹указываем имя› -pwd ‹указываем пароль›

Port ‹для порта› -regport ‹для порт› -range ‹диапазоны портов›

Seclev ‹нужный уровень› -d ‹указывается каталог›

Результатом регистрации будет создание новой Службы (в этом случае для 1С версии 8.3 для 64-разрядки):

На память

Для удаления (отмены регистрации) службы:

Остановка:

Теперь вы всё знаете о причинах проблемы «сервер 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С из консоли получаем:


Ошибка на сервере или соединение разорвано администратором
Ошибка формата потока

При запуске SQL базы получаем ошибку:


Ошибка на сервере или соединение разорвано администратором.
Ошибка формата потока

И так, исходные данные:

Свежеустановленная Windows 7 Professional x64, все апдейты и т.д. (проблема имеет место и на Server 2008 и на 2008R2)

Установлен сервер 1C x64 (32битный тоже пробовал)

Все работает до перезагрузки. После перезагрузки при попытке подключения к базе в SQL или открытии кластера в консоли 1С получаем отлуп с такими картинками:

При подключении к серверу 1С из консоли получаем:

Ошибка соединения с сервером 1С:Предприятия 8.2:
Ошибка на сервере или соединение разорвано администратором
Ошибка формата потока

При запуске SQL базы получаем ошибку:

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


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

1. Остановка службы сервера 1С:Предприятия 8.2

2. Удаление процессов rmngr.exe rphost.exe (сам вылетает при завершенииrmngr.exe ).

3. Очистка каталога C:\Program Files\1cv82\srvinfo\reg_1541\snccntx (у 32 битного сервера C:\Program Files (x86)\1cv82\srvinfo\reg_1541\snccntx)

4. Запуск службы сервера 1С:Предприятия 8.2

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

Были протестированы:

1. различные релизы, различные серверы,

2. различные пользователи: Система, Администратор, USR1CV82.

3. принудительное выставление полных прав этим пользователям на каталоги C:\Program Files\1cv82\ (у 32 битного сервера C:\Program Files (x86)\1cv82\) с наследованием на дочерние объекты.

4. десятки перезагрузок и многое другое.

Однако причина оказалась куда более неожиданной!

Разыменование в Windows 7 (Server 2008, 2008R2, вероятно и 2012)

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

Выполнить это просто:

1. Запустите командную строку (Win+R, наберите cmd и нажмите ОК)

2. В командной строке наберите команду "Ping" пробел и имя вашего компьютера. Именно имя, а не его IP адрес. Нажмите Enter.

3. Если система начала пинговать себя через адрес вида fabc:de12:3456:7890:ABCD:EF98:7654:3210, или другой отличный от Вашего IP адрес

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

Основа проблемы кроется в том, что 1С сервер не может по имени определить себя.

А вот, отображение Вашего IP в виде IPv6 - одна из самых частых причин возникновения этой ошибки.

Еще одной из причин может быть периодическое подключение к другой сети (допустим ВПНу) когда создается новый интерфейс и Винда опять же начинает разыменовывать себя "неправильно".

Ниже я опишу два решения для обхода этой "особенности".

Предварительно хочу предупредить:

Все действия с Вашим компьютером Вы производите на свой страх и риск.


Вариант №1 Добавить в Hosts свой ПК и его IP

1. Нужно найти файлик hosts в папке C:\Windows\System32\drivers\etc Если в этой папке Вы не видите файлик Hosts, значит он просто скрыт. Тогда можно нажать клавишу ALT и, в появившемся меню, выбрать "Сервис"-"Параметры папок"-"Вид" и снять там галочку "Скрывать защищенные системные файлы". Можно еще установить переключатель "Показывать скрытые файлы, папки, диски", тогда вообще все будет видно. (После манипуляций с Hosts, рекомендую вернуть галочку на ее прежнее место, что бы случайно чего не зацепить в будущем)

2. Открыть этот файлик в Notepad (блокнот) и в конец дописать строку вида 192.168.0.1 Server (IPадрес ИмяПК). Сохранить и закрыть файлик.

3. Попробовать заново пропинговать свой ПК через имя. Если Вы снова не видите нужно IP - что-то пошло не так... Возможно антивирус вернул старую версию файла (Каспер такое любит) или что-то еще.

В общем нужно добиться правильного адреса при пинге через имя.


Стараясь быть впереди планеты всей, Windows 7, мало того что ставит IPv6 сразу ко всем интерфейсам, так она еще и ставит его в качестве дефолтного при разыменовании. Однако на сегодняшний день этот протокол мало кто использует, а следовательно его можно/нужно отключить. Помните, что снятие галочки с протокола IPv6 в интерфейсе сетевой карты ничего не даст!

  1. Нажмите Win+R, напишите regedit и нажмите Enter. Откроется редактор реестра.
  2. Если появиться запрос на разрешение действий, нажмите в диалоговом окне Контроль учетных записей пользователей кнопку Продолжить .
  3. Найдите и выберите следующий подраздел реестра:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\

  4. Дважды щелкните пункт DisabledComponents для изменения параметра DisabledComponents .
    Если параметр DisabledComponents отсутствует, его необходимо создать. Для этого:
    1. Находясь на веткеParameters, в меню Правка выберите пункт Создать , а затем — Параметр DWORD (32 бита) .
    2. Введите DisabledComponents и нажмите клавишу ВВОД.

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