Top.Mail.Ru

Услуги программирования и консультирования в 1С

Ошибки, которые возникают во время работы в 1С и методы их исправления

Эта статья ориентирована на обычных пользователей и новичков, которые только начали работать с программой. Опытные программисты знают об этих ошибках и у них есть свои методы решения проблемы. Я объединила в данной статье часто возникающие ошибки.

Причин появления ошибок может быть много. Может быть нарушена целостность базы,  разработчик (программист) ошибся – такое бывает, все мы люди, сами пользователи не корректно работают с базой, сбой в операционной системе и так далее.

Часто происходит так, что пользователь видит ошибку и не вчитывается в текст, а решение на поверхности. Допустим, нет прав у пользователя на данную операцию и т. д. Обычно, в таких случаях в сообщении все указывается, нужно просто быть внимательным.

Если все-таки это программная ошибка, с которой самостоятельно не справиться,  и решение проблемы не в компетенции пользователя, то тогда необходимо программисту сообщить об ошибке и обязательно прислать скриншот сообщения. Это очень важно. Бывает, что появляется окошко с ошибкой, но там указан минимум информации, но есть кнопка «Подробно», нужно нажать на нее и подробности ошибки также отправить в виде скриншота.

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

При возникновении программных ошибок, первое, что нужно сделать – это почистить Кешь (и Local, и Roaming) чистим в первую очередь. И при возможности перезапускаем серверы приложения и СУБД. 

Теперь перейдем к рассмотрению ошибок и вариантам их исправления.

   1. Как не удивительно, но бывает так, что при обновлении платформы начали появляться ошибки, например при запуске программы, но полностью работу программы не останавливает. Тут можно попробовать переустановить платформу, бывает, что ошибки в релизе. Например: в версии платформы 8.3.13.1690 от пользователей поступали жалобы на сбои программы, переустановка при этом не помогала. 
При установке нового релиза ошибка больше не появляется. В таком случае приходится ждать обновления.  

 
   2. Версия платформы отозвана. Например: релиз 8.3.4.428. Там было сообщение, что обнаружена критическая ошибка, возникающая при реструктуризации данных, которая будет исправлена в следующем релизе.

Если уже такое случилось, и нового релиза нет, то выход один – восстанавливать базу из бекапа.

   3. При выполнении действия ссылка на код, то есть выкидывает в конфигуратор.

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

   4. Ко мне часто обращались с таким вопросом, что один пользователь может выполнять операцию, а другой нет.

Тут все просто и я в статье уже об этом писала – ограничение прав. Значит у одного пользователя предоставлено в программе больше прав.

Бывает и так, что права то я дала одинаковые и проверила настройки прав доступа, а проблемы возникают. Тут поможет очистка кеша. О том как очистить кеш есть много информации в интернете, поэтому в этой статье я не буду об этом подробно рассказывать.

  5. Частые жалобы, что все сломалось, а пользователь утверждает, что ни при чем, и ничего не делал. Или такое заявление: «Я не отменял(ла) проводки, а кто-то все сломал». Как правило, в таких случаях не добьёшься правды.

Нужно смотреть журнал регистрации. Его можно найти в Пользовательском режиме в разделе «Администрирование – Обслуживание - Журнал регистрации». В Конфигураторе – «Администрирование – Журнал регистрации». Отобраться по нужным реквизитам, и посмотреть какие были изменения, и кто их сделал. Еще специальную обработку добавляли, с помощью которой видели все изменения, которые происходили с документом или справочником (но это уже по личной инициативе, своя обработка).

Журнал регистрации Обслуживание

  

    6. С одного компьютера не войти в базу, с других – все работает

Если это файловая база, то очищаем кеш. Проверяем доступ к папке с базой. Возможно, что к папке не предоставлен общий доступ.

Если это клиент-серверный вариант, то тут может быть проблема связи или авторизации. В данном случае пингуем, анализируем системные логи и т. д. Еще помогает в решении проблемы технологический журнал, но это отдельная тема, так как неопытным специалистам будет сложно работать с ним. Технологический журнал требует хорошего понимания архитектуры работы системы и тексты запросов регистрируются на языке DBMS.

    7. База запускается в конфигураторе, а в пользовательском режиме не работает

Если это единичная ошибка, то есть на одном компьютере, а у других такой проблемы нет, то удаляем базу из списка и подключаем заново. Можно попробовать зайти на другом компьютере под своими правами, если ошибка повториться, то проблема в настройке прав. Если с правами все в порядке, то возможна проблема с ПК, попробуйте подключить базу на другом компьютере.

В случае, если такая ошибка и у других пользователей, то нужно сделать Тестирование и исправление информационной базы. В конфигураторе «Администрирование – Тестирование и исправление». Галочки устанавливаете в зависимости от ситуации.

Тестирование и исправление 1С

Можно выгрузить базу (dt), создать пустую новую базу и туда загрузить (dt) или провести тестирование средствами sql (chdbfl /).

    8. База не открывается ни в конфигураторе, ни в пользовательском режиме

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

Если файловая база, то запустите утилиту chdbfl, для определения физической целостности базы. Утилита находится в папке: C:\Program Files (x86)\1cv8\8.x.x.xxx\bin\chdbfl.exe

Если база на sql, то тестируйте chdbfl /.

Если все выше перечисленное не помогло, попробуйте установить новую платформу.

В пунктах 7 и 8 тоже специалисты рекомендуют не гадать, а обращаться к технологическому журналу. Это уже на Ваше усмотрение.

   9. 1С закрывается с записью дампа памяти

При работе в программе, чаще всего при формировании отчетов 1с закрывается с формирование дампа памяти.

В этом случае нужно отключить аппаратное ускорение видеокарты.

Отключение аппаратного ускорения в Windows XP

  • Открываем свойства экрана через Панель управления или щелкнув правой кнопкой мыши по любой части рабочего стола (свободного без ярлыков), выбрав в контекстном меню «Свойства».
  • Откроется окно настройки дисплея.  Нужно перейти на закладку «Параметры» и нажать кнопку «Дополнительно».
  • Откроется окно свойств видеокарты. Перейдите на вкладку «Диагностика».
  • Передвиньте регулятор в крайнее левое положение (то есть «нет»). Далее нажать «Применить» или «ОК».
  • Все аппаратное ускорение отключено, но изменения вступят в силу только после перезагрузки системы.

Отключение аппаратного ускорения в  Windows 7

  • Открываете Панель управления (Пуск – Панель управления).
  • Открываете элемент «Экран».
  • В левой части открывшегося окна щелкните по ссылке «Настройка параметров экрана».
  • В открывшемся окне нажмите на ссылку «Дополнительные параметры».
  • Перейдите на вкладку «Диагностика» и нажмите кнопку «Изменить параметры».
  • В открывшемся окне передвиньте регулятор в крайнее левое положение («нет») и нажмите «Ок».
  • Если UAC включен, придется подтвердить, что изменения санкционированы пользователем.
  • Аппаратное ускорение отключено. Изменения вступят в силу после перезагрузки системы.

В Windows 7 не всегда активна кнопка «Изменить параметры». Если кнопка неактивна, то отключить аппаратное ускорение не возможно, значит видеокарта и драйвер не поддерживают такие настройки.

Вариант решения проблемы через отключение аппаратного ускорения предлагается у многих специалистов, но это одна из возможных причин.  

Лучшее решение – это обновление драйверов видео, так как чаще всего ошибки такого характера происходят со старыми драйверами.

При возникновении этой ошибки тоже рекомендуется анализировать технологический журнал.

   10. Элементы форм неправильно расположены, форма до конца не разворачивается и т.д.

Такое часто возникало в 1С 8.2., в обычных формах (ОФ). В управляемых приложениях такой ошибки я уже не видела, хотя утверждают, что такое бывает, тогда может быть виноват браузер.

Если у вас старая версия программы и такое возникает в ОФ, то либо попробуйте очистить кешь, либо в конфигураторе смотрите привязки элементов формы. Я чаще всего в этом случае исправляла привязки.

В некоторых случаях достаточно просто перезапустить сеанс, но это работает не всегда.

   11. Недостаточно памяти.

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

Причина ошибки в том, что по умолчанию, адресная память ограничена.  Для 32-х битной системы – это 2 гб., а для 64- разрядной системы – 4 гб..

Можно увеличить размер памяти. Для этого нужно:

  • запустить командную строку – «Пуск» - «Выполнить» - введите в поле «CMD» и нажмите «Enter»;
  • ввести в командной строке «bcdedit /set increaseuserva 3072″, где 3072 — размер желаемой адресной памяти;


    Увеличение памяти

  • перезагрузите компьютер;
  • повторите действие в 1С, которое не получалось ранее и возникала ошибка.

После успешного завершения процесса в 1С рекомендуется вернуть размер адресной памяти, если такая ошибка возникает редко. Для возврата нужно ввести в командной строке bcdedit /deletevalue increaseuserva.

Если такая ошибка происходит на сервере, то перезапустите рабочие процессы. Оптимизируйте проблемные запросы, не забудьте о фрагментации адресного пространства памяти.

   12.   Конфликт блокировок при выполнении транзакций

Это не совсем ошибка. Это показатель работы СУБД. Но, поскольку при работе выскакивает сообщение и мешает рабочему процессу, то отнесла эту проблему к ошибкам.

Конфликт блокировок встречается по следующим причинам:

  • одновременная работа пользователей с большим объемом данных;
  • ошибки и недочеты конфигурации, то есть неоптимальные запросы, неправильное применение объектов конфигурации, избыточность дополнительно разработанных блокировок, запрос остатков вначале действий...

Не стоит игнорировать конфликты блокировок. Они могут привести к дальнейшим, более грубым ошибкам в программе.

Решением проблемы конфликта блокировок в 1С 8.3 может стать перевод на ручной режим управления блокировками. Но в этом случае нужно будет самостоятельно контролировать все блокировки в системе, если вы это делать не готовы, то не торопитесь с переводом.

Быстрое решение проблемы, но при этом без поиска первопричин:

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

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

   13. Ошибка СУБД: Внутренняя ошибка компоненты dbeng8

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

В этом случае нужно сделать Тестирование и исправление средствами конфигуратора.

  • Администрирование – Тестирование и исправление…
  • Далее устанавливаем как на картинке ниже.

    Настройка тестирования и исправления

  • После выполнения тестирования программа предоставит отчет.

Можно использовать утилиту chdbfl, она является аналогом тестирования и исправления. В пункте 8 я уже писала об этой утилите, напомню, что она находится - C:\Program Files (x86)\1cv8\8.x.x.xxx\bin\chdbfl.exe. После запуска утилиты потребуется указать путь к тестируемой базе данных и установить флаг «Исправлять обнаруженные ошибки».

Если два предыдущих способа не помогли, то можно переустановить платформу или подменить файл  dbeng8.dll из другого дистрибутива программы, который находится также в папке bin.

Еще как вариант можно сделать выгрузку dt и загрузку в новую базу. 

   14. Ошибка SDBL: Выход за пределы размерности результата» 

Такая ошибка может появиться при обновлении конфигурации или при использовании обменов по средствам РИБ (распределенных баз данных).

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

  • Очистите кеш сервера или перезагрузите службу сервера 1С:Предприятие. 
  • В менеджере SQL сервера очистить таблицы _ConfigChngR и _ConfigChngR_ExtProps (используя команду delete).
  • Может помочь обновление платформы.

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

Эта ошибка может появиться при переходе на новую редакцию программы. Например: переводим Бухгалтерию Предприятия  с версии 2.0 на 3.0. В этом случае некорректно конвертировался справочник «Виды контактной информации». Бывает, что ошибка описана по-другому: «Сведения о виде контактной информации были повреждены». В обоих случаях решается ошибка одинаково.

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


   16.   Ошибка формата потока

Варианты исправлений такие же как и в предыдущих ошибках.

Удаление временных файлов, тестирование и исправление в конфигураторе или с помощью утилиты.

Если перечисленные способы не помогли, но режим 1С предприятие запускается, то можно выгрузить данные в новую базу при помощи обработки «Универсальная выгрузка/загрузка данных XML», только при этом способе можете потерять некоторые данные.

Если конфигуратор запускается, то лучше выгрузить dt, а потом загрузить в новую базу. При таком способе вы данные не потеряете.

   17.   Начало сеанса с информационной базой запрещено. Резервное копирование

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

В этом случае перед тем, как что-то делать и выбирать вариант решения проблемы, о которых я расскажу позже, нужно полностью убедиться, что никто не работает в программе (не обновляет ее) и Вы на 100 % уверены, что процесс завис.

Самый простой вариант -  удалить файл блокировки 1Cv8.cdn из каталога с информационной базой. Особенно этот способ подойдет, если это файловая база.

Второй способ – это через дополнительные параметры запуска с параметром СРазрешитьРаботуПользователей /UC <пароль для разблокировки>/. На этом варианте остановимся подробней. 
Такой способ подойдет в том случае если в программе был задан код для разблокировки. Задается этот код на закладке «Администрирование  – Поддержка и обслуживание -  Блокировка работы пользователей» (пример на картинке ниже).

Установка кода блокировки пользователей

Для того, чтобы запустить программу с дополнительными параметрами нужно выбрать из списка базу, которая заблокирована, затем нажать кнопку «Изменить» откроется окно «Редактирование информационной базы», затем «Далее», на второй закладке редактирования есть нужная нам строка «Дополнительные параметры запуска». Туда нужно ввести параметр СРазрешитьРаботуПользователей /UC 6542 , где 6542 – это пароль для разблокировки (пример на картинке ниже).

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

Если код блокировки был задан, но его забыли, то можно посмотреть его в файле 1Cv8.cdn. Открыть этот файл нужно с помощью текстового редактора.

Если кода не знаете или не задавали, то можете попробовать использовать значение по умолчанию «/UCКодРазрешения» или «/UC КодРазрешения».

Третий вариант решения проблемы подойдет для снятия блокировки с клиент-серверной базы.

Если есть доступ к консоли сервера, то нужно открыть свойства информационной базы и убрать галку «Блокировка начала сеансов включена» (на картинке выделено красным цветом, где нужно отключить флажок).

Консоль сервера для разблокировки


Четвертый способ – это откорректировать содержимое файла 1Cv8.cdn. Открываете файл с помощью текстового редактора. Первый параметр, который на картинке подчеркнут красным цветом – является признаком блокировки. Если там стоит 1, значит база заблокирована. Если поменять на 0 и записать изменения, то база должна запуститься.

Коррекция содержимого файла cdn


   18.   Неверный формат хранилища данных

Причина ошибки кроется в кеше, или в нарушении целостности структуры.

Первое, что надо сделать – это почистить кешь. Если это не поможет, то запускаем Тестирование и исправление или файла chdbfl.exe, в предыдущих пунктах об этих способах я уже писала.

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


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

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

 



Каталог сайтов

Trap for robots

Top.Mail.Ru Яндекс.Метрика