Не обновляется динамический список #756240


#0 by star_x
Добрый день, есть проблема с обновлением "формы списка"  документа. Создан произвольный запрос, все поля запроса - это реквизиты документа. "ОбновлениеПриИзмененииДанных" - "Авто", "Основная таблица" и "Динамическое считывание" указано. При первом входе в "форму списка" (т.е. когда открыли первый раз) все отрабатывает нормально, если зайти в документ изменить данные (например количество) нажать "Провести и закрыть" в форме списка не чего не изменяется, если зайти второй раз и нажать ту же кнопку, то все отработает.То же самое происходит при использовании "записать". Текст запроса: "ВЫБРАТЬ
#1 by zak555
Оповестить надо в документе
#2 by aleks_default
Дык он по умолчанию никогда не обновляется. Надо или F5 жать или .
#3 by star_x
" Не помогло,опять только со второго раза обновляется.
#4 by hhhh
Оповестить("ОбновитьСписок", Объект.Ссылка)  ????? Чза хрень? Какая-то Объект.Ссылка ?? Ссылку оповещаете, что ли?
#5 by zak555
в Типовой сделано для РТиУ сделано так &НаКлиенте
#6 by aleks_default
Это не то. ОповеститьОбИзменении просто.
#7 by Fedor-1971
Оповестить(<ИмяСобытия>, <Параметр>, <Источник>) ОповеститьОбИзменении(Параметр) - в твоём контексте не нужен. Проверь параметры ДС, может там установлена дата? тогда можещь обновлять его до посинения, но данные будут отбираться на указанную дату+время.
#8 by star_x
Убрал "ОповеститьОбИзменении(Параметр)", не чего не изменилось. В параметрах ДС даты нет. Почему то при обновлении ДС всегда получаются предпоследние данные. Если сравнивать с типовой процедурой (как приведена выше), то по идее все также.
#9 by zak555
проверь
#10 by Fedor-1971
Отладчиком проверь процедуру обработки оповещения. Строку оповещения сделай "Точно_мое_оповещение". Предпоследнее состояние получается при обновлении в ПередЗаписью т.е. данные ещё не записаны, а ты уже оповещаешь.
#11 by aleks_default
Че вы херней страдаете? В форме документа в процедуре ПослеЗаписи написать ОповеститьОбИзменении и все.
#12 by Fedor-1971
Уверен что у ТС указана основная таблица в ДС? Примечание: Уведомление [b]не влияет на динамические списки, у которых не задана основная таблица[]. Динамические списки в тонком и веб-клиенте не обновляются при изменении данных в базе данных автоматически. Обновление динамического списка происходит при явном вызове метода, а также при выполнении стандартных команд записи данных форм. Также осуществляется очистка закэшированных данных на клиенте. В частности, очищается кэш представлений ссылок, кэш данных через точку, кэш данных быстрого выбора, кэш ограничений по типу, кэш форм выбора. Удаляется только та информация, которая стала недействительной.
#13 by star_x
Всем большое спасибо, проблема решена. "Вес" и "Себестоимость"-эти реквизиты заполнялись в процедуре "ПриЗаписи" в модуле документе, когда перенес заполнение в процедуру "ПередЗаписью", все стало отрабатывать нормально.Пока понятия не имею с чем это связано.
#14 by Fedor-1971
ПриЗаписи - документ уже записан в БД, но ещё открыта транзакция записи. По идее твои изменения не должны были сохраняться.
#15 by Fedor-1971
14+ почитай про порядок записи и что, когда и как записывается.
#16 by aleks_default
Уверен. Смотри.
#17 by hhhh
потому что процедура при записи вызывается уже после того как объект записан в базу. Поэтому там нельзя менять реквизиты - это бесполезно. Повторной записи не происходит.
#18 by star_x
После этих изменений ДС обновляется автоматически без рукописной доработки "ОбработкаОповещения". Всех нюансов ещё не знаю, т.к. занимаюсь 1С только 3-й месяц, поэтому такие косяки. Всем ещё раз спасибо.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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