|
Проверить целостность записи в хранилище значений, не получая? | ☑ | ||
---|---|---|---|---|
0
vllv
08.11.23
✎
14:01
|
Всем привет!
Платформа 8.3.23... Самописный механизм записывает форматированный текст в хранилище значений. И в 99.998% случаев читается обратно. Но с начала осени появились две записи, которые при чтении ХранилищеЗначений.Получить() в переменную закрывают клиент 1С. Никаких ошибок в журнале, ничего. В копии базы на другом сервере аналогичное поведение. Само хранилище кроме "Получить" не обладает методами диагностики. Если попробовать альтернативное чтение: ДанныеВBase64 = XMLСтрока(ХранилищеЗначения); ДвоичныеДанные = Base64Значение(ДанныеВBase64); То из "сломанных" экземпляров тоже чего-то получаем, то есть нельзя сказать Самое главное - не работает "Попытка - Исключение". То есть обёрнутый в "Попытку" метод "Получить" тоже выгружает клиент вылетает. Может, кто сталкивался с таким поведением, или занимался диагностикой хранилища? |
|||
1
vllv
08.11.23
✎
14:03
|
Да, ТиИ и выгрузку-загрузку через DT пробовали, не помогает, записи остаются "битыми".
|
|||
2
H A D G E H O G s
08.11.23
✎
15:04
|
А что требуется то? Почему просто не удалить эти 2 записи?
|
|||
3
shuhard
08.11.23
✎
15:05
|
(0)[Никаких ошибок в журнале, ничего]
подними тех.журнал |
|||
4
rphosts
08.11.23
✎
15:07
|
(0) База файловая?
(2) есть мнение, что 2 записи - это то, что они нашли, на самом деле их больше |
|||
5
lodger
08.11.23
✎
15:12
|
>>клиент вылетает
попробуй нагрузить этой задачей сервер. напиши код, который будет вызван в фоновом задании. |
|||
6
lodger
08.11.23
✎
15:16
|
>>Проверить целостность записи в хранилище значений, не получая?
звучит как задачка о квантовых махинациях. |
|||
7
Жан Пердежон
08.11.23
✎
15:18
|
Если жалко удалять - попробуй раскурить содержимое через ЗначениеВСтрокуВнутр()
Раньше было много глюков с форматированной строкой, если она картинки содержала. |
|||
8
Hmster
08.11.23
✎
15:27
|
попробуй загрузить ДТ на старой платформе
|
|||
9
vllv
09.11.23
✎
07:45
|
(2) предупредить сбои в работе пользователя при появлении новых "битых" записей. То есть если запись повреждена, не читать, чтобы не упал клиент 1С. В рабочей базе конечно удалили, оставив копию для фикса ошибки.
(3) да, возможно придётся оттуда копать пробовать (4) база серверная, ненайденные ошибочные записи вполне ещё могут быть (5) интересная идея про фоновое, спасиб, попробую (7) ЗначениеВСтрокуВнутр() попробовал, возвращает и на "сломанных" записях и на работающих base64, в ней двоичные данные. Если только развить тему с альтернативным чтением, понять, как из двоичных данных записать форматированный документ. (8) пока нет старой платформы в наличии, но важно именно добиться корректной работы на новой. Сами данные не такие важные. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |