у меня ситуация зашла в тупик... файл базы данных 1Cv8.1CD прекрасно работал в 1С-ке версии (1С Платформа 8.2.19.83 x86), но после обновления (8.3.8.2054_Windows_RePack) появилась "Ошибка данных потока", которая не лечится никаким известным способом (читал советов на эту тему очень много и пробовал много всего...от самых простых до самых сложных советов)
(102)Не совсем она у вас рабочая, как я бы сказала. ругань насчет логической целостности по данным реализации за 12 год
Проверка логической целостности. Документ.Реализация товаров и услуг. Реквизит.Счет на оплату покупателю реализация товаров и услуг дата-ляля тополя, номер ляля-тополя.
Объект, на который ссылается значение - отсутствует.(период ругачки - февраль 2012 года)
В итоге выскакивает ошибка формата потока на данной операции. То есть от мусора БД наверное лучше бы вычистить.
Хотя.. по моему она выскакивает на любой операции тестирования и исправления, даже если в кофигураторе по одной галке ставить. Платформа 8.3.5.119
По другому тестированию видать проблема со справочниками
Повреждены данные таблицы '_Reference69'. Восстановлено 241 из 250 записей.
Повреждены данные таблицы '_Reference9409'. Восстановлено 440 из 453 записей.
Это по базе 2.0.66.9
Та же база, но на платформе 8.2.19.130 при проверке логической целостности указало на повреждение пары справочников, но в целом ТиИ прошло без проблем. То есть на 8.2 база вполне рабочая, а на 8.3 базу открывать надо очень аккуратно.
(88) эта таблица прописана в в файле DBNAMES таблицы PARAMS точнее это BLOB данные этой таблицы Tools позволяет выгружать и редактировать эти данные -но это надо делать грамотно , я попробовал удалить указатель на эту таблицу - обратно запихнуть исправленные данные без ошибок пока не получается . И не факт что в архиве будет эта таблица
(85)Я даже в хех-редакторе пробовала менять таблицы с чистой в больную
0000f000 вот тут расположена таблица config, в больной она была изменена иначе, по сравнению со здоровой.
Потом дальше в здоровой таблице нулики.. ещё одна малая запись.. нулики.. и вот таблица configSave и опять засада: в больной между этими двумя таблицами такая крякозябра... что фиг поймешь.
Если в здоровой configSave идет с 00019000 и по 000192d0, то в больной на этих строках продолжаются непонятные крякозябры. Вот тут уже фиг поймешь, как сдвинуть эти крякозябры, чтобы таблицу configSave на место поставить.. в общем жееесть
Есть ещё идея -выгрузить через Тулс экспортировать небольшой справочник , в hex редакторе - поправить описание файла decr на нужный вариант , а потом импортировать с созданием таблицы .
Но не суть. Скопировал таблицы config и configsave из рабочей в нерабочие а так же таблицы не дометающих документов и регистров - и база стала запускаться в режиме предприятия , но пока при обновлении базы данных ещё выскакивает ошибка по какому-то полю
(109) (122) я к сожалению не работаю в БП. Можете посмотреть результат восстановления?
https://yadi.sk/d/GwvutBnF3B84re Справочники открываются на первый взгляд "мусора" нет, документы так же открываются, отчеты формируются. "Но мне со своей высоты не видно".
(123) Все очень даже хорошо !!! Даже лучше чем у меня (у вас получилось оставить тот же релиз что и был , а ставил с копии 2.0.66.9 . Вот только у меня вопрос , Как Вам удалось переименовать все таблицы ? или Вы делали реструктуризацию ?) . Свой вариант я тоже выложу как и обещал что бы у автора топика был выбор, но надо признать Ваш вариант - лучший
Протестила ТиИ на 8.2.19.130 с настройкой(При наличии ссылок на несуществующие объекты - очищать ссылки). и потом открывала по очереди на каждом релизе: 8.3.3., потом 8.3..4, потом 8.3.5, потом 8.3.7, потом 8.3.8.2054 последняя. Сейчас при ТиИ ошибок не выдает, и платформенное тестирование говорит: ошибок не обнаружено.
База которая 2.0.66.9. https://yadi.sk/d/9Odjs0rY3AojiM
База что 2.0.65.46 - эта даже на 8.2.19.130 не дает с собой работать
Эврика !!! Удалось таки запустить косячную базу (восстановленая база) НО есть несколько существенных нюансов
1) база стала немного не типовой (для обновления в режиме предприятия пришлось переписать предопределенный элемент справочника Доходы НДФЛ
2) Выгрузка инф. базы прерывается (до этого выгружалась до замены таблицы DBSHEMA)
3) Я не успел проверить работоспособность базы так как дальше идет точечные проверки (смотреть открываются ли справочники и документы , проведение документов) , так что не советую работать с этой базы - можно пробовать выгрузить из нее данные и загрузить в чистую. Я проверил только запуск
(112) а я как раз последний раз застрял на обновлении в режиме предприятия. База у меня ругалась на отсутствие строки, но при этом поправить кофигурацию я не мог - не записывались изменения. При этом проверку логической целостности и ссылочной база проходила, а реиндексацию и реструктуризацию нет. Собирался еще пробовать. Хорошо что уже не придется уже в печенках сидит :D времени мало, а бросать на половине я как то не привык.
(120) Ну мой вариант не рабочий , сейчас сам сижу ковыряю , частично поправить можно , но застрял на открытии документа реализации , так что не бросайте , может у Вас лучше получится
Последнее что удалось достичь - исправил ошибку открытия справочника доверенные лица (или что-то похожее). С реализацией результат не очень - для загрузки новой таблицы с новыми полями но старыми данными , пришлось увеличивать размер файла данных ( иначе выдает ошибку кратности длинны поля) это привело к тому что данные реализаций были потерянны но сохранялись данные таб. частей . Через ТиИ сделал контроль с создание ссылок потерянных и частично потерянных данных. Реализации появились , но шапки документов не заполнены и провести их нет возможности, но сохранились их движения по регистрам , так что есть реальная возможность восстановить данные . Осталось только это реализовать , но времени как всегда нет. Завтра выложу последнюю исправленную версию
Опишу что делал
Я очень много "копий" обломал с переносом таблиц config, configsave, dbschema, params и files из базы релиза 2.0.66.9 из-за того что релиз выше получалось что в dbschema присутствовало достаточно много таблиц и колонок в таблицах которых не было в базе по факту и приходилось руками импортировать недостающие таблицы. Так я добился что база у меня проходила тестирование и я смог даже выполнить проверку ссылочной целостности.
Само собой в базе было много незарегистрированных документов и при тестирование с опцией создавать ссылки и объекты для этих документах появлялись записи в регистрах.
Но этот способ не прокатил. При входе в режим предприятия база не могла перейти на новую версию и вылетала и подправить конфигурацию я не мог - не применялись настройки "ошибка формата потока" и appcrash. Я очень много времени потратил именно на этом.
В итоге я взял базу 2.0.66.9 и нагло надругался над ней сравни и объединив ее с чистой конфой 2.0.45.46, накатил cf для поставки на поддержку. Выполнил тии с удалением потерянных объектов и ссылок. И проделал все тоже самое что писал выше уже в таком варианте. Ошибки конечно были, переход на версию так же был не выполнен, но из режима предприятия меня уже не выкинуло.
Ну и далее я выполнил выгрузку данных в xml через обработку "обмен между одинаковыми конфигурациями 8.2" и перенес в чистую базу 2.0.45.46. При выгрузке в xml были ошибки на отсутствующие таблицы и колонки в таблица которые я импортировал вручную. После переноса само собой опять выполнил тии с созданием объектов и ссылок.
Вот в общем то и все.
Использовал Tool_1CD для экспорта/импорта таблиц - в очередной раз благодарю разработчика, без этой утилиты как без рук уже)
И MS SQL Server для поиска таблиц в которых содержались недостающие столбцы в базе
2.0.66.9
Столбцы в MS SQL Server искал запросом
use basatomsk
SEL ECT *
FR OM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = '_FLD11501'
В результате запроса я получал строку в которой была указана таблица в которой хранится данный столбец. После чего оставалось ее импортировать.
(126) Вот мои действия не знаю почему но у меня прокатило загрузка таблиц из 2.0.66.9 Config DBSchem , ConfigSave ,params Опять же руками лопатил все ошибки с неверным размером данных и указанными в файле Не достающие таблицы ( Документ , 2 регистра и Регламентное задание) перенес из экспортом из рабочей базы и создание таблиц в новой. В режиме предприятия Обновление не проходило (не мог найти предопределенный элемент справочника ) В конфигураторе перезаполнил этот элемент и все прошло. Для поиска полей использовал ТиИ ну и подручными средствами так как MS SQL нет и работать с ним не умею ((( поэтому искал так
СтрукутраБазы = ПолучитьСтруктуруХраненияБазыДанных();
Для каждого Таблица ИЗ СтрукутраБазы Цикл
ПоляТаблицы = Таблица.Поля ;
Для каждого Поле из ПоляТаблицы Цикл
Если НРег(Поле.ИмяПоляХранения) = НРег(ИскомоеЗначение) Тогда
Сообщить(Таблица.ИмяТаблицыХранения);
прервать;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Показать
Таким образом находил нужные таблицы и подменял их. Сложнее было с реализациями так как не мог выйти на требуемую кратность без потерь, поэтому пошел на определенные жертвы , без критичных потерь.
Зато опыт получил хороший. Доводилось пару раз восстанавливать данные похожими способами, но каждый раз открываю для себя что-то новое. Ну и конечно Tools 1CD - просто бесценна !!!