С 10 по 13 декабря я вёл неравный бой на жизнь БД 1С 7.7 "Торговля и склад". Я забросил все дела, почти перестал есть, засыпал, ставя на сканирование и исправление ошибок, и просыпался с криком полным ужаса. Бухгалтер тоже почти не выходила из состояния медитации и отчаянья. А всё из-за того, что...
ЧТО СЛУЧИЛОСЬ?
Впрочем всего этого могло и не быть, процитируй я наше фсё ВВП: "Она утонула" и гордо уйди в закат. Но так получилось, что профессиональная гордость, совесть, или просто ослиное упрямство мне этого не позволили.
А случилось вот что - корректно завершённая сессия 1С, после того, как я переставил драйвер принтера и заменил ему usb шнур перестала запускаться. Какая тут связь - спросите вы и будете совершенно правы - никакой. Но пока я не пришёл 1С в целом нормально работала. И тут тоже никакой связи, кроме того, что из неё по моей просьбе сразу вышли во избежание ситуации, которой избежать не удалось. Случилось неизбежное, что делать шеф, всё пропало!
Дословно пропала вся работа за пару месяцев. Данные были до выхода из 1С, а как из неё вышли, и я посидел за ПК, пусть и с полным алиби и осознанием что не трогал её файлы, но они пропали в неизвестном направлении. В каталоге базы логи обрывались те же два месяца тому назад, и утраченными данными даже не пахло. Но самое странное, что данных не оказалось и в резервной копии с флешки!
Градус шизофрении повышался тем, что бухгалтер исправно делала в Total cmd резервные копии папки конфигурации на флешку. Никто из нас не врал, и каждый знал это. Но со стороны и по логам всё выглядело так, как будто свежие данные заменили старыми, или избирательно потерли их и следы в логе. Гугление и вопли о помощи на тематических ресурсах проку не принесли.
Получалось так, что долгое время бухгалтер делала бэкапы устаревшей базы, лежащей почему-то в рабочем каталоге, а работала с реальной базой, которая как бы была там, но по факту находилась в каком-то параллельном измерении. Тут я тоже заволновался, понимая, что дело не в 1С, и безуспешно закончив аудит 1С с результатом "она не виноватая, нечто само пришло", решил заняться системой и её окружением.
КТО ВИНОВАТ?
Мне не давали покоя бэкапы бухгалтера, я подумал, что может быть куда-то не туда она их делала, и я найду это место, восстановлюсь хотя бы с недельной свежести бэкапа, всё лучше чем ничего. Результаты превзошли все ожидания. Я словил джекпот.
В ходе поисков на всех локальных носителях системных логов базы 1cv7.mlg я обнаружил один из них в довольно подозрительном Зажопинске файловой системы: c:\Users\Name\AppData\Local\VirtualStore\Program Files\1CBases\teamaster\SYSLOG\ И тут мне всё стало ясно. Сразу же скопировал эти файлы в отдельный каталог. Найденные файлы содержали правда не всю рабочую базу, а лишь изменённую её часть, поэтому я перезаписал с заменой копию папки с устаревшей базой, которая из рабочего каталога, откуда 1С грузил БД. После этого случилось чудо - всё вернулось!
Виной всему система виртуализации Win7 и песочница антивируса Comodo. Хотя первую я как думал отключил сразу же после установки венды, а Комод периодически врубал свою песочницу сам, и я её столько уже раз выключал, что и забыл сколько. Вероятно после последнего выключения один из этих двух негодяев и забыл записать в Program Files перехваченные обновлённые файлы.
Подробнее про них: - CIS 8: Виртуальная среда Comodo
- CIS 8: Автоматическая песочница (Autosandbox)
- UAC немного деталей
- Секреты Windows 7 - Виртуализация приложений
- Принцип работы «Контроля учетных записей пользователей» в Windows 7
ЧТО ДЕЛАТЬ?
Резонный вопрос. Как избежать повторения подобной ситуации в будущем и улучшить систему бэкапов? Во первых я проверил настройки венды и антивируса ещё раз. Во-вторых убрал 1С и базы прочь из системного каталога Program Files, хотя в подавляющем количестве случаев пользователи хранят 1С и БД там и всё в порядке, я не мудрствуя лукаво перенёс их прямо в корень диска С, где взбесившаяся система их не тронет. Автоматизировал систему бэкапов (я бы сделал это раньше, но бухгалтер тогда не надумала) поставил Acronis True Image 2014 Premium 17 Build 5560.
на этой жизнерадостной ноте завершаю рассказ...
P.S. В ходе аудита БД 1Cv77 набрались полезные ссылки и заметки, приведу их здесь:
Как отличить файловую версию от SQL?
В отличие от файловой версии 1С базы данных, SQL-версия хранит свои таблицы отдельно на сервере MS SQL Server, поэтому отсутствуют файлы .dbf и файлы .cdx , а словарь данных имеет наименование 1Cv7.DDS.
Как добавить новую информационную базу из файла 1Cv7.MD: Поместить файл в отдельную папку. Запустить 1С 7.7. Добавить базу. В качестве пути к базе выбрать каталог из пункта 1. Запустить 1С 7.7 в режиме конфигуратора.
- Как создать базу 1С 7.7 (из файла конфигурации *.md)?
http://www.a-franch.ru/index.php/modules-menu/2012-05-03-16-22-00/sozdanie-iz-fajla-md
- Структура базы данных 1C v7( 1Cv7 файловая версии)
http://it.nppiris.ru/1C/struktura-failov-1c-1cv7-dbf-cdx/
- Скачать просмотрщик dbf файлов winDBFview.zip:
https://gendalf.ru/store/software/own_development/winDBFview/
|