Выполнение операции невозможно так как строка была удалена 1с
Пример текста ошибки: Попытка вставки неуникального значения в уникальный индекс: Microsoft SQL Server Native Client 11.0: Выполнение инструкции CREATE UNIQUE INDEX прервано, поскольку обнаружен повторяющийся ключ для объекта с именем "dbo._InfoRg22530" и индекса с именем "_InfoRg22530_ByPeriod". Повторяющееся значение ключа: (0, 3900-01-01 00:00:00, 0x9100fa815581b9604de110ca98afc344, 0x00000000000000000000000000000000). HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=10, native=1505, line=1
Ошибка возникает, если в базе есть у каких-то объектов, реквизитов, субконто - значение NULL, а у них такого значения быть не может. И появляется такая ошибка только в SQL базах. Т.е. если такую базу выгрузить в файловую, то там уже этой ошибки не будет. Т.к. у файловой базы свои таблицы (всего 4 шт.), а у SQL свои. И SQL база критично реагирует на такие значения в своих таблицах.
Эта проблема не решается никакими тестированиями (ни внешним, ни внутренним) ни в каких вариантах баз (SQL или файловая) и даже Процедурой _1sp_DBReindex в менеджере SQL, которая вроде как должна проводить реструктуризацию таблиц в SQL.
.НО так заменить NULL в SQL базе не получится, во время выполнения обработки будет выдана та же самая ошибка. Поэтому необходимо сделать так:
1. Выгрузить уже рабочую, переведённую на КОРП версию, SQL базу в dt’шник (в конфигураторе Администрирование – Выгрузить базу – выберите куда выгрузить базу в виде файла *.dt)
2. Загрузить dt’шник в файловую базу (в ненужной или заранее подготовленной, чистой, файловой базе, в конфигураторе Администрирование – Загрузить базу – выбрать выгруженный ранее dt’шник)
3. Выполнить обработку в файловой базе (там ошибки не будет и все NULL’ы корректно заменяться) (как выполнить обработку описано ниже)
5. Теперь наоборот выгрузить dt’шник из файловой базы и загрузить его в SQL базу. Теперь при проведении обработанных документов ошибки выходить не будет.
В обработке необходимо указать период, за который необходимо обработать документы (можно за весь период в котором ведётся учёт в базе) и нажать «Заполнить табличную часть». После чего можно галками пометить какие документы обработать (можно выбрать все) и нажать кнопку «Выполнить обработку».
Соответственно если у кого-то такая же ошибка, но НЕ после перехода на КОРП, а на пример после обмена, загрузки каких-то данных, выполнения каких-то обработок и т.д. То необходимо выявить, где присвоилось значение NULL в конкретном документе/справочнике и подобным способом убрать этот NULL но уже своей обработкой, но в том порядке, как описано выше. Помните, что NULL может быть, как в проводках документа, в т.ч. не только бухгалтерских, так и где-нибудь на форме документа/справочника, в каком-нибудь реквизите, но в таком случае он наверно даже не откроется.
Если копирование баз в архив выполнялось давно или вообще не выполнялось, ситуация становится близка к катастрофе. Приходится восстанавливать хозяйственные операции за большой период, а это всегда несет с собой риск появления новых ошибок.
Бухэксперт8 при работе с базой данных рекомендует делать архивные копии 1С не реже 1 раза в месяц, а также перед выполнением исправлений в базе и после закрытия месяца.
При запуске 1С выдается ошибка выполнения операции с информационной базой. Перезапуск программы не помогает, открыть базу данных для работы в ней — невозможно.
Причины, вызывающие эту ошибку, могут быть совершенно разными:
- несовместимая версия файла базы данных;
- файл базы данных поврежден;
- ошибка соединения с сервером 1С: Предприятия 8.3;
- переустановка баз на сервере;
- проблема с портами на сервере
- и т.д.
Ошибки такого уровня очень серьезны. А в случае возникновения их на сервере — однозначно требуют обращения к специалистам. И если организации, устанавливающие клиент-серверный вариант, рассчитанный на большое число пользователей, обычно имеют в штате системных администраторов и программистов, отвечающих за сервер, то пользователи, работающие на обычных файловых вариантах 1С, должны уметь самостоятельно разобраться с этой проблемой и решить ее.
Как правило, ошибка при выполнении операции с информационной базой в файловом режиме работы означает, что произошло повреждение файла базы данных. Причин может быть множество:
- сетевые проблемы при записи файла;
- неудачное копирование базы;
- отключение электропитания в момент работы программы;
- и т.д.
В данной статье мы рассмотрим возникновение этой ошибки для пользователей файловых 1С и дадим два инструмента решения проблемы:
Обязательно сохраните поврежденный файл базы данных перед началом исправления ошибок, так как любые изменения структуры при тестировании имеют необратимый характер. Сделать копию можно обычным копированием файла 1Cv8.1CD.
Тестирование и исправление
Внутренняя обработка 1С Тестирование и исправление проверяет и исправляет структуру конфигурации и информационных данных.
Пошаговая инструкция Тестирования и исправления базы.
Шаг 1. Запустите 1С в режиме Конфигуратор .
Шаг 2. В конфигурации выберите пункт меню Администрирование — Тестирование и исправление .
Перед открытием формы тестирования программа напомнит о необходимости сделать копию базы перед проверкой. Если копия сделана — нажимаете на кнопку Продолжить .
Шаг 3. Настройка тестирования.
Форма тестирования предлагает несколько вариантов проверок и режимов, не зависящих друг от друга. Выполнить нужно все проверки в полном объеме, поэтому установите флажки напротив тех вариантов, где они не поставлены по умолчанию.
Форма тестирования и исправления информационной базы должна иметь следующий вид.
Рассмотрим основные группы переключателей проверки.
Группа переключателей Проверки и режимы
Позволяет сделать выбор между режимом, производящим только проверку информационной базы и режимом, производящим коррекцию обнаруженных ошибок.
Проверка информационной базы:
- проверка логической целостности информационной базы;
- проверка ссылочной целостности информационной базы.
Коррекция обнаруженных ошибок:
- реиндексация таблиц информационной базы;
- пересчет итогов;
- сжатие таблиц информационной базы;
- реструктуризация таблиц информационной базы.
Группа переключателей Тестирования
Варианты тестирования:
- Тестирование и исправление;
- Только тестирование.
При установке переключателя в положение Только тестирование будет произведен поиск ошибок без исправления. Просмотрев характер ошибок, пользователь сам примет решение: будет ли передавать ситуацию на автоматическое программное исправление или нет.
Группа При наличии ссылок на несуществующие объекты
Эта группа определяет, должна ли программа при обнаружении ссылок на несуществующие объекты:
- создавать объекты;
- удалять ссылки;
- не изменять.
По умолчанию установлен самый безопасный вариант Не изменять. При использовании первых двух вариантов в сложных случаях возможны искажения информации в базах 1С.
Группа переключателей При частичной потере данных объектов
Эта группа задает поведение программы, если было обнаружено, что данные объектов были частично потеряны, но оставшихся данных достаточно для того, чтобы восстановить потерянные. Пользователь самостоятельно выбирает вариант:
- создавать объекты;
- удалять объект;
- не изменять.
По умолчанию установлен самый безопасный вариант Не изменять. При использовании первых двух вариантов в сложных случаях возможны искажения информации в базах 1С.
Кнопка Выполнить
Перед нажатие на кнопку Выполнить , убедитесь, что 1С закрыта у всех пользователей. Проверка выполняется в монопольном режиме. Сохранение копии базы — обязательное условие перед проверкой.
- Значение должно быть… Сохранено значение…
Утилита chdbfl.exe
Утилита chdbfl.exe отвечает за проверку физической целостности базы. Именно она спасает пользователей в большинстве случаев при невозможности входа в базу данных.
Утилита включена в Платформу 1С и поставляется отдельно для каждой Платформы 1С.
Пошаговая инструкция работы с утилитой chdbfl.exe.
Определение Платформы 1С
Откройте на вашем компьютере папку с Платформой, на которой работает ваша база. Как правило, это последняя установленная вами Платформа 1С, но могут быть случаи, когда запуск происходит с более старых версий специально, поэтому этот момент нужно уточнить. Сделать это можно, например, в конфигурации по справке о программе: меню Справка — О программе .
Место установки Платформы на компьютере зависит от ее разрядности:
- 32-разрядные Платформы 1С устанавливаются в каталог С:\Program Files (x86)\1cv8\
- 64-разрядные Платформы 1С устанавливаются в каталог С:\Program Files\1cv8\
Запуск утилиты chdbfl.exe
В выбранной Платформе 1С перейдите в папку bin и запустите утилиту chdbfl.exe.
Настройка проверки базы данных
Для настройки проверки физической целостности необходимо:
- выбрать файл информационной базы, где выходит ошибка;
- установить флажок Исправлять обнаруженные ошибки .
После нажатия на кнопку Выполнить запустится проверка физической целостности файла БД.
Программа 1С при выполнении проверки должна быть закрыта у всех пользователей. Сохранение копии базы — обязательное условие перед проверкой.
Если рассмотренные здесь методы не помогли войти в базу данных и при запуске 1С выдается ошибка выполнения операции с информационной базой, то для восстановления целостности информационной базы и исправления ошибок следует обратиться к специалистам 1С.
- 1С удаление: указанная учетная запись уже существует
- Установка запрещена на основании системной политики 1С 8.3
- Обнаружено неправомерное использование данного программного продукта в 1С: как убрать
- Ошибка ввода пинкода. Пинкод не укомплектован в 1С 8.3
- Печатная форма недоступна 1С 8.3 при вызове внешней печатной формы
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
Иногда в работе с программой 1С появляются ошибки и системные.Иногда при работе в 1С может возникнуть ошибка «Конфликт блокировок..До 31.12.2018 работодатели обязаны провести специальную оценку условий труда (СОУТ).
(3 оценок, среднее: 2,67 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
Ругается, что Поле объекта не обнаружено (Контрагент). Что не так? Как правильно добавлять элемент?
Добавлено через 3 минуты
тьфу, блин. Поняла. )
Вывести ТаблицуЗначений на форму
Проблема следующая. Создала форму, на ней реквизит:ТаблицаДокумента, тип: ТаблицаЗначений.
Выгрузить ТаблицуЗначений в табличный документ
Понимаю, что вопрос глупый, но все же. Есть процедура; Процедура ВыбратьНоменклатуру()Экспорт .
Tklwegsd, а не подскажите ещё что это за такая забавная ошибка
": Ошибка при получении значения атрибута контекста (Банк)
НайденнаяСтрока = ТЗСнятияСДепозитов.Найти(Строка.Банк, "Банк");
по причине:
Выполнение операции невозможно, т.к. строка была удалена.
"
Что это такое? Я ничего не удаляла, колонка Банк создана.
Tklwegsd, тогда вообще непонятно. Ведь по этой строке и раньше искались значения, только в другой ТЗ и это работало.
раньше
в другой
а в этой слабО поставить брейк пойнтер ? )) и посмотреть, что он там с чем должен сравнить и найтить ?
Но старайтесь в названиях параметров, элементов, объектов и т.п. не использовать элементы языка 1С. Например, ваше - Строка или (часто встречаются ошибки) ЭтотОбъект, т.к. возможны ошибки. Строка - есть такой оператор в языке, назовите нСтрока, НужнаяСтрока, Стр и т.п. В частности, ваша ошибка может быть из-за этого
Создать список, ввести элемент и добавить этот элемент в начало списка
создать список,ввести элемент и добавить этот элемент в начало списка
Двусвязный список - Добавить элемент после заданного, удалить заданный элемент
Реализуйте списочную структуру в виде класса. работа состоит из двух частей: из класса (структуры.
Как добавить элемент в очередь, используя указатель на последний элемент?
Не пойму как добавить элемент в очередь используя указатель на последний элемент. Выполняю задание.
Парсер реализован средствами языка. Поставляется в виде внешней обработки. Может использоваться, как обработка, к методам которой можно обращаться из программы. Также модуль парсера может быть вставлен отдельно в конфигурацию, в качестве общего модуля. Реализованные методы поддерживают объектно-ориентированный принцип работы и предоставляют интуитивно понятный механизм.
Не спрашивайте, чем плохи стандартные методы работы с XML, реализованные в восьмерке. Просто разные парсеры и компиляторы - это моя слабость. Ну а потом, не видел (но, может, и ошибаюсь), чтобы стандартный парсер сразу выплевывал на форму дерево структуры XML-документа, позволял его редактировать, а потом снова сохранял в xml-документ.
В общем, эта обработка поможет тем, кто по каким-либо причинам не хочет (не может, боится) использовать типовые функции работы с XML. С "парсером от планета" XML - это просто! :)
Берите, тестируйте, пользуйтесь. Разработка снабжена подробной инструкцией.
Буду очень рад комментариям.
Отвечая на вопрос Чебуратора: ". а сабж - это что. ", приведу небольшие примеры кода. Парсер позволяет читать, разбирать и создавать XML-файлы на интуитивном уровне.
Примеры создания xml:
Примеры чтения XML:
Пример построения дерева:
Обновил обработку. Добавил возможность выбора кодировки при чтении и записи файла. Также нашел примеры нестандартных XML, которые тоже теперь отрабатываются корректно.
Не отрабатывались XML без отдельного закрывающего тега. Такие XML - не есть канон. Но теперь и они нормально воспринимаются парсером.
Посмотрел-посмотрел на это чудо, добавил на форму командную панельку, привязал ее к дереву, а в состав методов прописал формирование XML-файла по структуре дерева. Вот и получился редактор. Теперь можно загрузить любой XML-файл, изменить в нем что-то в таблице дерева и сохранить снова в XML. При этом, можно перекодировать. Думаю, особо одаренные, кому эта тема интересна, могут добавить кучу разных полезностей. Например, чтобы можно было сразу добавлять что-то по данным из документов, реквизитов элементов справочника. Да мало ли что можно сделать, чтобы работать было быстро и удобно.
Обновление:
30.09.09 18:42 - Появилась полоса загрузки и парсится при построении дерева теперь в десятки тысяч раз быстрее. Исправил ошибку с кодировкой при записи.
30.09.09 19:17 - Исправил некорректную отработку специальных символов при парсинге
Делал самописку, нашел 2 обработки на сайте, которые меня не устроили.
Написал свою (сильно модифицировал уже имеющуюся).
Из добавленных фич - рекурсивный поиск зависимых объектов.
Скорее всего скоро допилю немного (if any).
P. S. : вчера исправил найденные ошибки
Специальные предложения
По кнопке "поиск удаленных" пишет ошибку ": Поле объекта не обнаружено (ПометкаУдаления)
СтрокаТЗ.ЕстьПометкаНаУдаление = ЭлементМассива.Данные.ПометкаУдаления;"ВнешняяОбработка.УдалениеПомеченных.МодульОбъекта(74)>
МассивНайденныхСтрок = мКореньДерева.Строки.НайтиСтроки(СтруктураПоиска, Истина);
Для Каждого СтрокаМассива Из МассивНайденныхСтрок Цикл
мКореньДерева.Строки.Удалить(СтрокаМассива);
КонецЦикла;
Я под управляемые формы писать не умею, даи задумка полезна (давно пора все Unireps-ы переписать уже под управляемые формы) , поэтому +, хоть посмотрю как оно делается, но в алгоритмах понимаю - МассивНайденныхСтрок содержит строки дерева не принадлежащие коллекции мКореньДерева.Строки (например строки глубже) что в моей базе вызывает ошибку.
: Ошибка при вызове метода контекста (Удалить)
мКореньДерева.Строки.Удалить(СтрокаМассива);
по причине:
Недопустимое значение параметра (параметр номер '1') (Строка не принадлежит коллекции)
Читайте также: