Ошибка с кодом 1 при работе 1С: где возникает и что проверить
Содержание
Код ошибки 1 в 1С — это не конкретная поломка, а общий сигнал «процесс завершился неуспешно». Чтобы исправить системный сбой, сначала найдите, кто вернул этот код: служба агента сервера (Ошибка 1: Неверная функция), пакетный запуск 1cv8.exe из скрипта или задание в планировщике Windows (Последний результат: 0x1). Настоящая причина записана в журнале — в окне ошибки её почти никогда нет.
Тема общая для платформы 8.3 и не зависит от конфигурации: одинаково ведут себя Бухгалтерия, ЗУП, УТ и любые другие решения. Порядок ниже — от безопасных проверок к тем, что требуют остановки работы пользователей.
Откуда берётся код 1 и почему он такой размытый
Любая программа в Windows при завершении отдаёт системе число — код возврата. Ноль означает успех, всё остальное — неудачу. Единица — самый общий вариант: «что-то пошло не так», без уточнения.
В связке с 1С код 1 появляется в трёх местах:
- 🖥️ Служба «Агент сервера 1С:Предприятия 8.3» не стартует. В оснастке «Службы» выходит окно
Windows не удается запустить службу ... Ошибка 1: Неверная функция. Для Windows это системная ошибкаERROR_INVALID_FUNCTION, а по факту процессragent.exeупал при запуске. - ⚙️ Пакетный режим
1cv8.exe DESIGNER— выгрузка.dt, обновление конфигурации , загрузка.cf. Скрипт получает код 1, когда операция не выполнилась. - 🕒 Планировщик заданий Windows запускает bat-файл с резервным копированием или обменом. В свойствах задачи видно
(0x1). Это код, который вернул сам скрипт или последняя команда в нём.
Реже код 1 встречается в тексте исключения внутри 1С, когда платформа пересказывает ответ операционной системы или СУБД. Логика та же: смотреть, кто первоисточник.
Сначала запишите точный текст окна и время ошибки до минуты. По времени вы найдёте нужную запись в журналах за пару минут, а без него — будете листать сотни строк.
Какой у вас случай: быстрая сортировка
Диагностика ошибки с кодом 1 по журналам
Журналов три, и каждый закрывает свою часть картины.
Журнал регистрации 1С
Если база вообще открывается, начните с него. В Бухгалтерии 3.0, ЗУП 3.1 и УТ 11 путь одинаковый: Администрирование → Обслуживание → Журнал регистрации.
- Установите отбор по периоду: 5 минут до и после ошибки.
- Включите отбор по уровню «Ошибка».
- Откройте запись двойным щелчком. В поле комментария обычно лежит полный текст исключения со стеком вызовов.
В Конфигураторе тот же журнал открывается через Администрирование → Журнал регистрации.
Журнал событий Windows
Для службы агента сервера и скриптов он важнее, чем журнал 1С. Запустите eventvwr.msc и откройте Журналы Windows → Приложение, затем Журналы Windows → Система.
- В «Системе» ищите записи диспетчера управления службами о том, что служба агента 1С завершилась с ошибкой.
- В «Приложении» ищите записи с источником, в имени которого есть
1C, и сбоиragent.exe,rmngr.exe,rphost.exeили1cv8.exe.
Сверяйте время. Запись за секунду до падения службы почти всегда и есть причина: нет доступа к файлу, занят порт, не найдена библиотека.
Технологический журнал
Когда первые два журнала молчат, включите технологический журнал платформы. Он настраивается файлом logcfg.xml в каталоге conf установленной платформы, например C:\Program Files\1cv8\conf\. Минимальная настройка, которая ловит только исключения:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\1c_techlog" history="24">
<event>
<eq property="name" value="EXCP"/>
</event>
<property name="all"/>
</log>
</config>
Платформа подхватывает файл без перезапуска, примерно через минуту. Повторите ошибку и откройте свежие файлы в C:\1c_techlog. Параметр history="24" хранит логи 24 часа.
Не оставляйте техжурнал включённым после диагностики. Даже с одним событием EXCP на нагруженном сервере файлы растут быстро и могут занять диск.
Очистка кэша и временных файлов платформы
Повреждённый кэш клиента — частая причина сбоев, которые проявляются у одного пользователя и не воспроизводятся у других. Платформа хранит там копию метаданных конфигурации, и после неудачного обновления копия расходится с базой.
Самый простой способ — запуск с параметром /ClearCache. Добавьте его в поле «Дополнительные параметры запуска» в настройках базы в окне запуска или запустите из командной строки:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /ClearCache
Если не помогло, удалите кэш вручную:
- Закройте все окна 1С у этого пользователя. Проверьте в диспетчере задач, что не осталось процессов
1cv8.exeи1cv8c.exe. - Откройте
%APPDATA%\1C\1cv8и%LOCALAPPDATA%\1C\1cv8(наберите путь в адресной строке Проводника). - Удалите папки с длинными именами вида
a1b2c3d4-...— это кэши отдельных баз. - Файлы
1cestart.cfgиibases.v8iв%APPDATA%\1C\1CEStartне трогайте: там список баз пользователя. - Заодно очистите
%TEMP%от старых файлов — платформа кладёт туда временные данные, и переполненный каталог тоже даёт сбои.
На сервере 1С есть свой кэш — сеансовые данные в каталоге кластера srvinfo\reg_1541\snccntx*. Его чистят только при остановленной службе агента.
Остановка службы агента сервера обрывает сеансы всех пользователей всех баз кластера. Делайте это вне рабочего времени и предупредите людей заранее.
Права доступа, учётная запись службы и совместимость
Когда служба агента выдаёт Ошибка 1: Неверная функция, в первую очередь проверьте три вещи.
Путь запуска службы
Откройте свойства службы в services.msc и посмотрите поле «Исполняемый файл». Строка должна выглядеть примерно так:
"C:\Program Files\1cv8\8.3.25.1445\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Типичная поломка — после удаления старой версии платформы служба продолжает ссылаться на папку, которой больше нет. Тогда ragent.exe просто не находится. Проще всего заново зарегистрировать службу установщиком нужной версии с галочкой «Установить 1С:Предприятие 8 как сервис Windows ». Править путь в реестре вручную не стоит: ошибка в строке даст тот же результат.
Права учётной записи
Служба обычно работает от пользователя USR1CV8 или от доменной учётной записи. Ей нужно:
- 🔑 полный доступ к каталогу
srvinfo(путь из параметра-d) и всем вложенным папкам; - 🔑 право «Вход в качестве службы» в локальной политике безопасности (
secpol.msc → Локальные политики → Назначение прав пользователя); - 🔑 доступ на чтение к каталогу платформы
bin; - 🔑 для файловых баз и обменов через сетевые папки — доступ к этим папкам.
Если пароль учётной записи службы недавно меняли, служба тоже может не подняться. Введите новый пароль на вкладке «Вход в систему» свойств службы.
Порты и совместимость
Проверьте, что порты агента и менеджера кластера свободны:
netstat -ano | findstr ":1540 :1541"
Если порт занят процессом не от 1С, по PID из последней колонки найдите его в диспетчере задач. Частая история — на сервере уже стоит вторая служба агента другой версии на тех же портах.
Для клиентского 1cv8.exe откройте свойства ярлыка, вкладку «Совместимость». Режим совместимости со старыми версиями Windows там должен быть выключен. Галочка «Запускать от имени администратора» годится только для проверки: если с ней ошибка пропала, значит, не хватает прав на кэш или каталог базы, и права нужно выдать, а не оставлять запуск с повышением.
Код 1 в пакетном запуске и планировщике задач
Здесь код 1 означает только одно: команда не выполнилась. Чтобы увидеть причину, заставьте платформу писать лог. Пример выгрузки базы в .dt:
@echo off
set V8="C:\Program Files\1cv8\8.3.25.1445\bin\1cv8.exe"
%V8% DESIGNER /S "srv1c\buh" /N "Администратор" /P "пароль" ^
/DisableStartupDialogs /DisableStartupMessages ^
/DumpIB "D:\Backup\buh.dt" /Out "D:\Backup\dump.log"
echo Код возврата: %ERRORLEVEL%
Для файловой базы вместо /S "srv1c\buh" укажите /F "D:\Bases\Buh". После запуска откройте dump.log — там будет текст вроде «Ошибка соединения с информационной базой» или «Информационная база используется другими пользователями».
Что чаще всего ломает задание в планировщике:
| Причина | Признак | Что сделать |
|---|---|---|
| Путь с пробелами без кавычек | Вручную работает, из планировщика — 0x1 | Взять пути в кавычки, как в примере |
| Не задана рабочая папка | Лог не создаётся там, где ждали | Заполнить поле «Рабочая папка» в действии задачи |
| Сетевой диск по букве | Z:\ не найден | Указать UNC-путь \\server\share\ |
| Учётная запись задачи без прав | Задача падает при выходе пользователя из системы | Выдать права на базу и папку бэкапов, включить «Выполнять для всех пользователей» |
| В базе есть активные сеансы | В логе — база занята | Запускать ночью, завершать сеансы заранее, использовать код разрешения блокировки /UC |
Если пароль администратора базы лежит в bat-файле открытым текстом, ограничьте права на этот файл. Читать его должна только учётная запись задачи.
Проверка целостности базы и конфигурации
Если сбой повторяется у всех пользователей, а журналы указывают на чтение данных или метаданных, база может быть повреждена.
Перед любой проверкой с исправлением выгрузите базу в .dt или сделайте копию каталога файловой базы. Режим исправления меняет данные, и откатить это без копии нельзя.
- Проверка конфигурации. В Конфигураторе:
Конфигурация → Проверка конфигурации. Она ищет ошибки в модулях и метаданных и не меняет данные — запускать можно в любой момент. - Тестирование и исправление. В Конфигураторе:
Администрирование → Тестирование и исправление. Нужен монопольный доступ: все пользователи должны выйти из базы. Сначала запустите только с проверкой логической целостности, без исправления, и прочитайте отчёт. - Утилита chdbfl.exe — только для файловых баз. Лежит в каталоге
binплатформы. Проверяет физическую целостность файла1Cv8.1CD, когда база не открывается даже в Конфигураторе. Перед запуском закройте все сеансы. - Для клиент-серверной базы физическую целостность проверяют средствами СУБД: в MS SQL —
DBCC CHECKDB, в PostgreSQL — на уровне резервной копии и журналов сервера.
-- MS SQL Server: проверка базы без исправления
DBCC CHECKDB ('buh') WITH NO_INFOMSGS;
Если Тестирование и исправление нашло ошибки ссылочной целостности, решите, что с ними делать: создавать объекты-заглушки или очищать битые ссылки. Для учётной базы безопаснее первый вариант — заглушки потом видно и можно разобрать вручную.
Особые случаи и версия платформы
Часть сбоев с кодом 1 уходит только после смены или переустановки платформы.
- 🔢 Разные версии клиента и сервера. В клиент-серверном варианте версия клиента должна совпадать с версией сервера 1С до последней цифры, например обе 8.3.25.1445. Иначе подключение не устанавливается.
- 💽 Нет места на диске. Сервер 1С, СУБД и каталог
%TEMP%при нехватке места падают с невнятными кодами. Держите свободными хотя бы 10–15% диска с базами иsrvinfo. - 🛡️ Антивирус. Блокировка
rphost.exeили файлов базы выглядит как случайный сбой. Добавьте в исключения каталоги платформы,srvinfoи баз — по согласованию с тем, кто отвечает за безопасность. - 🧩 Повреждённая установка платформы. Если
1cv8.exeпадает сразу при старте на одном компьютере, переустановите ту же версию через «Программы и компоненты» → «Изменить» → «Восстановить» или удалите и поставьте заново. - ⬆️ Конфигурация требует более новую платформу. После обновления конфигурации она может требовать платформу с номером не ниже указанного в описании релиза. Поставьте нужную версию на клиенты и сервер одновременно.