Позавчера 23 мая 2018 года был повреждён файл базы данных.
Причиной повреждения явилось то, что в момент работы с файлом базы данных 1Cv8.1CD произошло отключение электричества компьютера. Приложение «1С: Деньги» было открыто. В нём было открыто окно Расход. Я закончил записывать свои расходы и нажал на кнопку «Учесть». Окно Расход закрылось и стало появляться главное окно приложения «1С:Деньги». Вот между моментами полного закрытия окна Расход и неполным появлением главного окна приложения (это список денежных операций ) и произошло отключение электричества. Наверное, происходила запись в базу данных о моих расходных операциях и в этот момент отключилась электроэнергия. Причиной отключения электроэнергии явился физический электронный таймер, который был запрограммирован на отключение электричества в заданное время (ночью не спать вредно для здоровья).
После запуска приложения "1С: Деньги" появляется окно 1 (см. файл Окно 1). А после выбора «Показать информацию …» появляется окно 2 (см. файл Окно 2).
У меня был резервная копия месячной давности. Пришлось использовать её и изменять остатки всех кошельков на текущие. Но все данные с 21 апреля до 23 мая 2018 пропали.
И ещё вопросы:
2_) Как можно настроить автоматическое закрытие приложения "1С:Деньги" в Windows 10 (можно ли использовать Планировщик заданий)?
3_) Какие вообще есть программы, которые могут приложение "1С:Деньги" закрывать автоматически в заданное время, например, за 10 минут до отключения физическим таймером компьютера?
4_) Если приложение "1С:Деньги" будет закрыто автоматически либо Планировщиком заданий в Windows 10, либо специальной программой, то может ли быть снова повреждён файл базы данных, при неблагоприятных условиях, как при отключении электричества?
Не пробовали chdbfl? Где то там:
C:\Program Files (x86)\1cv8\8.3.10.2561\bin\chdbfl
Недавно попал в такую же ситуацию. Слава энергетикам, МТЗ, подстанции и персонально моему ИБП марки DEXP 1200 (теперь сослан блюсти ноут и телек с его приставкой). В "Справке", как и в этой конференции ничего не нашёл. Далее методом антинаучного тыка прошёл по следующей логической цепочке:
- Программа открыта, но запись данных (вроде бы) должна была завершиться к моменту сбоя.
- После восстановления подачи энергии загрузчик работает
- Возможно есть вариант запуска с резервной копии базы (месячной давности)
- Возможно есть файл сопровождения (сессионный), в котором пишется служебка, необходимая для корректного запуска - останова программы
- Если такое есть, то это может быть в каталоге, где живёт база
- Если такое есть, то оно перезаписывается при каждом запуске/останове программы.
Ну, вот я и открыл каталог (для вас это Dengi2Toshiba) и посмотрел на список файлов при открытой (с исп. резервной копии) программе и при выгруженной. Так были найдены файлы:
- 1Cv8.1CL
- 1Cv8tmp.1CD
- 1Cv8tmp.1CL
При нормальном завершении программы эти файлы закрываются и удаляются автоматически. После сбоя электроснабжения один из этих файлов (а может и все три) остаются "висеть" в каталоге при этом несут в себе ошибку. Программа при запуске видит наличие этих фалов. Собственно уже одного этого достаточно. А может она пытается читать из них информацию (в которой, как мы помним есть ошибка) и отказывает в продолжении. При этом пользователю выдаётся окно (Ваш рис. "Окно 1.bmp") с заведомо неверной информацией. Фокус в том, что ваша база на самом деле ЖИВА и ЗДОРОВА.
РЕШЕНИЕ:
ОСТОРОЖНО!!! Не открывайте и не редактируйте поименованные выше файлы. Если они остались в каталоге базы их нужно просто удалить.
Временно переименуйте основной файл базы данных с 1Cv8.1CD в 1Cv8.1CD_РЕЗЕРВ Как именно переименовать - ваше дело, главное сделать так, чтобы позже можно было переименовать обратно и не ошибиться с символами.
Скопируйте резервный файл базы в основной каталог и переименуйте его в 1Cv8.1CD
Теперь запускаем 1С Деньги и выполняем вход до полного запуска программы. Для пущей важности можно просмотреть баланс (месячной давности) и успокоиться. НИ ЧЕГО НЕ ИЗМЕНЯЙТЕ В БАЗЕ.
ВЫХОДИМ из 1С Деньги (молимся на ИБП, автомат в электрощитке, подстанцию и всю нашу энергетику)
ПРИ ВЫГРУЖЕННОЙ программе 1С Деньги Проверяем отсутствие в рабочем каталоге файлов:
Переименовываем файл резервной базы, как нам удобно, или (если вы не перемещали его, а именно скопировали в рабочий каталог) удаляем его из рабочего каталога.
Переименовываем файл рабочей базы в 1Cv8.1CD
Пробуем выполнить запуск 1С Деньги
Если вы всё сделали правильно и вам повезло - ВЫДЫХАЕМ!
Внимательно смотрим базу и радуемся, что не придётся восстанавливать все записи за месяц (если не больше). Удостоверившись в том, что всё нормально - бежим в магазин за виски и новым ИБП.
На будущее - больше так не делайте. При первых признаках энергетической катастрофы - выгружайте программу до падения Винды.
Если разработчики будут ругаться на предложенный алгоритм решения проблемы - с радостью приму конструктивную критику. А лучше внести все слова справедливого гнева непосредственно в документацию по программе. Всем будет легче.
Благодарствую вам за совет. Последовал вашему совету. Запустил файл chdbfl.exe в месте C:\Program Files (x86)\1cv8\8.3.11.2867\bin. Появилось окно «Проверка физической целостности файла БД». Выбрал имя файла БД, поставил флажок для исправления ошибок и нажал Выполнить. После этого повреждённый файл базы данных уже стал неповреждённым и успешно запустился. Окно 1 не появилось, а появилось главное окно приложения «1С: Деньги».
Файл базы данных был повреждён 23 мая 2018 года. Сначала я записал (нажал на кнопку «Учесть) данные о расходных операциях первого кошелька. При записи данных первого кошелька не было отключения электричества. Потом я пытался записать данные о расходных операциях второго кошелька. При попытке записи данных второго кошелька и произошло отключение электричества. После исправления ошибок в приложении chdbfl.exe, в базе данных сохранились данные только первого кошелька, а данные второго кошелька не сохранились.
Снова ввёл данные второго кошелька в восстановленной базе данных за 23 мая 2018 года и другие данные на эту дату. Потом переписал из оказавшейся временной базы данных данные за 24 и 25 мая 2018 года и теперь у меня, потерянных данных нет.
Спасибо за совет. Но я уже успел успешно воспользоваться способом моего тёзки Важенина Владимира. ИБП конечно нужно при отключении электричества по независящим от компьютерщика обстоятельствам. Но физический таймер между электросетью и компьютером убирать не буду. В качестве уровня защиты настроил автоматическое резервное копирование при закрытии приложения «1С:Деньги» . Так, что в случае повторения подобной ситуации придётся снова восстановить файл базы данных методом Важенина Владимира или вашим. Ну, а если оба эти метода не сработают, то запущу последнюю резервную копию со свежими данными. Также можно ещё проработать вопросы 2, 3 и 4, как дополнительный уровень защиты.