как лечить "испорченные" документы

  • Автор темы alb
  • Дата начала
A

alb

иногда начали появлятся документы которые при наведении курсора на них в представлении вызывает ошибку.

выходить сообщения "часть документа использующий другую версию пропущена" и лотус закрывается ошибкой.
а иногда просто выходить сообщение но лотус не закрывается. но эти документы не открываются, но удается их удалить.

из за чего может появлятся такие документы. и как их лечить.

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

сервер 7.01 клиенты 6.55
ос 2003

...
Set handle = workspace.CurrentDocument.GetObject("Document")
filename = "c:\" + attachment.DocumentFileName(0)
handle.SaveAs(filename)
...

failname это строка и значение нормально присваетвается. попробовал явно присвоить "с:\tmp.doc"
права на запись на диск есть.
и handle тоже нормальный.
почемуто именно в режиме чтения просиходить трабла
 
O

oshmianski

alb
почему такое происходит выяснить не удалось. есть подозрение, что именно из-за глюка с RTF.

лечил:
1) открывал док в броузере (как ни странно док открывался без проблем)
2) сохранял содержимое RTF (оно у меня одно было. там могли содержаться приаттаченные доки и т.д.)
3) программно удалял "проблемное" RTF
4) открывал док (открытие происходило без проблем) и восстанавливал содержимое RTF (копипастил ранее сохраненное содержимое)

у меня таких проблемных доков было не много (примерно 1-3 в месяц) и приходили они как правило с удаленных серверов
 
A

alb

ричтекст поле перместил в субформы
создал два субформ
в одном ричтект поля вычисляемое а в одном редактируемое

в форму добвил вычисляемую субформу, если открыть документ в режиме чтения то показываю ту субформу где ричтекст поле редактируемое
и теперь выгрузка нормально работает документ не портится.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!