Ситуация такая. Бухгалтерия предприятия 2.0 (2.0.66.146 релиз) оказалась битой. Но рабочей. Т.е обновлять конфигурацию могу, работать в базе тоже могут спокойно. Но не могу сохранить dt-щный файл. Выдает ошибку, что нет таблицы _InfoRg10398 (на скрине). Открыл эту же базу в утилите Tool_1CD и там тоже выдало, что нет этой таблицы (тоже на скрине).
С помощью метода ПолучитьСтруктуруХраненияБазыДанных узнал, что это за таблица, на которое ругается программа. Оказалась эта таблица "РегистрСведений.ОтветыНаЗапросыВыпискиИзЕГРЮЛ_ЕГРИП". Создал новую чистую базу такого же релиза и тоже с помощью метода ПолучитьСтруктуруХраненияБазыДанных нашел название таблицы и номер. Но номер оказался другим. Если в оригинальной битой базе это был InfoRg10398, то в новой чистой базе это InfoRg8568. С помощью утилиты Tool_1CD открыл новую базу и выгрузил оттуда эту таблицу в файл. Переименовал в InfoRg10398 и пытался загрузить в оригинальную базу клиента, но не дает загрузить. Но если не переименовать и пытаться загрузить в базу клиента, то загружает. Но мне не нужна таблица с именем InfoRg8568, а нужна с именем InfoRg10398.
Платформа: 8.3.18.1363
Конфигурация: Бухгалтерия предприятия 2.0 (2.0.66.146 релиз) типовая
Может кто сталкивался с такой проблемой ещё или похожей? Как решить? Может есть ещё идеи? Буду благодарен за советы :)
HEX-редакторы (по крайней мере, известные мне) не позволяют "раздвигать" содержимое файла (менять его размер), поэтому увеличивать длину имен полей пришлось встроенным редактором FARа - он корректно обходится с символами 00h: не удаляет их, в отличие от Блокнота.
Но вводить такие символы FAR не дает, поэтому пришлось вставлять после каждого добавленного символа (кодировка двухбайтная) что-то, не встречающееся в файле. Помнится, я использовал звездочку ("*").
А "раздвинутый" таки образом файл окончательно исправил HEX-редактором, в котором заменил все звездочки на 00h.
(1) если формат базы 8.3.8 ее можно сконвертировать в старый форма (8.2.14) утилита cnvdbfl . После конвертации с помощью tools 1cd можно попробовать восстановить таблицу ( поиск и восстановление таблиц) Если не поможет то из такой же базы (тоже предварительно сконвертированной в 8.2.14 ) выгрузить нужную таблицу . В файле description необходимо поменять имена Таблицы и полей как и старой базе , далее с помощью Tools 1cd загрузить изменённые данные в битую ( создание Таблицы) . Соответсвенно все операции делать на копии
(2) да, знаю. Через Обновлятор 1С конвертировал в 8.2.14 Восстановление таблиц не помогает. Не восстанавливает ту нужную таблицу. Остальные пункты тоже делал, не помогает. Я вот думаю, может я не так что-то меняю файле description? Я там меняю всё на моё название, где нужно.
Переименовал в InfoRg10398 и пытался загрузить в оригинальную базу клиента, но не дает загрузить.
Думаю, что переименовать - недостаточно: внутри файлов экспорта тоже прописано название таблицы.
Конкретно - в файле descr, причем в нескольких местах. Можно попробовать отредактировать его HEX-редактором и потом загрузить... само собой, сначала в копию базы.
(4) да, менял, но через блокнот. Просто открывал и везде менял на название мне нужное. Но не дает загрузить, пишет какую-то ошибку в Tool_1CD. Но! Если ничего не менять, не переименовывать, то дает загрузить таблицу. Но мне нужна переименованная...
Нужно InfoRg8568 переименовать(изменить) на InfoRg10398
Извиняюсь, только сейчас сообразил: длина чисел в именах таблицы и полей отличается (4 и 5 знаков), так что поправить HEX-редактором не получится.
FARом можно попытаться "раздвинуть", но результат сомнителен, да и времени сейчас уже нет, попробую вечером, если у вас не получится решить проблему другими способами.
Если есть архивы базы , то лучше описание Таблицы взять из архива - меньше геморроя по переименованию точнее его вообще нет -экспортировать таблицу из архива и создать в текущей
дешевый - выгружайте нужную информацию в файлы
сохраняйте в новую чистую базу
дороже - фриланс ,могу сказать способ,но результат может оказаться тем же
( базу удалось запустить,но в определенных моментах она выключалась )
т.е. пока работает - сохраните данные и загружайте в чистую базу.
после этого, лично для вас :
1.конфигурация на замке
2.бэкап в два разных места перед обновлением.
3.никогда не обновлять динамически - только в монопольном режиме.
(5) да, первым делом я пробовал через обработку Выгрузка-загрузка XML перенести документы и справочники из битой в чистую базу того же релиза. Но что-то ломается там. Выгружаю из битой базы 300 тыс. объектов, а при загрузке в чистую базу объектов становится более 1,5 млн. и загрузка не останавливается, загружает и загружает без остановки. Хотя должен загрузить тоже 300 тыс. объектов.
Самый простой способ - в конфигураторе удалить РегистрСведений.ОтветыНаЗапросыВыпискиИзЕГРЮЛ_ЕГРИП, сохранить конфигурацию, создать этот регистр в конфигураторе
Сейчас решаем подобную проблему с ЗУП, пока остановились на варианте настроить РИБ, создать подчиненную базу и после отвязать ее от главного узла и дальше использовать ее как основную
(31)
Бухгалтерия предприятия, редакция 2.0 (2.0.66.145)
уже есть оригинальная конфигурация, сейчас обновление скачаю.
базу на восстановление приму до 16 по Киеву
Есть еще утилита по чтению и выгрузки таблиц данных 1с_Lib огромным плюсом данной утилиты является доступ к метаданным конфигурации. и групповое удаление таблиц Когда-то делал следующее
Выгружал таблицы данных из убитой базы и рабочей , сопоставлял имена таблиц по иенам объектов , копировал нужные файлы в нужную папку
и через tools_1cd заливал измененные данные предварительно подготовленную базу с удаленными таблицами данных кроме системных таблиц (опять же удалял через 1с_lib)
Работало на ура ! помогало когда крошилась таблица DBSHEMA или запись DBNAME в таблице PARAMS
HEX-редакторы (по крайней мере, известные мне) не позволяют "раздвигать" содержимое файла (менять его размер), поэтому увеличивать длину имен полей пришлось встроенным редактором FARа - он корректно обходится с символами 00h: не удаляет их, в отличие от Блокнота.
Но вводить такие символы FAR не дает, поэтому пришлось вставлять после каждого добавленного символа (кодировка двухбайтная) что-то, не встречающееся в файле. Помнится, я использовал звездочку ("*").
А "раздвинутый" таки образом файл окончательно исправил HEX-редактором, в котором заменил все звездочки на 00h.
(7) Я пошёл бы таким же путем, только ручное создание регистра может сказаться на последующем обновлении...
По пунктам и на копии базы:
1. Сохранить конфигурацию поставщика (Конфигурация - Поддержка - Настройка поддержки - Сохранить в файл)
2. Снять конфигурацию с поддержки (Конфигурация - Поддержка - Настройка поддержки - Включить возможность изменения, затем Снять с поддержки)
3. Удаляете из основной конфигурации РегистрСведений.ОтветыНаЗапросыВыпискиИзЕГРЮЛ_ЕГРИП
4. Сохраняете и обновляете конфигурацию ИБ
5. Загружаете конфигурацию поставщика (Конфигурация - Загрузить конфигурацию из файла - Выбираем ранее сохраненный файл), в процессе загрузки предложить поставить конфигурацию на поддержку - подтверждаете.
6. Сохраняете и обновляете конфигурацию ИБ
Если на п. 4 программа не вылетит, то всё должно получиться.
Теоретически может быть битая конфигурация поставщика, можно взять её из чистой или демо-базы с тем же релизом.