1. scorp1 5 06.01.17 08:21 Сейчас в теме

Ошибка при проверке логической целостности

Есть файловая база БП 2.0 (2.0.65.48)
При проверке логической целостности платформой 8.3.8.2197 выдает две ошибки:

Проверка логической целостности. Документы. ПоступлениеТоваровУслуг. Табличная часть имеет записи, не относящиеся ни к одной записи главной таблицы. Количество - 1
Проверка логической целостности. Документы. СписаниеСРасчетногоСчета. Табличная часть имеет записи, не относящиеся ни к одной записи главной таблицы. Количество - 4


Ошибки не исправляются и при повторной проверке возникают вновь
Подскажите, кто знает, как можно их исправить. Других проблем с базой нет.
Найденные решения
8. drim87 08.01.17 23:08 Сейчас в теме
Попробуй выгрузить базу под платформой 8.3.6.2041 или ниже
Попробуй протестировать под этой же платформой. Выгрузи и загрузи чистую базу под новой платформой.

Если с выгрузкой не поможет:
Загрузи dt в базу на ms sql и очисти таблицу files.

Искать на ms sql где именно хранится табличная часть для документа ты замучаешься. Потому если типовая попробуй выполнить сравнение и объединение с конфигурацией поставщика или cf такой же версии
16. scorp1 5 10.01.17 10:47 Сейчас в теме
Конфигурация в порядке, поэтому таблицы config и configsave менять, наверное, нет необходимости.
С помощью SQL Server Management Studio нашел таблицы с документами и табличными частями документов. Выгрузил в Ексель и по полю _DocumentХХХ_IDRRef нашел лишние записи, которые не относятся не к одному документу. Эти лишние записи удалил.
Теперь тестирование идет и выгрузка идет.
drim87 - огромное спасибо за подсказку с SQL Server
Остальные ответы
Сортировка: Древо
5. Xershi 375 06.01.17 09:06 Сейчас в теме
(1) скорее всего ссылка слетела. Выгрузка в ДТ работает?
7. scorp1 5 08.01.17 12:26 Сейчас в теме
(5) выгрузка не работает:

Нарушение целостности информационной базы.
Ошибка в размере файла 1d748980-248d-4f48-a467-23fe2d86ab01.pfl при выгрузке таблицы Files
Ожидаемое значение 0, значение в таблице 112163
10. Xershi 375 09.01.17 00:55 Сейчас в теме
(7) если есть тулз 1С с возможностью редактировния, то через нее можно попробывать поправить.
Если нет, то можно сделать полную выгрузку в чистую базу.
ТИИ не все ошибки может исправить, рекомендую если есть ИТС написать еще в поддержку!
13. scorp1 5 10.01.17 09:01 Сейчас в теме
(10)Toolz 1CD нет, подскажите где взять?
18. Xershi 375 10.01.17 13:56 Сейчас в теме
9. Armando 1386 09.01.17 00:15 Сейчас в теме
(1) (7) Можно воспользоваться tool 1cd для поиска и удаления этих записей.
Или отправляйте базу в ТП 1С. Ждать от 3 дней до бесконечности.
2. pyrkin_vanya 339 06.01.17 08:30 Сейчас в теме
Попробуйте сделать тестирование с созданием ссылок.
3. scorp1 5 06.01.17 08:31 Сейчас в теме
4. lefthander 06.01.17 09:03 Сейчас в теме
Есть еще утилита для проверки файловой базы, лежит в катилоге bin. Может она поможет
6. scorp1 5 08.01.17 12:21 Сейчас в теме
(4) утилита ошибок не находит
8. drim87 08.01.17 23:08 Сейчас в теме
Попробуй выгрузить базу под платформой 8.3.6.2041 или ниже
Попробуй протестировать под этой же платформой. Выгрузи и загрузи чистую базу под новой платформой.

Если с выгрузкой не поможет:
Загрузи dt в базу на ms sql и очисти таблицу files.

Искать на ms sql где именно хранится табличная часть для документа ты замучаешься. Потому если типовая попробуй выполнить сравнение и объединение с конфигурацией поставщика или cf такой же версии
12. scorp1 5 10.01.17 09:00 Сейчас в теме
(8)
Попробуй выгрузить базу под платформой 8.3.6.2041 или ниже
Попробуй протестировать под этой же платформой. Выгрузи и загрузи чистую базу под новой платформой.


Не помогло


Если с выгрузкой не поможет:
Загрузи dt в базу на ms sql и очисти таблицу files.


исправление записи в таблице files помогло (найти запись не сложно - исправил то значение которое было на ожидаемое) - теперь выгрузка идет, но проверка логической целостности не проходит

Проверка логической целостности. Документы. ПоступлениеТоваровУслуг. Табличная часть имеет записи, не относящиеся ни к одной записи главной таблицы. Количество - 1
Проверка логической целостности. Документы. СписаниеСРасчетногоСчета. Табличная часть имеет записи, не относящиеся ни к одной записи главной таблицы. Количество - 4



Искать на ms sql где именно хранится табличная часть для документа ты замучаешься. Потому если типовая попробуй выполнить сравнение и объединение с конфигурацией поставщика или cf такой же версии


табличную часть найти не проблема, проблема найти те записи которые не относятся к главной таблице
Документов ПоступлениеТоваровУслуг в базе порядка 10 000 штук, и документов СписаниеСРасчетногоСчета не меньше

Может кто подскажет каким запросом и средствами MS SQL можно это сделать?

14. scorp1 5 10.01.17 09:02 Сейчас в теме
(8)
Попробуй выгрузить базу под платформой 8.3.6.2041 или ниже
Попробуй протестировать под этой же платформой. Выгрузи и загрузи чистую базу под новой платформой.



Не помогло


Если с выгрузкой не поможет:
Загрузи dt в базу на ms sql и очисти таблицу files.


исправление записи в таблице files помогло (найти запись не сложно - исправил то значение которое было на ожидаемое) - теперь выгрузка идет, но проверка логической целостности не проходит

Проверка логической целостности. Документы. ПоступлениеТоваровУслуг. Табличная часть имеет записи, не относящиеся ни к одной записи главной таблицы. Количество - 1 
Проверка логической целостности. Документы. СписаниеСРасчетногоСчета. Табличная часть имеет записи, не относящиеся ни к одной записи главной таблицы. Количество - 4 



Искать на ms sql где именно хранится табличная часть для документа ты замучаешься. Потому если типовая попробуй выполнить сравнение и объединение с конфигурацией поставщика или cf такой же версии


табличную часть найти не проблема, проблема найти те записи которые не относятся к главной таблице
Документов ПоступлениеТоваровУслуг в базе порядка 10 000 штук, и документов СписаниеСРасчетногоСчета не меньше

Может кто подскажет каким запросом и средствами MS SQL можно это сделать?
11. drim87 09.01.17 09:23 Сейчас в теме
Ну если обращаться в поддержку франчи может получиться что пинать Вас будут пару недель либо по отделам в поисках того кто исправит либо так же будут писать разработчикам, а сроки реакции там оставляют желать лучшего.


Таблица Files содержит служебную информацию, например, о работе с хранилищем конфигурации.
Так что проще всего просто ее очистить средствами SQL и не гадать исправились там все ошибки или нет.
А ошибки в конфигурации несложно поправить с помощью cf файла такой же версии.
15. drim87 10.01.17 10:13 Сейчас в теме
Если база типовая - тогда. На сервере 1с разверните чистую базу такой же версии и средствами sql подмените таблицу config. Можно еще и configsave - в этих таблицах хранится конфигурация.
На копии само собой делайте)
Я сейчас не успеваю что то более подробное накидать, убегаю. Но в сети есть информация по восстановлению баз подменой этих таблиц. На инфостарте даже было.
CratosX; scorp1; +2 Ответить
16. scorp1 5 10.01.17 10:47 Сейчас в теме
Конфигурация в порядке, поэтому таблицы config и configsave менять, наверное, нет необходимости.
С помощью SQL Server Management Studio нашел таблицы с документами и табличными частями документов. Выгрузил в Ексель и по полю _DocumentХХХ_IDRRef нашел лишние записи, которые не относятся не к одному документу. Эти лишние записи удалил.
Теперь тестирование идет и выгрузка идет.
drim87 - огромное спасибо за подсказку с SQL Server
19. Xershi 375 10.01.17 13:58 Сейчас в теме
(16) у вас же файловая база. Или я чего не не дослышал или не знаю?)
20. scorp1 5 10.01.17 16:34 Сейчас в теме
(19) База файловая.
Решение найдено, всем спасибо
17. drim87 10.01.17 12:32 Сейчас в теме
Проверка логической целостности. Документы. ПоступлениеТоваровУслуг. Табличная часть имеет записи, не относящиеся ни к одной записи главной таблицы. Количество - 1
Проверка логической целостности. Документы. СписаниеСРасчетногоСчета. Табличная часть имеет записи, не относящиеся ни к одной записи главной таблицы. Количество - 4


Ну по этой ошибке я так понял что ошибка в табличной части документа. Тут не имени ни идентификатора объекта нет - потому я и думаю что это ошибка в конфигурации. Ну либо получается во всех документах? Тогда в менеджере sql попробуйте открыть таблицу посмотрте что там вообще записано.
21. CratosX 101 07.02.17 17:38 Сейчас в теме
Столкнулся с сабжевой проблемой (0).
(16)
Выгрузил в Ексель и по полю _DocumentХХХ_IDRRef нашел лишние записи, которые не относятся не к одному документу.

автор, зря не поделился формулой вычисления лишних записей =СЧЁТЕСЛИ($A$2:$A$10000;B2), мне бы сэкономило немного времени.
Далее, код удаления "лишних" записей в скрипте SQL:

SEL ECT
	 [_Document196_IDRRef]
     
  FR OM [Test].[dbo].[_Document196_VT4169]
	 WHERE  _Document196_IDRRef = CONVERT(varchar,0x8CA0D017C29AAC7511E6E6BB9148A258)
		or  _Document196_IDRRef = CONVERT(varchar,0x8CA0D017C29AAC7511E6E6BB9148A259)

Где 0x8CA0D017C29AAC7511E6E6BB9148A258 и 0x8CA0D017C29AAC7511E6E6BB9148A259 - похоже две битые ссылки из 13 строк табличной части.

Но, после манипуляций в конфигуратор так и не смог зайти (в файловом режиме заходит, но в нём нельзя провести манипуляции со строками). А из поправленной SQL-ной не могу выгрузить dt, так как не заходит в конфигуратор, выдавая сообщение

"Ошибка программного лицензирования. Неверный формат файла программного лицензирования
File=src\CryptoGeneralHelpers.cpp(207)."

Есть у кого идеи?
22. CratosX 101 07.02.17 18:32 Сейчас в теме
(21) Точнее в коде выше выборка этих значений, само удаление такое:
USE [Test]
GO

DELETE FR OM [dbo].[_Document196_VT4169]
       WH ERE   _Document196_IDRRef = CONVERT(varchar,0x8CA0D017C29AAC7511E6E6BB9148A258)
			or _Document196_IDRRef = CONVERT(varchar,0x8CA0D017C29AAC7511E6E6BB9148A259)

GO
23. CratosX 101 07.02.17 20:36 Сейчас в теме
Вообще, проблему битых ссылок решил в файловой базе без необходимости лезть в SQL.
Берём ирПортативный, ищем все строки ТЧ, находим битые ссылки вида <Объект не найден> (196:8ca0d017c29aac7511e6e6bb9148a258), берём обработку GUID82_w1c.epf, создаём документ, записываем, лезем в его движения - оттуда пытаемся вычислить реквизиты документа (например дату, время, склад и т.п.), вносим их в документ - записываем.
24. citicat 116 07.02.17 20:51 Сейчас в теме
Как уже написал Алексей Т. (CratosX) , проблема битых ссылок решается в файловой (не SQL) базе.
В похожем случае при исправлении обязательно выбираем режим "Добавлять)". Редактировать придётся эти добавленные элементы.
Если есть старый архив, возможно руками.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии



Ведущий программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Руководитель проектов 1С
Москва
Полный день

Консультант-аналитик 1С: ЗУП
Санкт-Петербург
Полный день