8.2. Обновить дерево значений на форме #568047


#0 by Tymoha
Коллеги, нужна помощь. Проблема в следующем: Есть обработка, на ней есть дерево значений. При открытии формы, заполняем дерево на сервере (элементы справочника) передаем на клиента. Все ОК. Работаем с деревом (добавляем, удаляем элементы) - перезаполняем на сервере, возвращаем на клиента - все ОК. НО ЕСЛИ ПЕРЕИМЕНОВАТЬ элемент, то на сервере заполняется нормально, а вот на клиенте получаю старое (не переименованное) значение ... В чем может быть загвоздка? Обмен сервер-клиент ходит:
#1 by acsent
ЗАЧЕМ переименовывать реквизит?
#2 by Tymoha
не реквизит. элемент справочника ...
#3 by Tymoha
ап
#4 by mikecool
оповестить - обработкаоповещения?
#5 by Tymoha
и что по ней делать? возможно я не совсем точно описал проблему: пользователь нажимает кнопку "Переименовать", вводит строку-новое наименование, на сервере я переименовываю, а вот при возврате дерева назад (на клиента) возвращается старое наименование ...
#6 by Tymoha
вверх
#7 by Tymoha
апну еще разочек. Прикольная вообще картина получается: переименованный справочник обновляется только при выходе из 1С и снова заходе. Просто закрыть/открыть форму обработки недостаточно ....
#8 by kosts
видимо клиент не знает про изменение. нужно как-то ему сообщить.
#9 by Tymoha
использую: знаешь другие способы?
#10 by Tymoha
+ причем: Сборка.ТМЦ получает ВЕРНОЕ значение (по отладчику)... почему в дереве старое?????????
#11 by nicxxx
а если попробовать обмен с сервером через ДанныеФормы?
#12 by Tymoha
к сожалению, легче не стало ... насколько я смог разобраться: эта скотина (1С) производит сверку переданного дерева с тем что было раньше, и в случае совпадения (ид элементов справочника чтоль) дерево и не обновляет ... другого объяснения не вижу ... (((
#13 by nicxxx
а что-то непонятно, как у тебя происходит процесс переименования? я вот щас сделал такую же обработку, как у тебя, активирую элемент, в поле появляются 2 кнопки - для открытия списка и для открытия элемента, открываю элемент (сразу или через список, не важно), переименовываю его - он сразу в дереве отображается с новым названием, и при следующем открытии также показывается новое название
#14 by Tymoha
у меня в дереве, не собсвтенно сам справочник, а сборная солянка ... то есть, источник данных не напрямую справочник
#15 by Tymoha
+ и не спрашивай почему я так сделал ... вчера казалось что так надо ... сейчас уже не могу придумать/вспомнить )))
#16 by nicxxx
да мне пофиг твои причины, сам так же делаю :) дай код, которым дерево заполняешь
#17 by Tymoha
см в
#18 by Tymoha
ну поменялось там:
#19 by nicxxx
элементСборки - это че? не ссылка?
#20 by Tymoha
структура справочника для дерева: Спр "КалкСборки". Имеет табличную часть "Состав сборки". В ней: Элемент сборки = ссылка спр. "КалкТМЦ", кол-во
#21 by nicxxx
ну т.е. в колонке ТМЦ у тебя везде ссылки? значит чтобы переименовать элемент, ты его открываешь и редактируешь наименование в форме? ( у меня это так происходит)
#22 by Tymoha
неа. в том то и дело ... передаю наименование на сервер, и там переименовыаю, записываю, строю дерево и передаю взад. вот тут то и затык (с кешем сеанса получается?)
#23 by nicxxx
поведение, описанное в подтверждаю. как решить щас поищу
#24 by nicxxx
даже программное создание реквизитов формы не помогает
#25 by Tymoha
таки где-то хранится кеш?
#26 by nicxxx
да хер его знает. экспериментальным путем выяснилось что помогает только метод ОбновитьИнтерфейс, попробуй. правда дохрена вызово сервера делается, но кроме него ничто не работает, дажет ОбновитьОтображениеДанных
#27 by Tymoha
понял ... спасибо, буду пробовать :)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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