Вроде всё просто
На кнопку повесила обработчик, хочу следующую функциональность: изменить значения поля ДатаСорса и закрыть карточку. Видимо, что-то пропускаю, т.к. данные не сохраняются.
if(!Changed)
{
Changed = !Changed;
Page.DataSource.ActiveRow.SetColumnValue("Changed",Changed);
}
Если после изменения данных не вызывать закрытие окна, то всё сохраняется, правда затем приходится нажимать ОК дважды, т.к. после однократного нажатия не закрывается
Нравится
Здравствуйте, Ольга!
Пожалуйста, убедитесь, что новое поле Changed добавлено Вами в DataSorce карточки.
Ольга, а у Вас в конце скрипта есть return true;? если его нет, процесс не пойдет дальше, и не будет вызывать событие OkButtonClick.
В конце скрипта есть return true.
Если после скрипта вызвать событие OKButtjnClick, то вызывается соответствующий обработчик и окно в итоге закрывается, но поле не меняет своего значения
Если после скрипта НЕ вызывать событие OKButtjnClick, то изменённое значение поля сохраняется
Я решал проблему созданием невидимого CheckBox-а, завязанного на это поле, и записью не в Page.DataSource.ActiveRow, а в его свойство Checked. Возможно, для этого поля ещё надо будет поставить "Всегда загружать данные" в карточке.
Здравствуйте, Ольга!
Пробовала воспроизвести аналогичную ситуация на сборке 5.4.0.1613 - не удалось.
В данном случае рекомендую воспользоваться советом Александра - установить для колонки Всегда загружать данные
Александр, я так и делала сначала, но мне не понравилось, что хотя поле невидимое,его значение всё равно изменяется, страница обновляется и мелькает, поэтому я решила сделать через DataSource
Ольга, по возможности, просим предоставить для анализа схемы датасета и страницы - это позволит ускорить диагностику и дать конкретные рекомендации.