Автор: onsamuy 03.09.14, 16:38
При работе с программой 1с бухгалтерия для Украины 8 (релиз 1.2.22.1), возникает ошибка:
путем перебора было определено, что ошибка возникает при открытии списка документов "Изменение состояния ОС". Либо же при выполнении запроса, в котором затрагивается этот документ, например
|ВЫБРАТЬ
| ИзменениеСостоянияОС.Ссылка
|ИЗ
| Документ.ИзменениеСостоянияОС КАК ИзменениеСостоянияОС
Перепробовал следующие методы исправления:
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. Удалось обойтись малыми потерями, поскольку по результатам наведенных справок и анализа древних архивов оказалось что в БД документов "Изменение состояния ОС" не было ваще
Цитата(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)
более удалить ее в БД в ФАЙЛОВОМ варианте? Просветите.
для удаления записи штатными средствами в любом варианте, нужно перезаписать объект без этой записи.