перечитать объект на форме

Как обновить форму документа после изменения данных

хотела обновить реквизит измененный

УправляемаяФорма (ManagedForm)
ОбновитьОтображениеДанных (RefreshDataRepresentation)
Синтаксис:

Тип: ГруппаФормы; ТаблицаФормы; ПолеФормы; Массив.
Если параметр задан, то установка значений (и обновление) будет выполняться только для тех элементов, которые заданы в параметре. Если в качестве значения передан пустой массив, то ни для каких элементов формы установка значений выполнена не будет.
После вызова метода признак необходимости установки значений и обновления для элементов формы сбрасывается: если после вызова метода никакие данные формы не меняются, то ни для никаких элементов, кроме указанных, текст обновлен не будет.
Если параметр имеет значение типа Массив, то элементами массива могут быть только значения типа ГруппаФормы, ТаблицаФормы, ПолеФормы.
Если массив содержит значение другого типа, то будет выдано исключение о неверном типе параметра.
Вызов метода ОбновитьОтображениеДанных с параметром имеет смысл только внутри обработчика ВнешнееСобытие, обработчиков ожидания формы и обработчика ОбработкаОповещения.
В обработчиках других событий вызов этого метода с параметром аналогичен вызову без параметра (при необходимости данные будут установлены всем элементам управления).
Описание:

В принудительном порядке обновляет содержание элементов управления.
Полезен при изменении значений реквизитов формы вне формы, в тот момент, когда форма отображается на экране.

Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
Примечание:

В веб-клиенте обновление элементов управления происходит не сразу, а после окончания выполнения кода на встроенном языке.

Источник

1с перечитать данные формы программно

В ситуациях, когда несколько пользователей открыли один объект для редактирования, начать его редактировать сможет только один пользователь, а остальные получат сообщение о том, что запись в базе данных была изменена или удалена. Это означает, что запись изменена или удалена в результате действий другого пользователя.

В этой ситуации есть возможность перечитать данные, отображаемые в форме, из информационной базы еще раз. Сделать это можно с помощью кнопки «Перечитать», размещенной обычно в верхней командной панели формы.

Рассмотрим ее действие на примере. Пусть с информационной базой работают два пользователя, Пользователь1 (слева) и Пользователь2 (справа). Оба они открыли форму редактирования валюты EUR:

Пользователь2 изменил количество разрядов при выводе дробной части в виде числа и записал изменения (кнопка «Записать»):

Пользователь1 попытался также отредактировать полное наименование валюты, однако сделать этого не смог:

Пользователь2 закрыл форму редактирования валюты EUR. Пользователь1 опять пытается пытается изменить полное наименование валюты EUR, однако снова не может этого сделать.

Для того, чтобы Пользователь1 смог сделать свои изменения, он должен сначала перечитать данные. Сделать это можно с помощью кнопки («Перечитать данные объекта»):

После того, как Пользователь1 перечитает данные объекта, он увидит изменения, сделанные Пользователем2 и ему станет доступно редактирование полного наименования валюты:

Расширение управляемой формы для справочника (Managed form extension for catalogs) — Прочитать (Read)
Синтаксис: Прочитать()
Описание: Обновляет объект управляемой формы.
Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент.

перечитать объект на форме. Смотреть фото перечитать объект на форме. Смотреть картинку перечитать объект на форме. Картинка про перечитать объект на форме. Фото перечитать объект на форме

Похожие FAQ

Еще в этой же категории

Заполнение списка значений в элементе поле выбора на форме 9
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип — Произвольный, Использование — Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Как установить параметр динамического списка? 8
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма

Программное создание таблицы значений с условным оформлением 6
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Как обновить динамический список или реквизит на форме клиента? 6
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Довольно часто встречаются задачи, когда нужно организовать программное заполнение формы какого-то объекта. Скажем, у нас есть форма документа, на форме есть реквизиты, и нам нужно сделать команду, которая заполнит эти реквизиты. Данные для заполнения предполагается получать запросом.

Если конфигурация типовая, то, наверное, самый простой способ решения такой задачи – создать внешнюю обработку вида «Заполнение объекта».

Заполнение формы объекта с помощью внешней обработки

Строка с соответствующим параметром в модуле обработки:

Подключив обработку и указав, для какого документа она назначена, мы получим в форме документа команду. Тип команды задаётся при создании внешней обработки, и от него зависит, где и как будет выполняться обработчик команды. Для наших целей может подойти один из следующих типов команд:

Возможность заполнить форму не записывая объект – это то, что нужно. Ведь пользователь скорее всего ожидает, что по нажатию кнопки форма заполнится, а записываться будет позднее, после проверки результата заполнения. Поэтому выбираем тип команды – ЗаполнениеФормы.

В конечном итоге код в модуле обработки будет выглядеть примерно так:

В общем счёте задача решена. Однако, у такого способа есть небольшой недостаток – команда на форме размещается в определённом месте, а не там, где мы хотим её разместить. К примеру, на форме уже есть группа команд, включающая в себя команды заполнения, и мы хотели бы видеть новую команду в этой группе, но при подключении обработки команда на форме будет расположена отдельно от группы.

В связи с этим можно реализовать другой способ: добавить команду непосредственно в форму объекта – либо в основной конфигурации, либо в расширении – а обработчик команды организовать в модуле формы.

Заполнение формы объекта посредством обработчика команды в модуле формы

Итак, размещаем команду на форме объекта в том месте, которое нам нравится. В модуле формы добавляем клиентскую процедуру обработчика команды, из которой будем вызывать серверную процедуру. Серверную процедуру тоже создадим, она нам понадобится потому, что по условию задачи данные для заполнения получаются запросом.

Над серверной процедурой нужно подумать. В ней у нас будет объект формы с типом «ДанныеФормыСтуктура». Что-либо менять или заполнять в этом объекте не получится, возникнет ошибка «Объект недоступен для изменения».

Вот теперь и форма заполнена, и кнопка команды там, где хочется.

Источник

События, вызываемые при выполнении действий над объектом, редактируемым в форме

При создании форм редактирования для различных объектов часто встает задача отображения в форме либо дополнительной информации связанной с этим объектом, либо части данных объекта, которые не могут быть связаны с элементами формы посредством системного механизма связи с данными. В первом случае примером может служить список курсов валют в форме редактирования элемента валюты. Во втором случае примером служит фотография сотрудника, хранящаяся в хранилище значений.

При записи существующего объекта ничего обновлять не нужно, так как в процессе записи данные объекта не изменяются. Запись нового объекта выделена в отдельное действие, так как при этом изменяется ссылка объекта. В этом случае требуется обновить содержимое списка валют, так как его содержимое зависит от значения ссылки объекта. При изменении ссылки перечитывать фотографию не надо, так как она не изменилась.
При нажатии на кнопку «Перечитать данные» пользователь ожидает, что будут обновлены данные объекта и все связанные с ним данные, поэтому в этом случае следует обновить и список валют, и фотографию сотрудника.

Для решения этих задач форма предоставляет возможность назначить обработчик на событие формы ПриИзмененииДанных, и на изменении данных объекта Ссылка. Подключение обработчика изменения данных может быть осуществлено в теле модуля формы следующим образом:

В таблице отражено, на какие действия пользователя, вызываются эти события.

СобытиеПрисвоениеЗапись новогоПеречитывание
Событие формы ПриИзмененииДанныхХХ
Обработчик изменения данных СсылкаХХХ

Как видно из таблицы событие формы ПриИзмененииДанных вызывается на присвоение другого объекта (будет вызываться при открытии формы нового и существующего объекта) и при перечитывании данных, но не будет вызываться при записи нового объекта. Следовательно, данное событие подходит для синхронизации фотографии сотрудника с элементов формы картинка.
Обработчик изменения данных Ссылка вызывается при всех действиях. Следовательно, данное событие следует использовать для синхронизации списка валют.

Источник

Обработчики событий ОбработкаПолученияПредставления и ОбработкаПолученияПолейПредставления

Область применения: управляемое приложение, мобильное приложение.

1. С помощью данных обработчиков модуля менеджера объекта можно переопределить представление объекта информационной базы, которое выводится в полях форм и в списках.
Пример реализации:

Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
Поля.Добавить(«Наименование»);
Поля.Добавить(«Дата»);
СтандартнаяОбработка = Ложь;
КонецПроцедуры

2. Обработчики вызываются при любой необходимости получения представления какого-либо объекта информационной базы. Поэтому избыточные данные или неправильный выбор данных для формирования представления могут привести к существенному замедлению работы системы.

Также не следует выполнять в этих обработчиках запросы или получение объектов информационной базы (в том числе, запрещены обращения к реквизитам объектов ссылочных типов через точку, что приводит к чтению всего объекта целиком из базы данных). Также нежелательно использовать получение представления и реквизитов ссылок.

Эти требования также справедливы при разработке планов обмена для синхронизации с другими программами (не РИБ, по правилам конвертации) с помощью подсистемы «Обмен данными» Библиотеки стандартных подсистем.
Например, недопустимо обращаться к предопределенным элементам, которые еще могли быть не загружены в базу или, наоборот, уже удалены в ходе обмена данными:

Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;
Если Данные.ВидОбразования = Справочники.ВидыОбразованияФизическихЛиц.ПослевузовскоеОбразование Тогда
Представление = НСтр(«ru = ‘Послевузовское образование'»);
Иначе
.

4. При реализации обработчиков следует также учитывать требования о поддержке толстого клиента, управляемое приложение, клиент-сервер.

Источник

Программное управление обычными формами документов и справочников в УПП/КА

Часть 1

Чтобы не снимать с поддержки все формы конфигурации и не вставлять свои обработчики в процедуры «ПриОткрытии», будем искать такую процедуру, которая вызывается во всех формах документах и справочников.

И так, с нимаем с поддержки общий модуль «РаботаСДиалогами».
Находим функцию «АктивизироватьРеквизитВФорме» и сразу после объявления функции добавляем строку вызова нашей процедуры:

Все. Отделались снятием с поддержки двух модуле с добавлением в них двух строк. Обновлять будет легко.

Часть 2

Теперь самое главное.

Добавляем в конфигурацию общий модуль «ИТ_РаботаСДиалогами». В свойствах ставим галочки на использование в клиенте.

перечитать объект на форме. Смотреть фото перечитать объект на форме. Смотреть картинку перечитать объект на форме. Картинка про перечитать объект на форме. Фото перечитать объект на форме

В модуль помещаем вызываемые функции.

Обратите внимание, что работа с формами справочника имеет особенности. Поскольку процедура «МеханизмНумерацииОбъектов.УстановитьДоступностьПоляВводаНомера» вызывается как из формы списка справочника, так и из формы самого элемента справочника. Различить можно только по составу передаваемых метаданных или просто по имени формы.

Часть 3

Поскольку мы не хотим каждый раз писать кучу кода при размещении реквизитов на форму, мы напишем заранее разного рода функции и процедуры, которые и будем в дальнейшем использовать.

— Функция добавления поля ввода на форму (одна из ранних наших функций).

— Функция добавления флажка на форму.

Эта функция позволяет разместить на форму флажок (булево).
Правила использования такие же как у предыдущей функции. Фактически это копия предыдущей функции, только для флажка.

Код этой функции почти идентичны предыдущим, по этому убран под спойлер.

— Функция добавления надписи на форму.

Эта функция позволяет разместить на форму надпись.
Правила использования такие же как у предыдущей функции. Фактически это вырезка вывода надписи из первой функции..

Код убран под спойлер

— Универсальное добавление поля на форму. (это другой подход добавления элементов на форму, гораздо более универсальный).
Используем эту процедуру гораздо чаще тех, что указал выше.

— Процедура удаления колонки в табличной части формы.
Иногда возникает необходимость удалять колонки с формы документа. Тут все просто.

— Процедура удаления элемента формы.

Часть 4

Думаю надо показать несколько примеров, как мы добавляем новые реквизиты на форму.
Примеры добавления колонки на форме:

перечитать объект на форме. Смотреть фото перечитать объект на форме. Смотреть картинку перечитать объект на форме. Картинка про перечитать объект на форме. Фото перечитать объект на форме

Еще пример с добавлением полей в отдельной закладке:

перечитать объект на форме. Смотреть фото перечитать объект на форме. Смотреть картинку перечитать объект на форме. Картинка про перечитать объект на форме. Фото перечитать объект на форме

Еще пример работы с формой справочника.

перечитать объект на форме. Смотреть фото перечитать объект на форме. Смотреть картинку перечитать объект на форме. Картинка про перечитать объект на форме. Фото перечитать объект на форме

Часть 5

Доработки по совместимости и универсальности.

Желательно весь код модуля «ИТ_РаботаСДиалогами» обрамить в клиента

В процедурах, прежде чем добавлять реквизиты на форму, убедитесь, что такой реквизит существует.
Например так:

Поскольку вызов функции может происходить многократно в одной форме, всегда проверяйте, выведен ли уже реквизит на форму.
Например так:

Такие проверки позволят вам копировать общий модуль «ИТ_РаботаСДиалогами» во все ваши конфигурации УПП/КА и не бояться вызова исключений.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *