Заборона редагування полів таблиці за умовою
У деяких випадках потрібно попередити користувача про те, що введення тих чи інших даних у таблиці керованої форми не має сенсу або взагалі не може бути виконане до заповнення інших полів таблиці. У таких випадках рекомендується застосовувати описаний нижче прийом.
|
Методична рекомендація (корисна порада) У деяких випадках потрібно попередити користувача про те, що введення тих чи інших даних у таблиці керованої форми не має сенсу або взагалі не може бути виконане до заповнення інших полів таблиці. У таких випадках рекомендується застосовувати описаний нижче прийом.
Наприклад, у таблиці форми Затраты є поля СтатьяЗатрат і АналитикаСтатьиЗатрат. При цьому заповнення поля АналитикаСтатьиЗатрат не має сенсу без заповнення поля СтатьяЗатрат. Тоді код форми може містити приблизно такі процедури. &НаКлиенте Процедура УстановитьПредупреждениеПриРедактировании() Если НЕ ЗначениеЗаполнено(Элементы.Затраты.ТекущиеДанные.СтатьяЗатрат) Тогда Если НЕ ЗначениеЗаполнено(Элементы.Затраты.ТекущиеДанные.АналитикаСтатьиЗатрат) Тогда Элементы.ЗатратыАналитикаСтатьиЗатрат.ОтображениеПредупрежденияПриРедактировании = ОтображениеПредупрежденияПриРедактировании.Отображать; Иначе Элементы.ЗатратыАналитикаСтатьиЗатрат.ОтображениеПредупрежденияПриРедактировании = ОтображениеПредупрежденияПриРедактировании.НеОтображать; КонецЕсли; Иначе Элементы.ЗатратыАналитикаСтатьиЗатрат.ОтображениеПредупрежденияПриРедактировании = ОтображениеПредупрежденияПриРедактировании.НеОтображать; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ЗатратыПриАктивизацииСтроки(Элемент) УстановитьПредупреждениеПриРедактировании(); КонецПроцедуры &НаКлиенте Процедура ЗатратыСтатьяЗатратПриИзменении(Элемент) УстановитьПредупреждениеПриРедактировании() КонецПроцедуры &НаКлиенте Процедура ЗатратыАналитикаСтатьиЗатратПриИзменении(Элемент) УстановитьПредупреждениеПриРедактировании() КонецПроцедуры У тому разі, якщо від деяких умов залежить не лише сама необхідність попередження, а й текст самого попередження, слід керувати із вбудованої мови не лише властивістю поля ОтображениеПредупрежденияПриРедактировании, а й властивістю ПредупреждениеПриРедактировании. |