1с 8.3 Управляемая форма - как обновить содержимое другой формы?
Есть управляемое приложение.
Открыты 2 формы (одновременно).
При изменении данных в первой форме, нужно обновить и вторую форму.
Подскажите, пожалуйста - как?
Нашёл только -
Но у ОкноПриложения, вижу,только 2 метода:
Открыты 2 формы (одновременно).
При изменении данных в первой форме, нужно обновить и вторую форму.
Подскажите, пожалуйста - как?
Нашёл только -
ОкнаПриложения = ПолучитьОкна();
Для каждого ОкноПриложения Из ОкнаПриложения Цикл
//ОкноПриложения. - не нашёл метод,а для обновления содержимого
КонецЦикла;
Но у ОкноПриложения, вижу,только 2 метода:
Активизировать (Activate)
ПолучитьНавигационнуюСсылку (GetURL)
По теме из базы знаний
- Пометка тестовой копии рабочей базы через механизм оповещений и раскрашивание форм (Управляемое приложение)
- Конфигурация Flowcon: Набор инструментов для управления задачами, проектами и бизнесом в 1С
- Многопоточный CI-контур для 1С c Packer, Vagrant и Jenkins. Часть 1. Описание системы и обзор инструментария
- Зачем и как читать чужой код? Какой результат ожидаем получить? Основные подходы
- Улучшайзер - как одна внешняя обработка может улучшать другие внешние обработки
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
попробовал так (своюже форму - пытаюсь обновить)) -
Не работает.
Оповестить/ОбработкаОповещения
попробовал так (своюже форму - пытаюсь обновить)) -
&НаКлиенте
Процедура ЗагрузитьФактическоеЗначениеЗавершение(ВыбранныйЭлемент, ДополнительныеПараметры) Экспорт
ВыбранноеЗначениеСтр = Строка(ВыбранныйЭлемент);
Если ВыбранноеЗначениеСтр = "" Тогда
Возврат
ИначеЕсли ВыбранноеЗначениеСтр = "Уровень запасов по ХХХ" Тогда
ЗагрузитьФактическоеЗначениеНаСервере(ВыбранныйЭлемент.Значение);
КонецЕсли;
//ОбновитьОтображениеДанных();
//ОбщегоНазначения.ОбновитьФормы();
Оповестить("Обновить")
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "Обновить" Тогда
ОбновитьОтображениеДанных();
КонецЕсли;
КонецПроцедуры
ПоказатьНе работает.
И (добавление, к этомуже вопросу) - как вообще, обновить содержимое управляемой формы?
(даже одной - не получилось, у меня)
На форме есть Динамический список (Регистр сведений с отбором, показан) и Команда "Обновить запись Регистра" (ресурс один, меняется).
Процедура -
Только - или закрыть+открыть форму, или через стандартную команду "Обновить".
Вопрос - как обновить данные?
1. В этойже форме.
2. В других, открытых формах.
(даже одной - не получилось, у меня)
На форме есть Динамический список (Регистр сведений с отбором, показан) и Команда "Обновить запись Регистра" (ресурс один, меняется).
Процедура -
&НаКлиенте
Процедура ЗагрузитьФактическоеЗначениеЗавершение(ВыбранныйЭлемент, ДополнительныеПараметры) Экспорт
ВыбранноеЗначениеСтр = Строка(ВыбранныйЭлемент);
Если ВыбранноеЗначениеСтр = "" Тогда
Возврат
ИначеЕсли ВыбранноеЗначениеСтр = "Уровень запасов по ХХХ" Тогда
ЗагрузитьФактическоеЗначениеНаСервере(ВыбранныйЭлемент.Значение);
КонецЕсли;
ОбновитьОтображениеДанных(); // - Не обновляет
КонецПроцедуры
ПоказатьТолько - или закрыть+открыть форму, или через стандартную команду "Обновить".
Вопрос - как обновить данные?
1. В этойже форме.
2. В других, открытых формах.
(3)
так надо обновить форму или динамический список? Идти точно через оповещение надо, но в обработке оповещения уже копаться. Если надо обновить список, он не обновится через ОбновитьОтображениеДанных(). Это нужно Элементы.Список.Обновить().
А вообще это всё довольно легко гуглится)) А направление вам уже дали - Оповестить/ОбработкаОповещения
так надо обновить форму или динамический список? Идти точно через оповещение надо, но в обработке оповещения уже копаться. Если надо обновить список, он не обновится через ОбновитьОтображениеДанных(). Это нужно Элементы.Список.Обновить().
А вообще это всё довольно легко гуглится)) А направление вам уже дали - Оповестить/ОбработкаОповещения
(11) за подсказку спасибо (проглядел я такое, да), но - оно не до конца решает, всёже.
Период, конечно можно установить в 1 сек, но - както это - не очень правильно получается.
(мне же ненадо, постоянно обновлять - надо, когда надо)
Хотя конечно да - решит задачу.
Похоже - решение.
Только вот - как регистр сведений указать?
(какойто там - ключ записи... нужен)
Период, конечно можно установить в 1 сек, но - както это - не очень правильно получается.
(мне же ненадо, постоянно обновлять - надо, когда надо)
Хотя конечно да - решит задачу.
Похоже
ОповеститьОбИзменении(МойДокумент2.Ссылка);
Только вот - как регистр сведений указать?
(какойто там - ключ записи... нужен)
В форме МойДокумент1
В форме МойДокумент2
ОповеститьОбИзменении(МойДокумент2.Ссылка);
Оповестить("МойДокумент2Изменен",МойДокумент.Ссылка);
В форме МойДокумент2
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия="МойДокумент2" И Объект.Ссылка=Параметр Тогда
ЭтаФорма.Прочитать();
КонецЕсли;
Если ИмяСобытия="МойДокумент2Удален" И Объект.Ссылка=Параметр Тогда
ЭтаФорма.Закрыть();
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот