При проверке заполненности данных произошли ошибки 1с как убрать

Обновлено: 05.07.2024

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

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

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

Выбираем пользователя, вводим пароль если он имеется и нажимаем Войти.

На вкладке Администрирование, выбираем Тестирование и исправление.

И в окне с напоминанием о создании резервной копии, нажимаем Продолжить.

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

Вот в целом и всё.

Стандартная утилита chdbfl

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

Утилиту Chdbfl не нужно скачивать отдельно т.к. она по умолчанию находится в папке с названием bin, которая находится в папке с установленной платформой 1С у нас на компьютере по стандартному пути C:\Program Files (x86)\1cv8. И более того, если вы захотите скачать её из интернета, то можете нарваться на какой-нибудь вирус и получить больше проблем. Итак, откроем папку с платформой 1С.

Далее заходим в папку bin.

И находим здесь утилиту с изображением цилиндра, галки и названием chdbfl.

Тогда откроем платформу, выделяем путь к проблемной базе данных, нажимаем правой кнопкой мышки и выбираем Копировать.

Возвращаемся к окну утилиты и нажимаем на троеточие.

Вставляем путь к базе на верхней строке навигации, нажимаем Enter, выделяем файл 1Cv8 и нажимаем Открыть.

Внимательно перепроверим путь к файлу, отмечаем Исправлять обнаруженные ошибки и нажимаем Выполнить.

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

После которой, либо ошибки будут исправлены, либо они не обнаружатся.

Вот в целом и всё.

Очистка кэша базы данных

Затем, выделяем проблемную базу и нажимаем Удалить.

И, собственно, подтверждаем удаление базы данных из списка.

Затем, перезапускаем платформу и нажимаем Добавить.

Выбираем Добавление в список существующей ИБ и нажимаем Далее.

Затем, нажимаем на троеточие.

Вставляем путь к базе на верхней строке навигации, нажимаем Enter, проверяем и нажимаем Выбор папки.

Перепроверяем указанный путь к базе, вводим название для базы и жмём Далее.

На последнем шаге можно просто оставить всё как есть и нажать Готово.

И база данных с отвязанным кэшем снова добавиться в список

Вот в целом и всё.

Жмём сразу Далее на второе окно, добавим параметр /ClearCache и жмём Готово.

Затем, собственно, просто запускаем базу данных и тестируем её поведение.

Вот в целом и всё.

Аналогичным образом, откроем вторую папку Local, которая находится по пути C:\Users\***\AppData\Local\1C\1cv8 вручную, или с помощью отдельной команды %LOCALAPPDATA%\1C\1Cv8, которую мы таким же образом копируем, вставляем в строку навигации Windows, нажимаем Enter и удалим такие же папки с кэшем.

База УТ11, но это не важно. Платформа 8.3

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

Правильно или не правильно, определяется в обработке проверки заполнения.

А документ должен проверятся или нет?

или вам все-равно как проводится!?

Тогда код нужно исправлять, другого варианта не вижу

Конфига изменена, так что, проблемы изменения кода нет. Но где его менять.

Нужно понять каким образом выводится это предупреждение:


2. это написано в коде

Проверить можно отладчиком и отключить это механизм проверки

Но что делать дальше?

отключите проверку на реквизиты по которым ругается

Попробуйте, действительно, вдруг. 😉

Можно попробовать использовать команду ВОЗВРАТ при невыполнении условия проверки, без использования команды ОТКАЗ.

Обработчик события ОбработкаПроверкиЗаполнения

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1.2. Данным обработчиком следует пользоваться в случаях, когда для проверки корректности значений реквизитов обычной проверки на заполненность уже недостаточно (например, значение реквизита логически связано со значением другого реквизита), или же требование к тому, чтобы значение реквизита было заполнено не является безусловным.

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)

НепроверяемыеРеквизиты = Новый Массив();
.

Процедура УдалитьНепроверяемыеРеквизитыИзМассива(МассивРеквизитов, МассивНепроверяемыхРеквизитов) Экспорт

Для Каждого ЭлементМассива Из МассивНепроверяемыхРеквизитов Цикл

// перед удалением реквизита из массива необходимо проверить, что он там есть
// (не был удален ранее платформой или в коде).
ПорядковыйНомер = МассивРеквизитов.Найти(ЭлементМассива);
Если ПорядковыйНомер <> Неопределено Тогда
МассивРеквизитов.Удалить(ПорядковыйНомер);
КонецЕсли;

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

Методическая рекомендация (полезный совет)

Проверки, выполняемые в и вне транзакции записи объекта

2.1. Проверки в обработчике ОбработкаПроверкиЗаполнения выполняются вне транзакции записи объекта. Поскольку в случае некорректного заполнения объекта выполнение операции будет прервано еще до записи объекта в базу данных, то размещение проверок в этом обработчике является наиболее эффективным.

Для транзакционных проверок, в свою очередь, выделяются два случая:

Наиболее частые ошибки в 1С 8.3



Помощь персонального менеджера, оперативность сдачи отчетности, соответствие законодательству РФ

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

Рассмотрим, наиболее частые ошибки при работе 1С.

Ошибка Формата потока

Устранение ошибки. В папке с установленной программой, кроме файла с информационной базой, имеются служебные временные файлы. При аварийном выключении программы также могут сохраниться файлы блокировок (которые автоматически должны были удалиться при выключении программы). Один из вариантов решения проблемы – это удаление из этой папки всех этих файлов. Такие файлы будут сформированы вновь при запуске программы, поэтому их можно смело удалить. Файл 1Cv8.1CD – файл информационной базы. Его удалять нельзя.

Кроме этого, следующим шагом (если первый вариант не дал результата) должно стать удаление информационной базы из списка в окне запуска 1С (кнопка «Удалить») и добавление ее обратно (кнопка «Добавить»). Тем самым мы очистим кэш.

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

Посмотреть, где располагаются временные файлы программы, можно в кнопке «Настройка. » в окне запуска 1С. В поле «Каталоги шаблонов и конфигурация» видно, в какой папке располагаются временные файлы. В нашем примере в папке пользователя, далее в папке AppDataRoaming1Ctmplts.

Чтобы очистить кэш, необходимо удалить временные файлы из указанной папки.

Некоторые ошибки могут прямо указывать на папку с временными файлами, сообщая о проблеме. Например, ошибка «Неверный формат хранилища». Здесь видно, что программа указывает путь к папке с временными файлами. И чтобы очистить кэш вручную, надо удалить папки из указанной директории.

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

На рисунке видно, что ошибка указывает на папку с временными файлами – AppData/Local/1C и далее папка с цифрами в названии.

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

Ошибка СУБД сама говорит о нарушении структуры базы данных. Довольно распространенная ошибка этого рода – «Внутренняя ошибка компоненты dbeng8».

Компонента dbeng8.dll находится в папке bin установленной платформы 1С.

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

Если переустановка платформы не помогла, то переходим к варианту тестирования и исправления базы данных. Другие ошибки касающиеся СУБД также решаются этим способом.

«Ошибка СУБД: Файл базы данных поврежден»

Например, «Ошибка СУБД: Файл базы данных поврежден» решается тестированием и исправлением файла информационной базы.

Тестирование и исправление информационной базы с помощью утилиты chdbfl.exe

Одним из вариантов тестирования и исправления при возникновении ошибок, связанных с СУБД, является использование утилиты chdbfl.exe. Она предназначена для проверки физической целостности базы данных при работе с файловой информационной базой. Этот способ используется также, когда база 1С не запускается в режиме Конфигуратора.

Хотелось бы напомнить, что перед любыми действиями с информационной базой необходимо выполнить резервное копирование – в режиме Конфигуратора через пункт меню «Администрирование»-«Выгрузить информационную базу». Или можно скопировать файл информационной базы – 1Сv8.CD, из каталога, где она размещается.

Файл утилиты chdbfl.exe находится в папке bin, установленной платформы 1С – обычно в папке Program Files (х86)-1cv8, а далее папка с релизом платформы.

Запустив утилиту, в поле «Имя файла БД» указываем путь к файлу базы данных. Здесь надо установить галочку «Исправлять обнаруженные ошибки» и нажать кнопку «Выполнить». В результате утилита проверит физическую целостность базы данных и в случае обнаружения ошибок исправит их.

Если данный способ тестирования не решил проблему, то необходимо провести тестирование информационной базы в режиме «Конфигуратор».

Тестирование информационной базы в Конфигураторе

Для тестирования и исправления информационной базы запустим программу в режиме «Конфигуратор». В пункте меню «Администрирование» выберем «Тестирование и исправление. ».

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

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

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

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

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

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

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

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

  • Очистить кэш;
  • Провести тестирование и исправление с помощью утилиты chdbfl.exe;
  • Тестирование и исправление базы в режиме «Конфигуратор»;
  • Обновить платформу «1С:Предприятие».

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

Обработчик события ОбработкаПроверкиЗаполнения

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1.2. Данным обработчиком следует пользоваться в случаях, когда для проверки корректности значений реквизитов обычной проверки на заполненность уже недостаточно (например, значение реквизита логически связано со значением другого реквизита), или же требование к тому, чтобы значение реквизита было заполнено не является безусловным.

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)

НепроверяемыеРеквизиты = Новый Массив();
.

Процедура УдалитьНепроверяемыеРеквизитыИзМассива(МассивРеквизитов, МассивНепроверяемыхРеквизитов) Экспорт

Для Каждого ЭлементМассива Из МассивНепроверяемыхРеквизитов Цикл

// перед удалением реквизита из массива необходимо проверить, что он там есть
// (не был удален ранее платформой или в коде).
ПорядковыйНомер = МассивРеквизитов.Найти(ЭлементМассива);
Если ПорядковыйНомер <> Неопределено Тогда
МассивРеквизитов.Удалить(ПорядковыйНомер);
КонецЕсли;

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

Методическая рекомендация (полезный совет)

Проверки, выполняемые в и вне транзакции записи объекта

2.1. Проверки в обработчике ОбработкаПроверкиЗаполнения выполняются вне транзакции записи объекта. Поскольку в случае некорректного заполнения объекта выполнение операции будет прервано еще до записи объекта в базу данных, то размещение проверок в этом обработчике является наиболее эффективным.

Для транзакционных проверок, в свою очередь, выделяются два случая:

Как убрать проверку заполнения через модуль?
Как убрать проверку заполнения через модуль? Добавлено через 6 минут Ну типо Проверка.

Условие на проверку заполнения поля
Здравствуйте. Подскажите с составлением условия на проверку заполненности свойства Text.


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

AleXadr999, какая конфигурация?
Чаще всего проверка заполнения реализована не в свойствах реквизита, а как раз в коде.
Посмотрите процедуры ОбработкаПроверкиЗаполнения(), ПередЗаписью(), например. AleXadr999, какая конфигурация?
Чаще всего проверка заполнения реализована не в свойствах реквизита, а как раз в коде.
Посмотрите процедуры ОбработкаПроверкиЗаполнения(), ПередЗаписью(), например. 1С:Предприятие 8.3 (8.3.10.2667) Лицензия
Да я знаю что такие процедуры есть , только как кодом это отобразить.В том то и дело никак не выходит.Через условное оформление пробовал. Не работает, хотя подчеркивает строку.
Вот и прошу помочь с кодом.

Решение

Программно снять галочку с MenuItem
Доброго времени суток! В проекте есть меню. 2 меню итема со свойством &quot;IsCheckable&quot;. Подскажите.

Как программно снять объединение ячеек?
надо на выделенном диапазоне ячеек,если стоит галка на фОРМАТ ЯЧЕЕК -&gt; ОБЪЕДИНЕНИЕ ЯЧЕЕК . убрать.

Как программно снять фокус с кнопки
В общем создал фейк-объект и передаю ему фокус, но может есть какие-то нормальные способы.

Как снять защиту листа программно?
Нужно срочно изменить формулу на защищенном листе, но пароль где то потерялся, выручте пожалуйста.

Программно снять флажки с 20 боксов сразу
Подскажите пожалуйста как программно снять флажки с 20 боксов сразу, (Value = False) нажатием на.

Как убрать проверку обязательности заполнения поля email в форме?
есть файл для отправки заявок на почту. Как убрать проверку обязательности заполнения поля email в.

Читайте также: