Добрый вечер, есть поле "Поиск" с типом строка, при выборе значения из списка, тип этого поля "Поиск" должен менять на Число, и наоборот.
Делаю так, и как еще только не делал не получается:
Если ЭлементыФормы.СписокВидовПоиска.Значение <> "РегНомер" Тогда
КС = Новый КвалификаторыСтроки(0,ДопустимаяДлина.Переменная);
//МассивТипов = Новый Массив;
//МассивТипов.Добавить(Тип("Строка"));
//МассивТипов.Добавить(Тип("Число"));
ТипСтрока = Новый ОписаниеТипов(Тип("Строка"),,КС,,);
ЭлементыФормы.ПолеПоиска.ТипЗначения = ТипСтрока;
//МассивТипов.Очистить();
Иначе
КЧ = Новый КвалификаторыЧисла(9,0,ДопустимыйЗнак.Неотрицательный);
//МассивТипов = Новый Массив;
//МассивТипов.Добавить(Тип("Строка"));
//МассивТипов.Добавить(Тип("Число"));
ТипЧисло = Новый ОписаниеТипов(Тип("Число"),КЧ,,,);
ЭлементыФормы.ПолеПоиска.ТипЗначения = ТипЧисло;
//МассивТипов.Очистить();
КонецЕсли;
А для чего вообще тип "строка" там нужен?
Вот так вот работает:
Если ЭлементыФормы.СписокВидовПоиска.Значение <> "РегНомер" Тогда
КС = Новый КвалификаторыСтроки(0,ДопустимаяДлина.Переменная);
МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("Строка"));
ТипСтрока = Новый ОписаниеТипов(МассивТипов,,КС,,);
ЭлементыФормы.ПолеПоиска.ТипЗначения = ТипСтрока;
МассивТипов.Очистить();
Иначе
КЧ = Новый КвалификаторыЧисла(9,0,ДопустимыйЗнак.Неотрицательный);
МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("Число"));
ТипЧисло = Новый ОписаниеТипов(МассивТипов,КЧ,,,);
ЭлементыФормы.ПолеПоиска.ТипЗначения = ТипЧисло;
МассивТипов.Очистить();
КонецЕсли;
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua