Form.RereadValue
RereadValue (Работа со фильтрами таблиц) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция используется для таблицы, в ячейке которой происходит редактирование, функция обновляет содержимое редактора ячейки текущим значением ячейки таблицы (как будто пользователь нажал ESC и отказался от введенного значения, однако, функция не закрывает редактор). При наличии аргумента, функция заменяет редактируемое значение на указанное, а не на оригинальное значение ячейки таблицы. Функцию удобно использовать как результат нажатия на связанный элемент. Это позволяет, к примеру, не выходя из режима редактирования ячейки, выбрать объект редактирования с помощью связанного элемента, либо вернуть значение по умолчанию при нажатии на очистку значения редактирования и пр.
Синтаксис
Form.RereadValue(<Новое значение редактирования>)
Аргументы
<Новое значение редактирования>
- (необязательный аргумент) Если аргумент указан, задает значение, которое нужно передать активному в данный момент редактору ячейки, иначе передаваемое редактору значение берется из самой таблицы. Значение может быть любого типа, принимаются не только объекты базы данных.
Примеры
//Фрагмент события OnAttachedButtons ... ElseIf Index=_AB_CHOOSE Then Result:=1; If Form.MainTab.SelectedColumnName=uppercase("Партия") Then Result:=0; If isEmpty(MainTab.Номенклатура) Then Exit; EndIf; //Осуществить выбор партии с помощью особой формы выбора, отличающейся от формы по умолчанию Сп:=List.Create(); Сп.SetByName("Номенклатура",MainTab.Номенклатура); Сп.SetByName("Склад",aEl.Склад); Сп.SetByName("Партия",MainTab.Партия); LoadModule(10,"Ref.Партии",Сп,0,"Module","ВыборПартии"); Try //Форма выбора должна передать выбранную пользователем партию в ответе аПартия:=Сп.GetByName("Ответ"); If IsEmpty(аПартия) Then Exit; EndIf; //Обновить редактор ячейки выбранной партией, как будто она была выбрана обычным способом // если пользователь, к примеру, нажмет ESC, редактор закроется и в ячейке останется значение до выбора Form.MainTab.RereadValue(аПартия); Finally Form.MainTab.SetFocus(); EndTry; EndIf; ElseIf Index=_AB_SELECT Then ...