Имя: Пароль:
1C
1С v8
Форматированный документ и хранилище значения
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
Форматированный документ вообще какой-то капризный объект. На старых версиях платформы особенно. У меня например постоянно картинки терял.
Ошибка? Это не ошибка, это системная функция.