Меню


Курсы Стимул Справочник Полезные материалы 1С:Предприятие 8.2 Разработчикам Разработка пользовательских…

1С:Предприятие 8.2 /
Разработчикам /
Разработка пользовательских интерфейсов

Оглавление

Запрет редактирования полей таблицы по условию

Методическая рекомендация (полезный совет)

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

  • Для предупреждения пользователя применять свойства поля ОтображениеПредупрежденияПриРедактировании и ПредупреждениеПриРедактировании
  • Текст предупреждения указать в свойстве поля формы при разработке формы в конфигураторе .
  • Управлять свойством ОтображениеПредупрежденияПриРедактировании из встроенного языка при активизации строки таблицы и при изменении тех значений, которые влияют на условие редактирования поля
  • Дать пользователю возможность редактирования уже введенное значение, даже если оно введено "не по правилам", для того, чтобы пользователь мог удалить ранее введенное значение.

Например, в таблице формы Затраты имеются поля СтатьяЗатрат и АналитикаСтатьиЗатрат. При этом заполнение поля АналитикаСтатьиЗатрат не имеет смысла без заполнения поля СтатьяЗатрат. Тогда код формы может включать примерно следующие процедуры.

&НаКлиенте 
Процедура УстановитьПредупреждениеПриРедактировании() 
	Если НЕ ЗначениеЗаполнено(Элементы.Затраты.ТекущиеДанные.СтатьяЗатрат) Тогда 
		Если НЕ ЗначениеЗаполнено(Элементы.Затраты.ТекущиеДанные.АналитикаСтатьиЗатрат) Тогда 
			Элементы.ЗатратыАналитикаСтатьиЗатрат.ОтображениеПредупрежденияПриРедактировании = 
			ОтображениеПредупрежденияПриРедактировании.Отображать; 
		Иначе 
			Элементы.ЗатратыАналитикаСтатьиЗатрат.ОтображениеПредупрежденияПриРедактировании = 
			ОтображениеПредупрежденияПриРедактировании.НеОтображать; 
		КонецЕсли; 
	Иначе 
		Элементы.ЗатратыАналитикаСтатьиЗатрат.ОтображениеПредупрежденияПриРедактировании = 
		ОтображениеПредупрежденияПриРедактировании.НеОтображать; 
	КонецЕсли; 
 КонецПроцедуры 

&НаКлиенте 
Процедура ЗатратыПриАктивизацииСтроки(Элемент) 
	УстановитьПредупреждениеПриРедактировании(); 
КонецПроцедуры 

&НаКлиенте 
Процедура ЗатратыСтатьяЗатратПриИзменении(Элемент) 
	УстановитьПредупреждениеПриРедактировании() 
КонецПроцедуры 

&НаКлиенте 
Процедура ЗатратыАналитикаСтатьиЗатратПриИзменении(Элемент) 
	УстановитьПредупреждениеПриРедактировании() 
КонецПроцедуры

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


Нас находят: запрет редактирования реквизитов документа по условию 1с 8 2, как в 1с защитить поля от редактирования по условию, закрыть для редактирования отдельные поля табличной части, текстовое поле запрет редактирования 1с, табличная часть документа 1с 8 3 управляемые формы запрет редактирования, СтрТабЧасти по условию введенного текста 1С, снятие запрета редактирования формы ячейки 1с 8 2, редактирование таблицы 1с 8 2, Редактирование поля табличной части 1С, ПриНачалеРедактирования(Элемент не могу выйти из при редактирование строки формы документа


Подписка на новости RSS         Мы в Google+    

 

Мы на Facebook