Как обновить все кэши нужного объекта? #748301


#0 by TormozIT
Объект изменили в другом сеансе. Я получил об этом сигнал (неважно как). Мне нужно, чтобы новые данные сразу стали показываться по нему в управляемых и обычных формах, во всех динамических списках, списках быстрого выбора, методом ПолучитьОбъект, в полях ввода и т.д. Я пробовал ОповеститьОбИзменении(Ссылка) - по крайней мере для обычных форм не дает нужного эффекта, т.е. в полях ввода представление ссылки не обновляется. Если получаю объект от ссылки методом ПолучитьОбъект, то получаю естественно старые данные, т.к. они из объектного кэша берутся, который не чаще раза в 20 сек при необходимости обновляется. Если же у объекта вызываю метод Прочитать, то получаю новые данные, но последующий вызов ПолучитьОбъект опять получает старые данные из объектного кэша. Представление в полях ввода обычных форм вообще непонятно как обновить (метод Обновить у обычной формы тоже не помогает). Итого нужно обновить 1. объектный кэш 2. кэш представлений ссылок Научите
#1 by Лефмихалыч
Зачем тебе это?
#2 by TormozIT
Это нужно пользователю, т.к. он точно знает, что объект изменился и не хочет работать с его старыми данными.
#3 by Lama12
Пользователь открывает утром документ на 100500 строк. Ждет обеда. Много думает. В конце рабочего дня решсет исправит 800 строчку. А система ему говорит что объект не актуален?Вопрос решается по другому. Либо то кто открыл блокирует сразу, либо переоткрывает когда додумается зачем он его открыл.
#4 by TormozIT
У меня другая ситуация. В ней блокировки не подходят. Пользователь сам инициирует действие изменения, протекающее в другом сеансе.
#5 by RomanYS
а зачем после Прочитать снова вызывать ПолучитьОбъект?
#6 by TormozIT
Например, для понимания состояния объектного кэша. При открытии формы объекта также используется объектный кэш, т.е. я вижу там старые данные, т.к. форма не делает Прочитать.
#7 by TormozIT
А вот если в форме нажать "Перечитать данные объекта", то она выполнит Прочитать и покажет уже новые данные.
#8 by Рэйв
Тs походу путаешь данные и отображения на форме..
#9 by TormozIT
Скорее всего нет. Ссылка.ПолучитьОбъект - показывает в свойстве Наименование старые данные. После сразу же Объект.Прочитать в этом свойстве уже новые данные.
#10 by TormozIT
Для тех кто не въезжает. Рекомендую познакомиться еще с этой темой
#11 by Рэйв
>>Ссылка.ПолучитьОбъект получает актуальный объект.Нет?:-)
#12 by TormozIT
Я же уже как минимум 2 раза написал, что нет.
#13 by Рэйв
Спорить не буду.Но думаю, что да.
#14 by TormozIT
Я это много раз проверил перед созданием темы. Весь вопрос в том, как обойти эту особенность - "Если обращение происходит в пределах 20 секунд после поступления данных в кеш, данные считаются верными (валидными)."
#15 by RomanYS
ты же сам пишешь, что прочитать решает твою проблему Когда это надо сделать, ты вроде знаешь : "получил сигнал" Непонятно в чем проблема
#16 by TormozIT
Проблема в том, что во всех местах конфигурации и во всех формах объектов я не могу вставить Прочитать после ПолучитьОбъект.
#17 by TormozIT
Еще очень волнует, что метод Прочитать идет мимо объектного кэша. Я ожидал что он обновит сначала кэш, а потом оттуда выдаст данные, но очень похоже что он идет в обход.
#18 by RomanYS
а объекты разных типов? или одного - можно попробовать "сигнал" в модуле объекта отработать
#19 by TormozIT
В общем как минимум нашел кандидата на ошибку в платформе 1С 8.3.5.1589-6.2014, файловый и клиент-серверный режимы Проблема Метод Прочитать ссылочного объекта не обновляет объектный кэш. Воспроизведение Восстановить базу из выгрузки. Запустить обычное приложение. При этом выполнится код и будут выведены сообщения AAAABAAAAAA= AAAABQAAAAA= AAAABAAAAAA= Не нашел ни одного логичного объяснения, почему объектный кэш не должен обновляться в этом случае. Похоже на ошибку платформы. Стоит отметить, что такое можно наблюдать и в форме объекта, т. к. по наблюдениям она использует фактически те же методы: ПолучитьОбъект при открытии и Прочитать при перечитывании.
#20 by TormozIT
Так и не нашел способа. Может еще кто то попробует предложить решение?
#21 by ЧеловекДуши
Объект.ВерсияДанных <> Ссылка.ВерсияДанных ...ОпанЪки, документ изменили... нет? При этом Объект, желательно получить по новой :)
#22 by TormozIT
Не читал что ли?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С