0
На рассмотрении

Пропали данные в нескольких файлах КонтурЗарплата

sltur 3 года назад в Прочее обновлен 3 года назад 6

Здравствуйте!

КонтурЗарплата школьный вариант 4.5 (релиз 607) сетевая

Расчетчик работала в сетевом РМ, когда ее выбросило из программы. После этого при попытке рассчитать лицевые счета стали получать ошибку "Ошибка при чтении таблицы, испорчен файл TablNal\ALG_117\R_DED.nal", а при попытке загрузить ЭЛН - аналогичная ошибка с ELN\ElnRegistry.xml.diff

Указанные файлы на сетевом ZPL оказались забиты нулями. Нашел остальные поврежденные таким же образом файлы:

.\BACKUP\Last\ELN\ElnRegistry.xml.diff
.\BACKUP\Previous\ELN\ElnRegistry.xml.diff\5531_ElnRegistry.xml.diff
.\BACKUP\Previous\ELN\ElnRegistry.xml.diff\5537_ElnRegistry.xml.diff
.\ELN\Responses\calc_910030700224_2014.xml
.\ELN\Responses\calc_910030700600_2016.xml
.\ELN\Responses\req_910030700224_2013.xml
.\ELN\Responses\req_910030700600_2015.xml
.\ELN\Responses\resp_910030700224_2013.xml
.\ELN\Responses\resp_910030700600_2015.xml
.\ELN\ElnRegistry.xml.diff
.\TABLNAL\ALG_103\R_DED.nal
.\TABLNAL\ALG_109\R_DED.nal
.\TABLNAL\ALG_116\R_DED.nal
.\TABLNAL\ALG_117\R_DED.nal
.\TABLNAL\ALG_118\R_DED.nal
.\Z16\p016018.tmp

Файлы R_DED.nal восстановил из архивной копии, но у остальных размер не совпадает, что говорит о том, что уничтоженный файл отличался от сохраненного.
Можно как-нибудь восстановить работоспособность программы? Что делать с .\ELN\ElnRegistry.xml.diff  - удалить или восстановить старую копию? Что делать с поврежденными файлами в .\ELN\Responses\?

Какая может быть причина сбоя? Что сделать, чтобы сбой не повторился?


Нашел еще несколько файлов: SHOWTEXT.TAB и пара лицевых счетов, у которых сохранился заголовок, а все остальное уничтожено нулями.

На рассмотрении

такие повреждения могут быть вызваны либо повреждением жесткого диска либо отключением электричества в момент записи файлов.
защититься от этого можно соответственно с помощью raid1 и ups

ElnRegistry.xml.diff желательно восстановить из самой последней живой копии в ZPL\BACKUP\Previous\ELN
но только если его дата позже чем у полного файла реестра без приставки .diff

данные хранятся в двух файлах, в .diff последние изменения, они периодически вливаются в полный ElnRegistry.xml и .diff очищается до почти поставочного вида, но хранит следующие свободные id

Спасибо за ответ!

К сожалению, ElnRegistry.xml.diff в ZPL\BACKUP\ тоже пустые, восстановил только из резервной копии за 03.11.2020.

Сейчас программа перестала падать при получении ЭЛН, но не дает получить б/л: "Ошибка добавления ЭЛН (...) в хранилище. Ошибка обновления реестра. Элемент с таким id уже добавлен". Номеров ЭЛН, на которые он ругается, нет ни в ElnRegistry.xml, ни в ElnRegistry.xml.diff. Может быть это из-за того, что есть одинаковые элементы и в ElnRegistry.xml и в ElnRegistry.xml.diff?

Коллеги, помогите, пожалуйста - очень нужно начислить больничные

+1

в начале файла  ElnRegistry.xml.diff  в тэгах NextId и NextDopId   должны быть значения которых нет в реестре (значения id в последних элементах этого и полного файла xml)
просто добавьте 1000 к значениям NextId и NextDopId  

Спасибо! Теперь работает!

Сервис поддержки клиентов работает на платформе UserEcho