@nurasyl
Fullstack разработчик

Как в 1C изменить поле реквизита из сервеной части?

Привет всем!
Я новичок в 1C.
Хочу изменить поле в форме из серверной части в клиентскую.
Меня волнует безопасность данных при создании и при изменении. Хочу делать это в серверной части и как получить данные из базы данных в сервеной части и передать его в клиентский.
Вообщем я хочу получить значение реквизита и проверить и обрабатывать его в серверной части и сохранить в базе данных.

&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
	Объект.ТелефонНомер = СтрЗаменить(Объект.ТелефонНомер, "+", "");
	Объект.ТелефонНомер = СтрЗаменить(Объект.ТелефонНомер, " ", "");
	Объект.ТелефонНомер = СтрЗаменить(Объект.ТелефонНомер, "(", "");
	Объект.ТелефонНомер = СтрЗаменить(Объект.ТелефонНомер, ")", "");
	Объект.ТелефонНомер = СтрЗаменить(Объект.ТелефонНомер, "-", "");
	
	РегВыр = Новый COMОбъект("VBScript.RegExp");
	РегВыр.Pattern = "^(\d{1,4})(\d{3})(\d{3})(\d{2})(\d{2})$";
	
	Если СтрДлина(Объект.ТелефонНомер) <> 0 Тогда
		Если РегВыр.Test(Объект.ТелефонНомер) Тогда
			Matches = РегВыр.Execute(Объект.ТелефонНомер).Item(0).SubMatches;
			
			КодСтраны = ?(Matches.Item(0) = "8", "7", Matches.Item(0));
					
			Объект.ТелефонНомер = "+" + КодСтраны + " (" + Matches.Item(1) + ") " + Matches.Item(2) + " " + Matches.Item(3) + "" + Matches.Item(4);
		Иначе
			Отказ = Истина;
			
			Сообщение = Новый СообщениеПользователю();
			Сообщение.Текст = "Поле ""Телефон номер"" не валидный";
			Сообщение.Поле = "Объект.ТелефонНомер";
			Сообщение.Сообщить();
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры
  • Вопрос задан
  • 41 просмотр
Пригласить эксперта
Ответы на вопрос 1
fosihas
@fosihas
Автоматизации учета на 1С.
а что мешает проверить это на копии базы????
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы