Коварное не заполнение адреса в свободной форме. УТ 11.4

Клиент не использует ИТС, поэтому заполняет адреса в свободной форме.

Но есть проблема — если вводить текстом адрес, то после ввода он не сохраняется.

Это явный обман пользователя программой, т.к. пользователь даже не видит подвоха.

Адрес сохранится только если нажать кнопку выбора, выбрать вид адреса — адрес в свободной форме и ввести адрес.

Решение проблемы простое — расширение модуля УправлениеКонтактнойИнформациейСлужебный:


&Вместо("СформироватьАдресПоПредставлению")
Функция дор_СформироватьАдресПоПредставлению(Представление, РазбиватьНаПоля)
	//2024-02-18 Осипов
	//Иногда адрес не распознается из свободной формы...
	Адрес = ПродолжитьВызов(Представление, РазбиватьНаПоля);
	Если типЗнч(Адрес) = Тип("Структура") И 
		Адрес.Свойство("addressType") И
		Адрес.addressType = "ВСвободнойФорме" И
		Адрес.Свойство("country") И
		Адрес.Свойство("value") И
		Адрес.value = "" Тогда
		Адрес.value = Представление;
		Если Не ЗначениеЗаполнено(Адрес.country) Тогда
			Адрес.country = "РОССИЯ";
		КонецЕсли;
	КонецЕсли;
	Возврат Адрес;
КонецФункции

Важно, чтобы было заполнено country, потому что процедура УправлениеКонтактнойИнформациейСлужебный.ЕстьЗаполненныеСвойстваКонтактнойИнформации не пропускает адреса, где не заполнено это поле:

В итоге введенные значения сохраняются корректно, причем сразу с типом — адрес в свободной форме:

Опять 1С некрасиво поступает с пользователями!

Среда: УТ 11.4.13.46 Объем: 0.8 час

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *