В информационных базах на платформе 1С могут возникнуть множество различных ошибок:
нарушение логической/физической целостности базы, ошибки пользователей, «кривой» код разработчика и многое другое.
Причин может быть множество: отключили свет, и не было источника бесперебойного питания, или вечер пятницы удался, и пользователь уже и не может вспомнить в понедельник, что он натворил такого.
Во-первых, стоит задать несколько уточняющих вопросов пользователю:
1) Релизы платформы/конфигурации.
2) Полный текст сообщения об ошибке. Пользователи имеют досадное свойство не читать целиком такие сообщения, а возможно в нем содержится рекомендация к устранению неисправности.
3) Как давно возникла и при каких обстоятельствах появляется. Не воспроизводимые ошибки, которых мы ранее не встречали, мы наврядли сможем исправить.
4) Возникает ли если запустить 1с с другого компьютера/от другого пользователя? Это даст нам пищу для размышлений – сможет ли помочь очистка кэша, настройка прав, или очистка настроек пользователя.
Теперь немного о самих ошибках и том как их решать.
Общее:
Часть ошибок возникает при использовании нелицензионного ПО (windows, 1C и т.д.).
Распространенный пример – ломаная платформа. Один из патчей взламывает конкретную версию платформы, поэтому после установки новой версии платформы и попытке зайти в базу можно увидеть окно «Не обнаружено свободной лицензии».
Если Вы встретили ошибку в первый раз — возможно, кто-то уже ее встречал —
поищите в google, возможно кто-то уже с этим сталкивался и решил проблему, и Вы не потратите лишних пару часов своего времени.
Релиз конфигураций должен быть актуальным (в первую очередь для конфигураций из которых сдается регламентированная отчетность), неспроста на линии консультаций практически всегда предлагают вначале обновиться, а потом уже смотреть дальше.
Актуальный релиз платформы — у каждой конфигурации написано, какой релиз платформы рекомендован для работы с этой конфигурацией.
Технологический журнал позволяет протоколировать все события 1С:Предприятия (или часть, используя фильтр).
Про него можно прочитать здесь и здесь.
!!!ВАЖНО
Перед любыми действиями с базой — сделать архивную копию!
Если база не открывается в конфигураторе — скопировать папку с базой и выполнять все операции на копии!
1) База вообще не открывается ни в пользовательском режиме, ни в конфигураторе.
- Самое быстрое, что можно сделать — очистить временные файлы (удалить базу из списка баз и подключить заново)
Это действие не удалит временные файлы (кэш), а создаст новую папку для временных файлов базы, удалить файлы можно:
В Windows 7 в C:UsersИмя_ПользователяAppDataRoaming1C1Cv8x
В Windows XP C:Documents and SettingsИмя_ПользователяApplication Data1C1Cv8х
- Также можно попытаться зайти в базу от другого пользователя.
- Если база файловая, то стоит запустить утилиту для тестирования физической целостности базы chdbfl. Она находится в папке:
C:Program Files (x86)1cv88.x.x.xxxinchdbfl.exe
- Если база sql-ная то тестирование средствами sql.
- Если ни то ни другое не помогло, то можно обновить платформу (см. под какой платформой работает релиз)
- Если не получилось ничего из перечисленного, можно воспользоваться программкой Tool_1CD. Ссылка.
2) Если база при запуске уходит в дамп.
- Отключить аппаратное ускорение видеокарты:
В Windows XP:
- Откройте свойства экрана. Это можно сделать через Панель управления, или просто щелкнув правой кнопкой мыши по любому месту рабочего стола, свободному от окон и значков, и выбрав пункт контекстного меню «Свойства».
- В открывшемся окне настройки дисплея перейдите на закладку «Параметры» и нажмите кнопку «Дополнительно».
- В открывшемся окне свойств видеокарты перейдите на вкладку «Диагностика».
- Передвиньте движок «Ускорение» в крайнюю левую позицию («нет») и нажмите «Применить» или «Ок». Аппаратное ускорение отключено. Изменения вступят в силу после перезагрузки системы.
В Windows 7:
- Откройте Панель управления (Пуск — Панель управления).
- Найдите и откройте элемент «Экран».
- В левой части открывшегося окна щелкните по ссылке «Настройка параметров экрана».
- В открывшемся окне нажмите на ссылку «Дополнительные параметры».
- Перейдите на вкладку «Диагностика» и нажмите кнопку «Изменить параметры».
- В открывшемся окне передвиньте движок в крайнее левое положение («нет») и нажмите «Ок». Если UAC включен, придется подтвердить, что изменения санкционированы пользователем. Аппаратное ускорение отключено. Изменения вступят в силу после перезагрузки системы.
В Windows 7 в некоторых случаях кнопка «Изменить параметры» будет неактивна. В этом случае отключить аппаратное ускорение невозможно, так как видеокарта и ее драйвер не поддерживают манипуляции аппаратным ускорением.
Подробнее: http://www.kakprosto.ru/kak-2210-kak-otklyuchit-apparatnoe-uskorenie#ixzz331zNZKaX
- Если антивирус Касперский, то можно попробовать отключить самозащиту и переименовать файлы kloehk.dll и mzvkbd3.dll в папке Касперского. (Ошибка возникала на старых версиях 2011 года, но еще иногда встречается)
- Проверить соответствие релиза платформы/конфигурации.
- Попробовать зайти в базу с другой платформы.
3) База открывается в конфигураторе, но не хочет заходить в пользовательский режим.
- Очистка временных файлов
- Попытка зайти за другого пользователя
- chdbfl / тестирование средствами sql
- Тестирование и исправление ИБ:
В конфигураторе Администрирование-Тестирование и исправление – галочки в зависимости от ситуации. - Выгрузка в *.dt и загрузка в «чистую» базу
- Попробовать создать др. пользователя с полными правами и зайти от него.
- Попробовать перенести на другой ПК и открыть там, может что-то с ПК.
4) При каком-то действии выкидывает на код в конфигуратор.
- Для проверки стоит очистить кэш.
- Если не помогло то скорей всего ошибка в коде — особенно актуально для нетиповых и самописных конфигураций, но встречается иногда и в типовых.
Если конфигурация нетиповая, то тут либо обновление прошло некорректно или разработчик дорабатывавший конфигурацию не предусмотрел все возможности пользовательских ошибок – защита от дурака (если это возможно!).
Если типовая, то возможно ошибка в релизе.
В любом случае стоит пробежать в отладчике и посмотреть что не так.
5) Под одним пользователем дает что-то сделать, под другим нет.
- Настройки прав пользователей.
- Настройки пользователя.
- Очистка кэша.
6) С одного ПК заходит, с другого нет.
- Проверить в проводнике видит ли базу – может к папке с базой не предоставлен общий доступ.
- Очистка кэша.
- Зайти под другим пользователем.
7) Я ничего не делал/делала но у меня все сломалось
- Если смогут подсказать что именно «не делали» и когда, то можно воспользоваться
- журналом регистрации с отборами и возможно узнать, в чем проблема.
- Журнал регистрации можно найти в конфигураторе:
- Администрирование – журнал регистрации.
Либо в пользовательском режиме – расположение зависит от конфигурации.
8) Недостаточно памяти.
Был у меня случай, пришел клиент, говорит, при закрытии месяца вылетает ошибка «Недостаточно памяти». Взялся я за эту проблему. Думал, что легко, сначала добавил оперативки — ошибка. Было 2 гигабайта, стало 4, а все равно 1с-ке мало. Размер файла подкачки менял — ошибка, переустановка системы (поставил Windows 7) дало только временный результат, где-то на неделю. Перепробовал все. Спустя некоторое время решение было найдено.
Решение
На клиентском компе запустить командную строку от имени администратора, прописать там следующее:
BCDEdit /set increaseuserva xxxx — вместо хххх пишите объем виртуального адресного пространства в мегабайтах, т.е. сколько нужно памяти под работу приложений. По умолчанию 2 гига. Вообще в 32-разрядных операционных системах выделяется 4 гигабайта: 2 — на приложения и 2 на нужды самой ОС. Я выбрал 3000 (т.е. CDEdit /set increaseuserva 3000). Однако система может подглючивать. Особенно, если у вас 2 гига оперативки, как у меня. Это для ОС семейства Windows Vista, 7, Windows 2008.
Для Windows XP Windows 2003 пишем
/3GB /userva=xxxx (xxxx в МБ в диапазоне 2048 — 3072) в файле boot.ini, рекомендуемый максимум значений userva 2900–3030.
Ссылка на эту ошибку //infostart.ru/public/147631/
9) Элементы форм налезают друг на друга и имеют неправильное расположение.
- Очистка кэша.
10) Ошибка СУБД Внутренняя ошибка компоненты dbeng8
- Ошибка связана с различием кода разных версий платформы, когда пользователи пытаются использовать файловый вариант. Для клиент-серверного варианта при запуске происходит контроль и работа с разными версиями платформы в принципе невозможна.
Решение: обновиться до актуального релиза на всех рабочих местах.
Если не помогло, тогда делаем следующее:
- Тестирование и исправление
chdbfl
- Выгрузка в *.dt и загрузка в «чистую» базу
11) Ошибка в платформе 8.3.4.428
- В версии 8.3.4.428 платформы «1С:Предприятие» обнаружена критичная ошибка, возникающая при реструктуризации данных. Данная ошибка локализована и будет исправлена в следующей версии платформы.
12) Конфликт блокировок при выполнении транзакции:
Microsoft OLE DB Provider for SQL Server: Could not continue scan with NOLOCK due to data movement.
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=3, Severity=C, native=601, line=1
«Как проверить (восстановить) базу на MS SQL Server средствами сервера
Проверку логической целостности нужно выполнять штатными средствами 1С:Предприятия (Тестирование и исправление ИБ). В случае, если такую проверку не удается выполнить, следует проверить физическую целостность БД средствами MS SQL. Для проверки целостности средствами MS SQL нужно выполнить следующую команду:
Код:
DBCC CHECKDB («»,REPAIR_REBUILD)
Перед выполнением этой команды нужно базу данных перевести в режим «single user»:
Код:
sp_dboption «»,»single user»,true
В процессе работы DBCC CHECKDB могут быть обнаружены ошибки и часть может быть сразу же исправлена. Если ошибки остались, то по всей видимости их нельзя восстановить без потери некоторых данных. В этом случае нужно запустить DBCC CHECKDB с параметром REPAIR_ALLOW_DATA_LOSS (перед запуском желательно сделать копию файлов базы данных).
Код:
DBCC CHECKDB («»,REPAIR_ALLOW_DATA_LOSS)
После выполнения DBCC CHECKDB нужно не забыть вернуться в нормальный режим (выйти из режима «single user»):
Код:
sp_dboption «»,»single user»,false» (Взято с сайта http://1c-esse.buter.ru)
Конечно список далеко не полный, так что буду рад, если его дополнят в комментариях.
В случае, когда база открывается только в Конфигураторе, может помочь выгрузка данных с последующей загрузкой в новую «нулевую» базу. Не панацея, конечно, но иногда выручало.
По пункту 10 помогло обычное ТиС.
спасибо большое автору за предоставленный материал, очень для меня познавательно, положу в закладки
При любой непонятной фигне чистить кэш потом разбираться.
У меня пользователи уже научены что сначала давят СервисОчистить кэш и перезапустить программу а потом уже звонить и жаловаться.
Спасибо за интересную и познавательную информацию.
Хорошая статья! По первому пункту могу добавить. Если не получилось ничего из перечисленного, можно воспользоваться программкой Tool_1CD и с ее помощью удалить записи в таблице configsave. Только это мне и помогло в свое время.
спасибо, за обобщение!
Автору большое, спасибо за труды. Уже пригодилось.
Статья классная, я плюсанул. Одно но «Часть ошибок возникает при использовании нелицензионного ПО (windows, 1C и т.д.).» — очень сомнительное предложение.
(9) Aspire1C,
Скорее это относится к карявым патчам в которых «что-то не учли»
(0)
Статья хорошая, хотя у нас с одним клиентом, в клиент-серверном варианте, возникла ошибка, которая не была описана ни где в интернете (по крайней мере я не нашёл):
При попытки открыть форму справочника или сделать запрос хотя бы к одному его полю — рабочий сервер 1С 8.3 падает и перезапускается. Тут ни чиска кешев, ни dt, ни чекдб в скуле, ни выгрузка-загрузка через файловую базу (с проверкой chdbfl и тестированием-исправлением) не помогают 🙂 Хотя в файловом варианте всё работало отлично.
Хорошая статья !
Полезная статейка
Это не статья. Это перечень условно известных проблем с не всегда корректными рекомендациями по их решению.
Далее по пунктам:
0) Кэш (и Local, и Roaming) чистим в первую очередь. И при возможности перезапускаем серверы приложения и СУБД.
1) Правильное решение — технологический журнал.
2) Приведена только одна из возможных причин, к тому же не самая частая. (проверьте в системном логе ошибок GDI). И даже в этом случае лучшее решение — обновлять драйвера видео. Наблюдается это только со старыми дровами встроенного видео Intel. А вообще правильное решение — технологический журнал.
3) Правильное решение — технологический журнал
4) Не нужно гадать — сразу идем в отладчик.
5) Верно.
6) Скорее всего, это какая-то проблема связи либо авторизации. В случае с файловой базой первичная рекомендация верная, а при клиент-серверной помогут всяческие пинги, телнеты, анализ системных логов и опять же — технологический журнал.
7) Не забыть написать служебку о саботаже рабочего процесса пользователем. В следующий раз пользователь будет помнить, что он делал. А так да, ЖР, минимальный ТЖ (excp, excpcntx) и логи.
8) Вообще-то в современных конфигурациях механизмы, требовательные к памяти, обычно выполняются на сервере. Может помочь оптимизация проблемных запросов. А в некоторых случаях поможет только сервер x64. Ну и о фрагментации адресного пространства памяти не забываем, спасет плановый перезапуск рабочих процессов.
9) Не факт. В УФ может быть виноват браузер, в ОФ — кривые привязки элементов формы.
10) Тоже не факт. Сбойная база к такой ошибке может приводить.
11) Версия платформы отозвана. Решение — только поднимать базу из бэкапа.
12) С чего вы вообще взяли, что конфликт блокировок — это ошибка? Это показатель некорректной работы СУБД или логики конфигурации, и dbcc checkdb Вас от этого не спасет.
«Конфликт блокировок» бывает двух видов:
а) таймаут — тут нужно выяснять, почему не удалось наложить блокировку за отведенное время.
б) дедлок — тут нужно анализировать порядок наложения блокировок, и далеко не всегда эту проблему удается решить «малой кровью».
(13) asved.ru, по пункту 10: какой вариант решения тогда может быть?
(15) TrinitronOTV, ТИИ, выгрузка/загрузка в DT, chdbfl. Про пункт 0 тоже не забываем.
Очень полезный перечень настраивает действовать в нужном направлении
Спасибо большое! Попытались протестировать копию — справочник сотрудники в УПП стал недоступен…
(9) Aspire1C, Описал частый пример с ломаной платформой.
(13) asved.ru, Технологический журнал — очень полезная штука и его обязательно надо настраивать, но порой возникают ситуации, когда ошибка уже есть и ее надо срочно исправить, а тж не был настроен.
8) Бывают еще ситуации, когда на сервере просто не хватает оперативной памяти. А так да, в некоторых случае без 64-битного сервера 1С никак не обойтись.
10) Спасибо, дополнил описание.
12) Действительно, проблема может и не решаться так просто, но это тема отдельной статьи.
(13) asved.ru, <<9) Не факт. В УФ может быть виноват браузер, в ОФ — кривые привязки элементов формы. >>
Может и ни то и ни другое. А просто надо перезапустить 1С. С чем связаны такие глюки, я не знаю. Только перезапуск сеанса помогает.
(20)
это значит, что она воспроизводится, и ничто не мешает настроить нужный ТЖ и снять логи.
Спасибо, имхо, полезная статья.
Надеюсь гуру дополнят ее своим полезным опытом.
В том числе как не наступать на типичные грабли.
Да. Не статья ни разу, а так, сборник личного опыта и понадёрганных советов. Кое-что толково, кое-что спорно, но освещены не самые тривиальные вещи, и это радует. Я уж было думал, опять «как написать запрос и создать элемент справочника»…
Вроде все известное, но для кого-то это будет спасательный круг. Плюсую.
(19) то есть по вашему сообщение «Не обнаружено свободной лицензии» — это ошибка)))) хаа) и может метод борьбы с ней опишите?)))
(26) Aspire1C, да, часто это ошибка, возникшая вследствие незнания администратором специфики механизмов лицензирования 1С/HASP.
(13) asved.ru, если бы статья была в духе этого комментария, то читалось бы интереснее
1 пункт. Как же можно выгрузить в *.dt, если по условию не загружается конфигуратор?
8. пункт это не решение. Увеличение до 3Гб памяти под процесс зачастую не помогает. Решение — это 64-разряда для клиента и для сервера.
Строго говоря, 4 гигабайта это адресное пространство 32-разрядных систем, а не «выделяется». Из которых MS еще что-то резервирует под аппаратную часть, плюс еще ограничивает каждый процесс 2 Гигами.
9. Проще сделать «Восстановить положение окна Alt-Shift-R»
Многократно повторенный совет использовать chdbfl.exe довольно сомнителен. Утилита известна тем, что зачастую добивает базу окончательно.
(6)(9) — присоединяюсь. С программными лицензиями проблемы возникают гораздо чаще.
Если точнее, chdbfl восстанавливает то, что может, а что не может — удаляет на фиг.Соответственно, если повреждены, к примеру, такие таблицы, как Config или Params — chdbfl базу убьет. Но в этом случае целевая аудитория статьи вряд ли что-то сможет сделать самостоятельно, ибо действия требуются весьма нетривиальные.
Именно отсюда рекомендация обязательно делать бэкап файла 1CD перед применением chdbfl.
(13) asved.ru,
с пунктом
не согласен. Когда ломается кэш, бывает, что возникают ошибки, которые выглядят как ошибки кода (не объявлена переменная, не существует функция и т.п.), хотя на самом деле их нет.
(31) ivanov_ii, ага, лично наблюдал, как строковая константа внезапно принимает значение типа СправочникОбъект.
Вообще это указано пунктом 0.
Вопрос к разработчикам 1С, каким образом аппаратное ускорение на видеокарте мешает работе платформы.
(33) alex_4x, это очень сильное колдунство.
(33) alex_4x, аппаратное ускорение встроенной видяхи.. это вам не технология параллельных вычислений отдельной видеокарты.. у встроенной там не за что хвататься))))
Вот так живешь, живешь и опять узнаешь кое-что новое. Автору зачет!
Спасибо за статью, теперь многим советую ознакомиться!!
Мир этому дому!
Статья интересная и нужная. Я думаю все согласятся, что систематизация ошибок в поведении системы (и 1С Предприятие не исключение)- вещь архиважная. Тем более, что такие ошибки возникают не всегда и не у всех. И как правило, в тот момент когда они появляются, нет времени на их анализ, и если есть чей то чужой опыт и решения проблем в подобных ситуациях, то это экономит время, нервы и в конечном счете — деньги. То, что после таких публикаций, появляется много комментариев и обсуждений — еще один большой плюс.
Полезная статья
Неплохая статья, может пригодиться.
Статья понравилась.
Автору +
Сталкивался в процессе работы со всем, кроме 8) и 11)
Спасибо за «сборку» готового FAQ.
(43)
Интересно, как теперь заявлять о спаме пользователям без рейтинга?
Думаю, пора добавить про ошибки с MSVCR110.dll :
Имя сбойного приложения: 1CV8C.exe, версия: 8.3.8.2088
Имя сбойного модуля: MSVCR110.dll
п.12 — причина блокировок достаточно сложный вопрос
https://infostart.ru/public/635161/
https://infostart.ru/public/548153/
https://infostart.ru/public/401330/
12. 1) это может быть блокировка на SQL Server
а) см. есть Оптимизируй это! Или MS SQL и Экспертный подход творят чудеса!
б) нужно настроить регл.задания на SQL Server — статистика таблиц и индексы нужно обновлять регулярно
Настройка регламентных работ на SQL сервере
с) простой способ «найти» блокировку
12.2) блокировки в 1С — можно сделать через тех.журнал
https://infostart.ru/public/557477/
одна из лучший (свежих) обработок (опубликовано здесь же)
Просмотр заблокированных строк в 1С (онлайн!) >>
одно из лучших (бесплатных!) средств «анализа» и сбора статистики и поиск проблем — на сайте gilev.ru
http://www.gilev.ru/querytj/
http://www.gilev.ru/latch/
http://www.gilev.ru/deadlock/
http://www.gilev.ru/status/
а) анализ длительных запросов
б) анализ блокировок
с) анализ взаимоблокировок
д) анализ всех ошибок 1С (тех журнал)
Я бы сказал это полезная информация, но ее чертовски мало (поверьте мне).
Народ если вы серьезно настроены стать 1с программистом то одна сотоя от всего, что вам может встретиться.
Когда я учился в МГТУ им. Баумана у нас были платные курсы по 1с, потратил много денег по тем временам, но мало чего понял из того что нам преподавали. Из-за большого объема информации я просто физически не успевал все это делать. Вообщем я клоню к тому что здесь нужен персональный подход, чтобы разобраться во всем этом. Подобные сайты полезны, но они дают малую часть от всех знаний. Это только ствол дерева, если вы хотите, чтобы у вашего дерева распустились ветки и листья, вам нужен (по моему мнению) человек, который вариться в этой среде 10+ лет. В 1с программировании очень много подводных камней и без знающего человека разобраться тут просто невозможно. Кароче приведу вам небольшой список людей, которые мне помогли:
1)http://programmist1c.ru/ >> Первое место в гуглу при запросе «Частный программист 1С», думаю тут можно больше ничего не говорить, человек, который не зря находиться на это месте.
2)https://www.prog-msk.ru/ >> Это мой первый, как так сказать «дистанционный учитель». Я считаю одним из самых лучших, толковых преподов, которые были за мою жизнь. Очень сложные моменты объяснял понятным для меня языком и всегда терпеливо отвечал на мои глупые вопросы. Если бы не он, я бы потерял очень много времени самостоятельно разбираясь в этом. must see как говориться
Были и другие люди, не могу сказать, что они плохо обучают, но и порекомендовать их тоже не могу. Вообщем я старался расписать вам все как есть, если я помог хотя бы одному человеку своими советами, то я уже рад)
Было нарушение целостности.
Помогло добавление нового пользователя.
(48) Так ни одного совета вы и не привели, кроме рекламы конечно.
(10)
Скорее это относится к карявым патчам в которых «что-то не учли»
Там учитывать нечего.
Но из за повального спроса, их часто снабжают дополнительным потребительским сервисом — троянами.
Если в процессах висит что-то типа rundll32 C:windows emppagefile.sys — это вот оно.
(33)
+ почему в файловом варианте 8.3.11.3034 ни разу не доходит до конца реструктуризация при переходе БП 2.0 -> БП 3.0
(но на 10-ке, содержащей больше ошибок доходит)
+ почему может отвалится весь механизм внешних обработок в исправительном релизе на другие ошибки
+ как поможет борьбе с вирусом — шифровальщиком постоянные и надоедливые окна предупреждений
+ почему с выходами новых платформ все больше вылетов в дамп как на клиенте, так и сервере
+ почему сломанные ссылки в форм.документе лечили год, а через релиз снова сломали элемент, но теперь форматирование параграфа и так снова останется на год?
+ еще 100500 почему..
(49)
Серьезно? Просто добавление пользователя — отключает проверку целостности файлов и присутствия эмулятора?
Это в какой платформе?
Спасибо, полезная статья. Респект автору.
(48) По-ходу помог! «Частному программисту 1С» и «дистанционному учителю» :)))