Обновление списков при интерактивных действиях пользователя
Область применения: управляемое приложение, мобильное приложение.
1. Платформа 1С:Предприятие по умолчанию обновляет содержимое динамических списков при выполнении пользователем стандартных команд по изменению элементов этого списка ( Записать , Провести , Пометить на удаление и т.п.) и при добавлении новых элементов. Но в ряде ниже перечисленных случаев такое обновление следует предусмотреть явно в прикладном коде.
2. Команды, которые изменяют объекты и размещаются в форме списка, должны заботиться об обновлении списка объектов после своего выполнения. Например, после изменения одного объекта рекомендуется вызывать метод ОповеститьОбИзменении :
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ОбъектСсылка = ПараметрКоманды;
// Меняем объект
// .
ОповеститьОбИзменении(ОбъектСсылка);
При изменении нескольких объектов целесообразно обновлять список однократно, в конце операции:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Для Каждого ОбъектСсылка Из ПараметрКоманды Цикл
// Меняем объект
// .
КонецЦикла;ОповеститьОбИзменении(ТипЗнч(ПараметрКоманды[0]));
3. Также должно быть обеспечено обновление данных в динамическом списке, у которого не назначена основная таблица. Такие динамические списки могут отображать данные из нескольких таблиц.
3.1. Если данные добавляются или изменяются командой, расположенной в форме динамического списка, то необходимо обновить список явно после выполнения команды.
3.2. Если данные изменяются в какой-либо другой форме (например, в форме объекта), то необходимо организовать обновление списка через оповещение. Для этого в каждой форме объекта, данные которого выводятся в динамическом списке, следует реализовать обработчик события ПослеЗаписи с использованием метода Оповестить :
Оповестить («Запись_», ПараметрыОповещения, ОбъектСсылка);
- Запись_ — имя события, в котором — имя объекта, как оно задано в метаданных. Например, для документа «Расходная накладная» имя события будет «Запись_РасходнаяНакладная» .
- ПараметрыОповещения – как правило, это параметр события ПослеЗаписи формы объекта. Состав свойств структуры может быть расширен исходя из потребностей прикладной логики.
- ОбъектСсылка – ссылка на записываемый объект.
Затем в обработчике события Оповещение в форме динамического списка разместить код по обновлению динамического списка вида:
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если Врег(ИмяСобытия) = Врег(«Запись_РасходнаяНакладная»)
Или Врег(ИмяСобытия) = Врег(«Запись_НакладнаяНаПеремещение») Тогда
Элементы.СписокНакладных.Обновить();
КонецЕсли;
При этом имена событий следует проверять явным образом, чтобы исключить неоправданное обновление списка.
3.3. При изменении сразу нескольких объектов в параметре ОбъектСсылка метода Оповестить следует передавать значение Неопределено .
Оповестить(«Запись_РасходнаяНакладная», ПараметрыЗаписи, Неопределено);
1С 8.3 Как программно обновить данные управляемой формы объекта или формы списка
Обновить данные списка (динамического списка) на форме:
Элементы.Список.Обновить();
Обновить содержание элементов управления:
ЭтаФорма.ОбновитьОтображениеДанных();
Тэги
- Блог пользователя Nicholas
- Добавить комментарий
Комментарии

денис (не проверено) Thu, 07/01/21
ни одно не помогло

ни одно не помогло

Александр (не проверено) Thu, 18/03/21
Полная фигня


Александр (не проверено) Thu, 18/03/21
Подтверждаю, полная фигня.

Подтверждаю, полная фигня.
![]()
Nicholas Thu, 25/03/21
Зависит от того, что и откуда

Зависит от того, что и откуда вы хотите обновить.

Прямые руки (не проверено) Wed, 28/04/21
Спасибо, помогло


Андрей (не проверено) Fri, 07/05/21
«ЭтаФорма.Прочитать()» всё

«ЭтаФорма.Прочитать()» всё отлично работает

Гость (не проверено) Fri, 21/05/21
ЭтаФорма.Прочитать() :

ЭтаФорма.Прочитать() : Метод объекта не обнаружен (Прочитать)

Вячеслав (не проверено) Tue, 25/05/21
Спасибо! Очень помогло в

Спасибо! Очень помогло в разработке)\

Андрей (не проверено) Tue, 01/06/21
Работает на 8.3.18.1289, УФ,

Работает на 8.3.18.1289, УФ, ERP

Александр (не проверено) Thu, 28/10/21
Отлично — коротко и ясно. Все

Отлично — коротко и ясно. Все методы нормально работают в тех ситуациях, для которых они предназначены.

Алексей (не проверено) Thu, 28/10/21
у меня в УНФ только вот так

у меня в УНФ только вот так заработало, видимо слишком много изменений в разных процедурах обновлялось
//Сохраним изменения
ЭтаФорма.Записать();
ПоказатьЗначение(,Объект.Ссылка);
1С 8.3 : Как обновить форму списка из формы элемента?

Есть форма со списком элементов справочника. При нажатии на список открывается форма с элементом из списка, но при сохранении элемента первая форма не обновляется.
Как программно обновить форму списка?
В форме элемента необходимо написать код:
&НаКлиенте
ПроцедураПослеЗаписи(ПараметрыЗаписи)
Оповестить("ОбновитьФормуСписка");
КонецПроцедуры
а, в форме списка добавить событие:
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия,Параметр, Источник)
Если ИмяСобытия= "ОбновитьФормуСписка" Тогда
ЭтаФорма.ОбновитьОтображениеДанных();
КонецЕсли;
КонецПроцедуры
Разместил: E_Migachev Версии: | 8.2 УП | 8.3 | Дата: 24.02.2015 Прочитано: 36281

Возможно, вас также заинтересует
Похожие FAQ
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить — сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C: Enterprise Development Tools 52
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools — это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем Google maps : вывод точек на карту и режим панорамы 9
В отличие от яндекс карт в GMaps можно использовать панорамы — за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора PostgreSQL: установка, настройка, обслуживание 11
PostgreSQL напрямую «из коробки» применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут накладываться на всю таблиц Посмотреть все результаты поиска похожих
Еще в этой же категории
Как обновить динамический список или реквизит на форме клиента? 26
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Как установить параметр динамического списка? 17
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Табличная часть ~ Как настроить отбор строк? 6
Часто возникает задача показать только нужные строки в табличной части документа или справочника (или другого объекта). Для этого можно использовать замечательное свойство: в обычном приложении параметр для ОтборСтрок — Отбор. в управляемом Список НЕ модальных методов в 1С 4
Найдено в интернете но говорят что с диска ИТС. Как показать сообщение пользователю? методы: СообщениеПользователю и ПоказатьОповещениеПользователя 3
В 1С предполагается, что СообщениеПользователю выводятся для того, чтобы сообщить пользователю об ошибках. А для информирования о выполняемом действии рекомендуется использовать метод встроенного языка ПоказатьОповещениеПользователя() . Сооб Посмотреть все в категории Работа с Формой (Диалог) и её элементами
1С. Как обновить данные в форме (Управляемое приложение).

Допустим, мы делаем внешнюю обработку для модификации каких-то данных. Например, групповая перенумерация документов «Требование-накладная».
У нас создана форма обработки, в которой есть реквизит формы «СписокДокументов» с типом «ТаблицаЗначений». В эту таблицу мы выводим список ссылок на отобранные для перенумерации документы.

Проводим перенумерацию и обнаруживаем, что данные в форме обработки не обновились. То есть, в системе документы успешно получили новые номера, а в форме обработки по-прежнему ображаются старые данные.
Чтобы обновить данные в форме, нужно использовать функцию глобального контекста:
В нашем случае мы в модуле формы внешней обработки, в процедуре, выполняемой на клиенте, после завершения перенумерации добавляем код:
ОповеститьОбИзменении(Тип("ДокументСсылка.ТребованиеНакладная"));
В результате выполнения этой функции обновится кэш представления ссылок указанного типа данных, и в форме обработки мы увидим обновлённые данные.
Также можно использовать метод:
ОбновитьОтображениеДаных()
- 1С
- Управляемые формы