Восстановление потерянных реквизитов документов v 7.7

14.10.10

Задачи пользователя - Поиск данных

В ранее записанных и проведённых документах пропали неторые реквизиты. В результате в отчётах полный бардак. Как я решил эту проблему.

Предисловие

Прихожу к клиенту, мне показывают отчет "Ведомость по контрагентам", сверху цифры, не принадлежащие никому из контрагентов. Захожу туда, смотрю проводки, открываю документ и вижу в реквизите "Контрагент" <Объект не найден>. Как такое могло получиться не знаю, т.к. стандартными методами удаления этого не сделаешь, а клиент явно не мог сделать это программным методом (для меня это вообще не вопрос, поэтому подобные обработки не публикую). Есть, конечно, Журнал Регистрации, но я там ничего не нашел.

Решение проблемы

Мой первый вывод, что всё-таки кто-то из программеров постарался, а говорить об этом клиент не хочет.

Итак, к делу. Я использовал MS Visual FoxPro 8.0.

Для начала открываем файл 1Cv7.DD. Нормально открывается с помощью Excel. Ни в коем случае не сохраняем при закрытии!

Там нахожу имя нужного мне *.DBF (в поиске пишем идентификатор), и отрываю его с помощью MS Visual FoxPro. Здесь Вы можете с *.DBF файлом делать всё, что угодно, даже если совершенно не знаете FoxPro. Он здесь редактируется почти как в Excel.

НО: Не изменяйте структуру данных, иначе не сможете вернуть в  1С обработанный файл.

В открывщейся таблице находим нужные объекты (если точно знаем, что нам нужно), иначе "гуляем" по крайнему левому полю и снимаем там "черноту" (эта чернота есть признак того, что строка ситемой 1С удалена). Такой объект вообще не отбражается в БД. Крайнее левое поле - ключ удаления. Если он включен (черный) то 1С это поле не видит, и не важно, как это случилось.

Далее делаем просто:

1.Если знаем, что нам нужно восстановить, ищем нужные объекты, снимаем флаг удаления. Объекты становятся "видными" для 1С.

2. Если не знаем (см. выше) снимаем флаг у всех, где найдём. В результате в БД появятся все объекты, бывшие там ДО момента последней упаковки ИБ, и не перекрытые новыми записями. Лишние всегда можно удалить стандартными способами. Потом открываем программу, удаляем то, что восстановили "до кучи".

То же самое относится к подчинённым объектам. Если это сделать сразу, восстановление вполне реально, причём не придётся делать никаких перепроведений.

P.S. Если запись *.dbf или ссылка на неё потеряна это не поможет...

После выполнения всех операций ОБЯЗАТЕЛЬНО сделать реиндексирование!

P.S.: При выполнении таких операций БД должна быть ВЫКЛЮЧЕНА. Первое включение - через Конфигуратор: "Тестирование и исправление ИБ". Там произойдёт реиндексирование, а при желании (и настройках) и похороны неверных ссылок.Объекты, бывшие до упаковки и вошедшие в упаковку больше нигде и никак не проявятся, если только из архивов вытащить.
Я не зря писал, что при такой "хурургии" лучше заранее знать, кого и чего мы там ищем. Если не знаем - поднимаем всё кладбище, а дальше решаем, кого воскресить, а кого сразу назад отправить... Жуткая философия, требует присутствия клиента (для подтверждения жизнеспособности поднимаемого). Но это помогает... Иногда.
P.S.: Я ни коим образом не рекомендую это в качестве лечения подобных ситуаций. Я просто описал способ, как я это решил.
Спасибо за внимание.

Желаю удачи в работе!

С уважением, Владимир.

 

 

 

 

См. также

Анализ 1С: Предприятие 7.7 с помощью ELK стека

Журнал регистрации Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Рассмотрим систему на базе Elasticsearch, Logstash и Kibana (ELK Stack) для анализа логов 1С Предприятие 7.7 с целью визуализации и анализа событий 1С.

22.01.2019    11094    phsin    20    

27

Универсальные обработки документов и справочников для 1С: Предприятие 7.7

Корректировка данных Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Обработки можно использовать в любой конфигурации 1С-Предприятия 7.7. Обработки позволяют просмотреть/изменить значения любого реквизита документов/справочников, существующих в базе. В обработках реализован множественный отбор по значениям реквизитов (для табличной части документов тоже). В обработке документов реализованы следующие действия: Перенумерация; проведение; отмена проведения; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; удаление строк табличной части; вывод на печать и в файлы *.xls,*.csv,*.dbf,*.xml реквизитов шапки и табличной части. В обработке справочников реализованы следующие действия: Перенумерация; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; очистка истории значений периодического реквизита; перенос справочника в другую базу подобной конфигурации по OLE; вывод на печать реквизитов и истории значений периодических реквизитов; вывод реквизитов в файлы *.xls,*.csv,*.dbf,*.xml; отчет по структуре справочников, вывод и обработка ссылок на выбранные элементы.

1 стартмани

23.11.2016    38174    210    SanchoD    15    

13

Выводим из suspect базу 1С 7.7 на sql server 2000, а также "Перемещение баз данных SQL Server в новое местоположение с помощью операций Detach и Attach"

Корректировка данных Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

База данных помечается Suspect, когда SQL Server не может читать файлы данных, связанные с базой данных с жесткого диска. В этом случае сделать бекап базы нельзя, но можно попробовать образ диска. После того как возможность читать файлы данных восстановлена, вы можете перезапустить службу SQL Server, и если возможно, произойдет автоматическое восстановление. Что делать, если информационная база 1С7.7 на SQL Server 2000 перешла в состояние suspect? Если это произошло утром и бекап сделан, Вы, конечно, можете грохнуть и раскатать базу заново (вечером это проблематичнее), но не торопитесь - возможно, поможет detach+attach или другие методы, изложенные в данной публикации.

1 стартмани

08.11.2016    22747    ksnik    5    

5

Деноминация оборотов и остатков в 1С7.7 (Беларусь)

Корректировка данных Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Бухгалтерия для бюджетных учреждений 7.7 Беларусь Бухгалтерский учет Абонемент ($m)

Обработка проводит деноминацию оборотов, сумма каждой проводки делится на 10000. После этого остатки по счетам и субконто корректируются до эталонных значений. Также деноминируются реквизиты справочников.

1 стартмани

12.06.2016    36229    62    aselik    17    

11

Логирование в 1С

Инструменты администратора БД Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Часто бывает необходимо отслеживать состояние часто повторяющихся регламентных заданий. Например, синхронизация данных с IP-телефонией, которая может производиться каждую минуту, синхронизация с сайтами, синхронизация данных с различными системами. Использовать для этих целей логирование 1С чрезвычайно неэффективно и не удобно. В таких случаях удобно использовать подход, применяемый в Unix-системах: писать логи в обычные текстовые файлы, а потом делать их обработку через эффективно работающие Unix-команды: grep, tail, cat, less и т.п.

18.05.2016    34957    rudjuk    21    

33

Установка OpenConf для 1С v 7.7 под Windows 10

Инструменты администратора БД OpenConf Бесплатно (free)

Хотелось бы поделиться тем, как я пытался установить OpenConf для 1С 7.7 на windows 10. Статья не претендует на пулитцеровскую премию. Вдруг кому-то пригодится.

14.04.2016    22579    kouki_189    10    

35

GSoft: Мастер Active Directory

Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Вам необходимо навести порядок в Active Directory? Требуется загрузка данных пользователей? Используете 1С как средство хранения данных об учетных записях? В этом и многом другом Вам поможет обработка GSoft: Мастер Active Directory

10 стартмани

21.03.2016    12368    2    GSoft    6    

8
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. hogik 443 13.09.10 22:07 Сейчас в теме
(0)
"....появятся все объекты, бывшие там до упаковки ИБ."
- Не все. Не появляются объекты перекрытые новыми записями.
Т.к. в 1С помеченные на удаление (в смысле СУБД) записи используются для размещения новых записей.
2. Ёпрст 1063 14.09.10 10:14 Сейчас в теме
(0) Какая наивность, если активно писали - записей ужо не будет.
Ибо в первую очередь, пишутся записи поверх "удаленных".
Такое прокатит, если только после удаления с базой не работал никто.

Да и рекомендовать это не стоит, и уж тем более открывать словарик !эксэлем ! и для дбф-ок фокспро ставить.
3. iov 406 15.09.10 15:58 Сейчас в теме
мдя совет дан а вот пользоваться им или нет читайте в каментах.
4. hogik 443 15.09.10 16:08 Сейчас в теме
(0)
Еще в дополнение к (1) сообщению.
Кроме "восстановления" элемента справочника необходимо восстанавливать значения периодических и строковых (неогр. длина) реквизитов. А значение реквизитов этих типов хранятся в отдельных таблицах и, думаю, будут перекрыты еще быстрей, чем сам элемент справочника. Т.к. эти таблицы используются для хранения значений реквизитов всех видов агрегатных данных.
6. vladimir_makarov 105 14.10.10 12:24 Сейчас в теме
(4) Знаю. И вообще, не предлагаю этот способ, как кардинальный. Просто в конкретной ситуиции это помогло. Тем более, обратились сразу, ещё ничего не успели "перекрыть". +5
(3) Это не совет, а то, каким ПРОСТЫМ путём я решил конкретную проблему (я так и не выяснил, кто её создал: журнал регистрации был очищен...)
(2) Смотри выше. А лучше подскажи, как такое могло получиться? Советы типа "<Объект>.Удалить()" не котируются, очень сомневаюсь, что User-ы на это способны.
5. Ёпрст 1063 16.09.10 11:01 Сейчас в теме
+4 и значения строк неограниченной длины, которые хранятся в блоб-е ..
7. Abadonna 3958 18.12.10 01:22 Сейчас в теме
Автор, смени ник на "Мистер Очевидность" - очень по теме будет.
Оставьте свое сообщение