Платформа 8.3.10.2650, сервер SQL 2014, windows server 2012 R2, виртуальная машина на Hyper-V, сервер БД и сервер 1С (32 гб памяти) это разные виртуальные машины на одном сервере

Симптомы:
1. Не работает отладчик. Порты 1560-1591 открыты, отладка по протоколу TCP/IP, брендмауэр и антивирус отключены, параметр -debug выставлен. Конфигуратор при этом просто не видит предмет отладки, никаких сообщений об ошибке не выдает. Т.е. я ставлю точку останова, запускаю предприятие и программа просто не переходит в конфигуратор. При этом отладка работает в клиентских процедурах и функциях.

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

3. Зависает самописная база при проведении документа, причем именно на куске кода "Отказ=истина" (выяснил это экспериментальным путем, удаляя куски кода). Но на моем домашнем компе база работает как надо, ошибка явно не в коде.

Возможно конечно все эти ошибки друг с другом не связаны, но все они критичны и это на мой взгляд это именно проблема настройки сервера.
---
Я говорю про конфигурационные файлы, папка srvinfo, когда служба не имеет доступ к этой папке целиком ее клинить начинает, то базы отвалятся, то журналы не пишутся. Я у себя на рабочем сервер убрал с диска С: эту папку, заколебался править права после применения политики безопасности, а прописывать отдельно для 1С не хотелось.
---
1) Попробуйте в конфигураторе в верхнем меню : Сервис - параметры - запуск 1С:предприятия - основные - Параметр запуска : РежимОтладки
или /C РежимОтладки
---
РежимОтладки
или /C РежимОтладки
Не помогло
---
Проверьте сетевые настройки виртуального коммутатора и машин.
---
Какие именно настройки?
---
Конфигурацию виртуальной сети, настройки драйверов физ. адаптеров для использования в виртуальной среде, пакет hype-v tools на виртуальных машинах.
---
1. Конфигурация виртуальной сети - на одной физической машине есть два виртуальных сервера, сервер баз данных и сервер платформы, они соединены внутри с помощью виртуального коммутатора

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

3. Пакет hype-v tools установлен.
---
Я так понимаю у вас не используется частная сеть между серверами, если так то надо смотреть в сторону драйвера физической карты, поддерживает они режим виртуализации, и включен ли такой режим у нее, по всем признакам у вас теряются периодические пакеты, не согласованность виртуального коммутатора и сетевой карты..
---
режим виртуализации поддерживается и включен
---
Насколько часто отваливается база, может в определенные интервалы времени. Ресурсов на физ. сервере достаточно для двух машин, может есть промежутки времени, в которые гипервизор приостанавливает какую н ибудь машину. Проверьте пинги между серверами, на минут 10-20 запустите с сохранением в файл и посмотрите отваливается или нет.
---
Базы отваливаются редко, один раз в две недели (последний раз вообще месяц назад, тут нет никакой периодичности), ресурсов хватает, сервак мощный
---
Вы просто могли ему оставить мало ресурсов отдали все виртуальным машинам. Если редко отваливаются, то надо и смотреть на состояние сервера в тот момент когда отвалилась база. Так не определить причину. По поводу отладки, на самом сервере 1С работает? В 1С включали разрешить отладку? Проверьте доступность по имени, подключайтесь к серверу по IP адресу в качестве теста
---
По ресурсам все норм, я еще раз у админа уточнил, у нас многие бизнес процессы подвисали бы без этого, а кроме 1С больше глюков с сервером нет. На самом сервере отладка тоже не работает. Может я туплю по поводу отладки на сервере - я запускаю удаленный доступ, захожу через удаленный доступ в 1с и там запускаю отладку.

(61) В 1С включали разрешить отладку?
Вы имеете ввиду сервис параметры в клиентском приложении? Если да, то разрешена в текущем сеансе, протокол tcp/ip.

На сервер могу заходить через удаленный рабочий стол.
---
Если на сервере не работает, значит на косячили с параметрами запуска службы, у меня так тестовом сервере "C:\Program Files\1cv8\8.3.12.1412\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d "C:\Program Files\1cv8\srvinfo". Когда меняете что то в параметрах обязательно службу перезапускать.
---
Ну у нас вот так
---
Ну значит проблем не должно быть, перестартоните службу и проверьте права на папку с базами, иногда серверы затирают их применяя политики безопасности, особенно когда она находится в этой папке.
---
Базы находятся на отдельном виртуальном сервере, папки с базами нет.

Рестарт не помогает, я проверял уже.

В том и суть, я ведь перед созданием темы на форуме шерстил интернет неделю и вроде все должно работать, а не работает. Пишу сейчас базу как слепой котенок без отладчика.
---
Я говорю про конфигурационные файлы, папка srvinfo, когда служба не имеет доступ к этой папке целиком ее клинить начинает, то базы отвалятся, то журналы не пишутся. Я у себя на рабочем сервер убрал с диска С: эту папку, заколебался править права после применения политики безопасности, а прописывать отдельно для 1С не хотелось.
---
Дали полные права к этой папке юзеру под которым запускается платформа, ничего не дало. Надо после изменения прав сервер перезагружать?
---
Желательно, достаточно только службу перегрузить, и проверьте в начале локальную серверную отладку, если заработает то дальше разбирайтесь. Сомневаюсь я что здесь проблема с самой 1С, что то с настройками, может сервера, может сервера 1С. Журнал ОС посмотрите может есть какие то подозрительные события.
---
Надо было сервак перезагрузить, после перезагрузки все заработало
---
я бы попросил админа поставить все хозяйство (особо 1с-ное) без всяких виртуальных машин. Сталкивался с подобным же как у вас в п2 и п3, просто необъяснимые ошибки без видимых причин. Не стал долго разбираться, поставили на метеринский серв без виртуальной машины и все шуршит прекрасно до сих пор. По п1. уже подсказали - скорее всего брандмауэр не настроен, что то с портами.
Да, еще рекомендую 8.3.10.2667 из ветки 8.3.10, он более стабильный. А с 8.3.10.2650 как у вас какие то проблемы были помню точно. Начните с обновления релиза платформы просто
---
брандмауэр
Отключен.

Хотелось бы остаться с текущей конфигурацией сервера. Неужели никто больше не работает с виртуальными машинами на 1С.
---
Попробую поставить новую платформу
---
Платформа 8.3.10.2650
А других платформ на сервере не стоит?
Была похожая проблема. Снесли все платформы - накатили заново и чудо - всё заработало.
---
Нету других платформ
---
Я уверен что вся проблема от установки платформы, возможно не под Админскими правами, отсюда и траблы.
---
Технологический журнал вам в руки. Причины могут быть разнообразными (пример), без логов вы долго будете выяснять причины.
---
Я настроил технологический журнал, вот только логи мне ни о чем не говорят

58:19.447023-0,EXCP,3,process=rphost,p:processName=UTMC,t:clientID=24108,t:applicationName=Designer,t:computerName=DROBOTUN-PC1,t:connectID=1427461,Exception=9db1fa37-b455-4f3f-b8dd-7de0ea7d6da3,Descr="src\DataSeparationService.cpp(4307):
9db1fa37-b455-4f3f-b8dd-7de0ea7d6da3: Файл не обнаружен 'v8srvr://um-ones/UTMC/Files/SprScndInfo': src\FolderFilesImpl.cpp(343):
9db1fa37-b455-4f3f-b8dd-7de0ea7d6da3: Файл не обнаружен 'UTMC/Files/SprScndInfo': src\FileHostImpl.cpp(1172)"

Что за файл он не смог обнаружить?
---
пригласите специалиста
от нас то что надо ?
---
Я предположил, что на специализированном форуме мне смогут подсказать в чем может быть проблема
---
Зовите того, кто поставил бд и 1с на разные вирт машины
---
Он сидит рядом со мной, что ему передать?
---
А чем вам не нравится настройка сервера бд и сервера 1С на разные виртуальные машины?
---
А тем, что практического смысла в этом в принципе немного.
 И удобства такой виртуализации не перекрывают неудобств, аналогичных тому что возникли у автора в САБЖе
---
Это исключительно ваше личное мнение, которое не является обязательным для других. Как вы себе представляете работу сервера 1С и бд Oracle на одной виртуальной машине, например?
---
Привет передай в первую очередь. Добра и здравия тоже пожелай.
---
1. Конфигуратор запускаете на сервере 1С, или с другого компьютера?
2. sqlncli.msi на сервере 1С установлен?
3. Проверьте размер логов сервера 1С по данной базе. Если они сильно распухли то их надо почистить.
---
1. Конфигуратор запускаю с другого компа.
2. sqlncli.msi стоит только на сервере баз данных, на сервере 1с не стоит
3. Логи не велись, я технологический журнал только сегодня настроил
---
1. Если конфигуратор запускать с сервера 1С, отладка работает?
2. Обязательно надо поставить sqlncli.msi на сервер 1С.
3. Я не про тех. журнал, а про логи сервера 1С для каждой базы данных. Обычно они лежат в каталоге "C:\Program Files\1cv8\srvinfo\reg_1541\ИД_Базы\1Cv8Log". Если файл больше десятка гигобайт то стоит попробовать его либо почистить, либо удалить (если у вас нет политики учета логов).
---
1. Нет, не работает
2. А что это и зачем оно?
3. Как узнать ид базы? Кстати сама папка весит 46 гигов, я имею ввиду вообще вся папка по всем базам, у нас их много.
---
1. Если с сервера 1С отладка так же не работает, то она у вас не включена. Покажите строчку реестра где у вас прописан ключ -debug
2. С некоторых не столь отдаленных пор сервер 1С требует наличия клиентской части sql-сервера для нормальной работы. Требование появилось с многострадального релиза 8.3.9.1818. Пример ошибок при отсутствии sqlncli.msi
3. ID базы можно посмотреть в файле C:\Program Files\1cv8\srvinfo\reg_1541\1СV8Clst.lst
---
1. Скриншот прилагаю.
2. sqlncli.msi в ближайшее время поставим
3. Чем открыть этот файл?
---
1. Попробуйте перенести -debug сразу после -d, до указания пути. Вроде не важно, но как-то раз я столкнулся с тем, что это решило проблему с отладкой.
3. 1СV8Clst.lst - блокнотом. Это обычный текстовый файл.
---
1. Не помогло.
2. Вес папки с базой 49 килобайт, но вес всех папок 46 гигов, это нормально?
---
Странно что оно вообще запустилось ибо ключ -d определяет директорию, которая указана после него в кавычках, ключ -debug как раз нужно выставлять перед -d
---
нет ни какой разницы где расположен ключ ))
---
Серьезно? попробуйте запустить сервер с такой строкой ... -d -debug "C:\Program Files...
---
серьезно, я не имел ввиду разрыв параметров, потому как путь это параметр ключа -d ))
---
Так и я о чем)) ТС в 26 пишет, что воспользовался советом из 25(а там как раз речь идет о разрыве параметров)
---
С некоторых не столь отдаленных пор сервер 1С требует наличия клиентской части sql-сервера для нормальной работы. Требование появилось с многострадального релиза 8.3.9.1818. Пример ошибок при отсутствии sqlncli.msi

Админ еще раз посмотрел, этот компонет был установлен и на сервере платформы в том числе.
---
Кстати, проблема в пункте 3 вполне может быть из-за возникающих взаимоблокировок на сервере 1С или сервере БД. Собственно поэтому на вашей домашней базе работает, а в продакте нет. Можете показать весь код проведения документа?
---
Самое смешное, что сейчас проведение работает, хотя еще утром не работало, база просто висла, а вот код. Блокировки я не ставил, так как в базе будет работать только один человек.

```1c
    Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    // 1. Получение запросом данных документа
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    Запрос.Текст =
    "ВЫБРАТЬ
    | СписаниеНоменклатурыНоменклатура.Номенклатура КАК Номенклатура,
    | СписаниеНоменклатурыНоменклатура.Склад КАК Склад,
    | СУММА(СписаниеНоменклатурыНоменклатура.Количество) КАК Количество
    |ПОМЕСТИТЬ НоменклатураДокумент
    |ИЗ
    | Документ.СписаниеНоменклатуры.Номенклатура КАК СписаниеНоменклатурыНоменклатура
    |ГДЕ
    | СписаниеНоменклатурыНоменклатура.Ссылка = &Ссылка
    |
    |СГРУППИРОВАТЬ ПО
    | СписаниеНоменклатурыНоменклатура.Номенклатура,
    | СписаниеНоменклатурыНоменклатура.Склад
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
    |ВЫБРАТЬ
    | НоменклатураДокумент.Номенклатура КАК Номенклатура,
    | НоменклатураДокумент.Склад КАК Склад,
    | НоменклатураДокумент.Количество КАК Количество
    |ИЗ
    | НоменклатураДокумент КАК НоменклатураДокумент";

    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    РезультатЗапроса = Запрос.Выполнить();

    // 2. Формирование движений-расход регистра
    Движения.РегистрХранения.Очистить();
    ВыборкаНоменклатура = РезультатЗапроса.Выбрать();

    Пока ВыборкаНоменклатура.Следующий() Цикл
    Движение = Движения.РегистрХранения.ДобавитьРасход();
    Движение.Период = Дата;
    Движение.Склад = ВыборкаНоменклатура.Склад;
    Движение.Номенклатура = ВыборкаНоменклатура.Номенклатура;
    Движение.Количество = ВыборкаНоменклатура.Количество;
    КонецЦикла;

    // 3. Запись движений в БД
    Движения.РегистрХранения.Записывать = Истина;
    Движения.Записать();

    // 4. Запрос, получающий отрицательные остатки из регистра
    Запрос.Текст =
    "ВЫБРАТЬ
    | РегистрХраненияОстатки.Номенклатура КАК Номенклатура,
    | ПРЕДСТАВЛЕНИЕССЫЛКИ(РегистрХраненияОстатки.Номенклатура) КАК НоменклатураПредставление,
    | -РегистрХраненияОстатки.КоличествоОстаток КАК Дефецит
    |ИЗ
    | РегистрНакопления.РегистрХранения.Остатки(
    | &МоментВремени,
    | (Номенклатура, Склад) В
    | (ВЫБРАТЬ
    | НоменклатураДокумент.Номенклатура,
    | НоменклатураДокумент.Склад
    | ИЗ
    | НоменклатураДокумент)) КАК РегистрХраненияОстатки
    |ГДЕ
    | РегистрХраненияОстатки.КоличествоОстаток < 0";

    ГраницаКонтроля = Новый Граница(МоментВремени(), ВидГраницы.Включая);
    Запрос.УстановитьПараметр("МоментВремени", ГраницаКонтроля);
    РезультатЗапроса = Запрос.Выполнить();

    // 5. Вывод сообщений о недостатке товаров
    Если Не РезультатЗапроса.Пустой() Тогда
    Отказ = Истина;
    ВыборкаОшибки = РезультатЗапроса.Выбрать();
    Пока ВыборкаОшибки.Следующий() Цикл
    Сообщить("Товара "+ВыборкаОшибки.НоменклатураПредставление+" недостаточно в количестве "+ВыборкаОшибки.Дефецит+" шт.");
    КонецЦикла;
    КонецЕсли;
    КонецПроцедуры
```
---
Блокировки надо ставить в любом случае, даже если у вас один пользователь работает. Если у вас используются управляемые блокировки то попробуйте немного изменить код:

```1c
    // 2. Формирование движений-расход регистра
    Движения.РегистрХранения.Очистить();
    Движения.РегистрХранения.БлокироватьДляИзменения = Истина;
    ВыборкаНоменклатура = РезультатЗапроса.Выбрать();

    Пока ВыборкаНоменклатура.Следующий() Цикл
    Движение = Движения.РегистрХранения.ДобавитьРасход();
    Движение.Период = Дата;
    Движение.Склад = ВыборкаНоменклатура.Склад;
    Движение.Номенклатура = ВыборкаНоменклатура.Номенклатура;
    Движение.Количество = ВыборкаНоменклатура.Количество;
    КонецЦикла;
```
---
Зачем записывать движения до проверки остатков? Почему не проверить остатки до записи? Получается ведь что сначала запишется, а в случае нехватки товара транзакция отменится, в чем смысл?
---
Это "новая методика проведения". Рекомендуется к использованию в тех случаях, когда для записи данных в регистр нам не требуется читать данные этого же самого регистра.
---
"Симптомы:
1. Не работает отладчик. Порты 1560-1591 открыты, отладка по протоколу TCP/IP, брендмауэр и антивирус отключены, параметр -debug выставлен. Конфигуратор при этом просто не видит предмет отладки, никаких сообщений об ошибке не выдает. Т.е. я ставлю точку останова, запускаю предприятие и программа просто не переходит в конфигуратор. При этом отладка работает в клиентских процедурах и функциях. "
Формы обычные или управляемые?
---
Управляемые
---
Если в меню "Отладка" - "Подключение" - "Автоматическое подключение" - "Автоматическое подключение" поставить галки, то например, фоновые задания ловит отладчик в серверных процедурах /функциях?
И, вообще, в поле "Подключенный предметы отладки" есть подключение с типом "Сервер"?
---
в поле "Подключенный предметы отладки" вообще ничего нет
---
Попробуйте в меню "Отладка" - "Подключение" поставить галку "Искать предметы отладки на удаленном компьютере". И указать компьютер, на котором запущен сеанс информационной базы, отладку которого вы хотите произвести. Насколько я знаю можно указывать имя компьютера в сети или его ip.
---
Предмет отладки найден, но точки останова все равно работают только в клиентских процедурах и функциях, на серверных остановки не происходит
---
"Предмет отладки найден" в каком окошке: "Доступные предметы отладки" или "Подключенные предметы отладки"?
---
"Подключенные предметы отладки"
---
В поле "Подключенные предметы отладки" есть подключение с типом "Сервер"? Какие там есть типы подключений?
---
Вот скрин
---
"Сервер" отсутствует - это плохо, но "Тонкий клиент" же есть, это хорошо ))
Попробуйте в сеансе информационной базе запустить "Сервис" - "Параметры" и указать "Сервер отладки".
---
Вот это что-то новенькое. Пункт сервер отладки у меня неактивен в запущенном клиенте
---
My Webpage
Читали данный топик.? Беглый просмотр показал, что вроде проблема схожа с Вашей и автор той темы все же нашёл решение. Возможно Вам тоже пригодится.
---
Читал, там в основном брандмауэр, а у меня он отключен и на серваке и клиенткой машине. debug прописан, название базы в верхнем регистре, вместо имени сервака ип-адрес, все это пробовал
---
По поводу отладки на вирт. серверах: на клиенте, где работают пользователи, то-же бранд выключен, если нет, надо добавить правило для приложения 1cv8.exe (любые порты) (пройденный этап) для входящих подкл.!
---
Брендмауэр выключен и на клиентском тоже
---
что-то не уверен, у вас на лицо проблемы с брандом
---
Вот скрины, первый это клиентская машина, второй это сервер. Поверьте, если бы дело было банально в брандмауэре или антивирусе, то я бы и тему на форуме здесь не создавал
---
в конфигураторе в меню настройки отладки установить диапазон пошире, например

 1560-1621
---
Не помогло
---
помимо ключа -debug должен быть ключ -tcp, т.е на сервере при запуске службы должно быть прописано -debug -tcp
---
Добавил, не помогло
---
Первый раз о таком слышу. Отладка отлично работает и без этого
---
Было аналогично по п.1 Долго не копал. Решилось установкой новой платформы.
---
Все что на ваших скриншотах показано присутствует и у нас
---
Попробуйте вместо имен серверов использовать ip адреса
---
Уже использую
---
Попробуй следующее:
"Администрирование серверов 1С Предприятия"
Рабочие серверы
Сервер
Требования назначения функциональности
Нужно убедиться что нет всякого хлама ! По-минимуму должно быть:
Сервис лицензирования - назначать - для всех
Клиентское соединение с ИБ - назначать - для всех
Правый клик на CLUSTER1 - Применить назначения функциональности (полное)
Обязательно применить назначения функциональности (полное) - иногда настройки не прменяются хотя выставлены
---
Имя информационной базы и название сервера на клиентском пк должны совпадать с зарегистрированной базой в консоли администрирование сервера 1с с учетом регистра.
Т.е. если у вас имя сервера 1с к примеру Server1C и зарегистрирована на нем база Base1C, то на клиентском пк в 1с надо добавить Srvr="Server1C";Ref="Base1C";. Добавив к примеру такую базу Srvr="server1c";Ref="base1c"; - запускаться она будет, но серверная отладка работать не будет.
---
В качестве названия сервера указан ip-адрес. Названия баз по регистру полностью идентичны
---
вместо ip-адреса сервера укажите имя сервера
у вас сервер 1с зарегистрирован по имени самого сервера, а вы пытаетесь запустить отладку по ip адресу
---
Раньше было именно название, это мне здесь порекомендовали указать ip-адрес
---
Ставите 3 виртуальную машину, виртуальный коммутатор лучше использовать внешний, разворачиваете на ней 1с сервер + SQL. Устанавливаем обновления все. Платформу старую тоже смысла ставить нет (если только на клиентах 1С вручную не обновляется конечно). При создании баз в настройках в качестве сервера SQL прописываете в итоге localhost. Потребление оперативной памяти сервером SQL ограничиваете половиной доступной серверу оперативной памяти. Все должно замечательно работать.

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

Справедливости ради стоит заметить, что варианты, когда сервер 1С на одной виртуальной машине, а SQL на другой - вполне рабочие. Вся экзотика в виде соблюдения регистра в имени сервера - ни к чему. Все должно отлично работать с нуля безо всяких танцев. Очень вероятно, что виновато у вас скорее железо, чем программная часть.
---
и в каком же месте виновато железо?
---
А вот мысль поражающая своей новизной: Если видимых проблем в настройках сервера не наблюдается, - так может их просто нет ?!
Что если проблема связана с клиентской машиной на которой производится отладка ?!
(Типа удалить все версии 1С, почистить кеш, установить клиентскую часть 1С заново; netsh winsock reset)
---
Возможно у кого-то проблема будет связана именно с этим, но у меня она была связано с правами доступа
---
К слову говоря вашу версию легко проверить, если попытаться запустить отладку на другой машине, у меня вообще нигде отладка не работала, по всему офису.
---
У Вас службы запускаются под пользователем который виден везде? Прав хватает у пользователя под которым запущена служба на все?
---
Прямо детективная история