|
Форматированный документ и хранилище значения |
☑ |
0
neomarat
30.11.20
✎
11:10
|
Сломал всю башку уже - где косяк.
В регистре сведений есть реквизит с типом хранилище значения. Туда пишем данные из форматированного документа. Раз в 30 секунд проверяем наличие записи и выводим оповещение пользователю обратно в форматированный документ. В первый раз все открывается прекрасно. Во второй выводит вместо форматированного документа "can"t read file"... В следующий разы либо пустое окно либо опять эту фразу.
В отладчике вижу, что в хранилище все лежит - почему форматированный документ не отображает его?
|
|
1
neomarat
30.11.20
✎
11:18
|
Терзают сомнения что где-то в кэше застревает хранилище и пытается вытянуть оттуда, но не получается.
|
|
2
Мимохожий Однако
30.11.20
✎
11:24
|
Не стесняйся. Показывай код
|
|
3
neomarat
30.11.20
✎
11:36
|
Да код то простой:
Пишем:
&НаСервере
Процедура СК_ПередЗаписьюНаСервереПосле(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ТекущийОбъект.ОписаниеХранилище = Новый ХранилищеЗначения(ОписаниеФД);
КонецПроцедуры
Читаем:
ОписаниеФД = ПолучитьОписание(Напоминание.ОписаниеХранилище);;
&НаСервере
Функция ПолучитьОписание(ИсходнаяСтрока)
Возврат ИсходнаяСтрока.Получить();
КонецФункции
|
|
4
Мимохожий Однако
30.11.20
✎
11:55
|
ОписаниеХранилище добавлено в расширение?
|
|
5
Мимохожий Однако
30.11.20
✎
11:57
|
После получения документа из хранилища проверь тип значения. Может быть, там нет этого документа. Т.е. он не записался по процедуре СК_ПередЗаписьюНаСервереПосле
|
|
6
neomarat
30.11.20
✎
12:07
|
(4) пробовал и так, и так.
(5) открываю запись регистра - там все прекрасно и на месте. В первый раз после запуска сеанса - показывает. Второй и последующие уже нет.
|
|
7
Мимохожий Однако
30.11.20
✎
12:27
|
Документ, получаемый из хранилища можно показать на форме или в табличном документе или записать в файл. Так? В каком из режимов проверял? Повторное открытие формы или только перезапуск сеанса пользователя даёт положительный результат?
|
|
8
neomarat
30.11.20
✎
12:34
|
Проверял так: ИсходнаяСтрокаBase64 = XMLСтрока(Напоминание.ОписаниеХранилище);
В строке есть данные.
А вот в форм не подтягиваются.
При перезапуске сеанса показывает в первый раз. Потом перестает. При этом ИсходнаяСтрокаBase64 во всех случаях одинаковая. Как будто ФорматированныйДокумент пытается вытащить что-то из какого то своего кэша при открытии.
Уже форму перекидывал из расширения в регистр - не помогло тоже.
|
|
9
Armando
30.11.20
✎
13:47
|
Форматированный документ вообще какой-то капризный объект. На старых версиях платформы особенно. У меня например постоянно картинки терял.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший