Имя: Пароль:
1C
 
Странный глюк УФ, не обновляется ссылка на документ
0 Мигрень
 
05.10.16
09:45
Написал групповую обработку для БП 3.0. На форме есть табличное поле, в нем две колонки. Дата документа и ссылка на документ. Нажимаю кнопку Перенести в начало дня. Перезаполняю таблицу. Колонка дата - меняется, колонка документ - не меняется.
На толстом клиенте все работает. Платформы пробовал разные 8.3.8 и 8.3.9.
ОбновитьОтображениеДанных() - не помогает.
Закрытие и открытие обработки не помогает!
Если закрыть программу и еще раз открыть, то ссылки на документы отображаются с правильным временем.
1 Мигрень
 
05.10.16
09:45
вот так это выглялит: http://savepic.ru/11701449.jpg
2 Рэйв
 
05.10.16
09:51
заново перезаполни доки через .ссылка, должно перечитать все из базы
3 Мигрень
 
05.10.16
09:54
(2) Что-то не пойму, как это сделать. На клиенте есть ссылка, как её заставить обновиться из базы?
4 Рэйв
 
05.10.16
09:56
перебираешь строки и присваиваешь заново, чтото вроде

Стр.Документ=Стр.Документ.ссылка;
Если уф, то за ссылкой придется идти на сервер естесно
5 Мигрень
 
05.10.16
09:58
(4) зачем идти на сервер за ссылкой. ссылка есть на клиенте. На сервер обычно ходят за объектом или его реквизитами.
6 Рэйв
 
05.10.16
10:00
(5)То , что есть на клиенте- это поля Объектбработка и тебя какбэ не устраивает, как я понял:-)

.Ссылка должно поидее все заново перечитать из базы
7 Smile 8D
 
05.10.16
10:02
(5) Опиши как в твоем понимании клиент должен узнать о том, что у Объекта изменилась Дата и изменить представление ссылки. Если не сможешь, то иди на сервер за этими данными.
8 Мигрень
 
05.10.16
10:03
тогда получается что-то типа:

Стр.Документ = ПолучитьСсылкуНаСервере(Стр.Документ);

&НаСервере
Функция ПолучитьСсылкуНаСервере(док)

Возврат док.Ссылка;

КонецФункции
9 Рэйв
 
05.10.16
10:05
(8)Да, как то так
10 Мигрень
 
05.10.16
10:17
Нет, не работает.
Прикол в том, что смотрю в отладчике. В серверной функции ссылка правильная, и возврат идет правльной ссылки. А на клиент она приходит уже не верная, то есть с не правильным временем.

Похоже на то, что ссылка на клиенте просто ищется по ID, но не перезаписывается.
11 DrShad
 
05.10.16
10:18
демонический список не предлагать?
12 Мигрень
 
05.10.16
10:20
(11) Как его использовать? На форме создаю реквизит ДС, как его заполнять нужными строками и колонками?
13 Cyberhawk
 
05.10.16
10:23
Это не баг, это фича. Представление ссылки кэшируется и не обновляется.
14 Cyberhawk
 
05.10.16
10:24
Попробуй удалить какой-нибудь документ непосредственно, а перед этим указать этот документ в каком-нибудь поле ввода. После удаления объекта из БД в поле вместо "Объект не найден" все равно будешь видеть представление ссылки с датой и номером
15 Мигрень
 
05.10.16
10:25
(13,14) Это понятно, что делать-то :)
16 Cyberhawk
 
05.10.16
10:26
Нужно на клиенте вызвать ОтобразитьИзменениеДанных для изменного объекта
17 Cyberhawk
 
05.10.16
10:26
Тьфу, блин, метод ОбновитьОтображениеДанных
18 Cyberhawk
 
05.10.16
10:27
Хотя не, все-таки первый (метод УФ)
19 Cyberhawk
 
05.10.16
10:28
"В случае добавления или изменения данных вызов метода приводит к очистке кэшей на клиенте. В частности, очищается кэш представлений ссылок, кэш данных через точку, кэш данных быстрого выбора, кэш ограничений по типу. Удаляется только та информация, которая стала недействительной"
20 Мигрень
 
05.10.16
10:31
(18) Действительно, ОтобразитьИзменениеДанных помогло :)

Спасибо! :)
21 DrShad
 
05.10.16
10:31
(12) через произвольный запрос, можно даже основную таблицу программно менять
Независимо от того, куда вы едете — это в гору и против ветра!