Версия для печати темы (https://pro1c.org.ua/index.php?s=3e98545da77b63e7890a862ec1d402f4&showtopic=19644)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Ошибка СУБД

Автор: onsamuy 03.09.14, 16:38

При работе с программой 1с бухгалтерия для Украины 8 (релиз 1.2.22.1), возникает ошибка:


 ! 

Правила, п.11
 

путем перебора было определено, что ошибка возникает при открытии списка документов "Изменение состояния ОС". Либо же при выполнении запроса, в котором затрагивается этот документ, например
|ВЫБРАТЬ
|    ИзменениеСостоянияОС.Ссылка
|ИЗ
|    Документ.ИзменениеСостоянияОС КАК ИзменениеСостоянияОС


Перепробовал следующие методы исправления:

1. Тестирование утилитой chdbfl.exe.
2. Тестирование в режиме Конфигуратор.
3. Выгрузка ИБ в архивную копию с последующей загрузкой из этой копии. Этот вариант не подошел, поскольку при создании архивной копии 1С "вылетала".
4. Добавление произвольного реквизита в метаданные документа "ИзменениеСостоянияОС" с целью инициировать реструктуризацию при обновлении конфигурации ИБ.
5. Снятие конфигурации с поддержки, сравнение/объединение с типовой конфигурацией аналогичного релиза, с целью обновить/исправить конфигурацию поставщика.
6. Разворачивание базы в SQL режиме для тестирования и более глубокого анализа. Не получилось, поскольку см. п.3 (нет возможности сделать арх. копию).

НИЧЕГО НЕ ПОМОГЛО!!!

P.S. Тестирование проводил на платформе 8.2.19.106, затем на платформе 8.3.5.1119

Автор: Vofka 03.09.14, 19:10

Ищите копию и восстанавливайте базу.

Автор: Ardi 03.09.14, 21:13

А удалить из метаданных документ можно?

Цитата(onsamuy @ 03.09.14, 16:38) *
Добавление произвольного реквизита в метаданные документа "ИзменениеСостоянияОС" с целью инициировать реструктуризацию при обновлении конфигурации ИБ.

А добавление реквизита в табличные части?

P.S. Я надеюсь вы умеете копировать базу SQL средствами?

Автор: onsamuy 04.09.14, 8:13

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

Автор: Petre 04.09.14, 8:24

Файловая база, в отличие от того же SQL, допускает некоторые ошибки в таблицах (и chdbfl.exe их не видит). Надо искать ошибочную запись в проблемной таблице и удалять ее.

Автор: Vofka 04.09.14, 8:55

Т.е. база файловая, а ошибку пишет такую:

Цитата
Ошибка SQL: Таблица не найдена '_Document135'
?

Автор: onsamuy 04.09.14, 9:44

Полный текст ошибки:

Ошибка СУБД:,Ошибка SQL: Таблица не найдена '_Document135',по причине:,Ошибка SQL: Таблица не найдена '_Document135'

База файловая, да.

Удалось пофиксить как посоветовал Арди, удалил док из метаданных. Если подробнее то:

1. Снял конфу с поддержки
2. Попытался удалить документ из метаданных, ругнулось на ссылки. Поубирал ссылки на док, удалить получилось
3. Обновил конфу БД.
4. Сравнил объединил с типовой конфой для постановки на поддержку, восстановления удаленного документа и восстановления ссылок на док.
5. ПРОФИТ!

P.S. Удалось обойтись малыми потерями, поскольку по результатам наведенных справок и анализа древних архивов оказалось что в БД документов "Изменение состояния ОС" не было ваще upset.gif

Цитата(Petre @ 04.09.14, 9:24) *
Файловая база, в отличие от того же SQL, допускает некоторые ошибки в таблицах (и chdbfl.exe их не видит). Надо искать ошибочную запись в проблемной таблице и удалять ее.


а как можно найти ошибочную запись и тем более удалить ее в БД в ФАЙЛОВОМ варианте? Просветите.

Автор: Petre 04.09.14, 10:35

Цитата(onsamuy @ 04.09.14, 10:44) *
а как можно найти ошибочную запись и тем более удалить ее в БД в ФАЙЛОВОМ варианте? Просветите.

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

Автор: alex040269 04.09.14, 10:47

Цитата(onsamuy @ 04.09.14, 10:44) *
более удалить ее в БД в ФАЙЛОВОМ варианте? Просветите.

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

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua