Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Типовые и стандартные решения
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
barracuda1991
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 115
Завершенные тесты: 1
1

Интерактивное изменение типа значения поля ввода на форме

07.09.2016, 12:30. Просмотров 4278. Ответов 4
Метки нет (Все метки)

Здравствуйте! Подскажите, можно ли программно прописать, чтобы после выбора типа значения в поле списка (на форме) автоматически менялся тип значения в поле ввода (имеющий составной тип данных в конфигураторе)?
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
Процедура ВыборТипЗначенияПриИзменении(Элемент)
    ВыбранноеЗначение = ЭлементыФормы.ВыборТипЗначения.Значение;
    Если ВыбранноеЗначение = "Строка" Тогда
        ЭлементыФормы.ПолеВвода1.ТипЗначения.ПривестиЗначение("Строка");
        Сообщить("Выбрано строка");
    ИначеЕсли ВыбранноеЗначение = "Число" Тогда
        ЭлементыФормы.ПолеВвода1.ТипЗначения.ПривестиЗначение("Число");
        Сообщить("Выбрано число");
    ИначеЕсли ВыбранноеЗначение = "СправочникСсылка.Номенклатура" Тогда
        ЭлементыФормы.ПолеВвода1.ТипЗначения.ПривестиЗначение("СправочникСсылка.Номенклатура");
        Сообщить("Выбрано СправочникСсылка.Номенклатура");
    КонецЕсли;
КонецПроцедуры
0
Изображения
Тип файла: jpg Тест.JPG (50.9 Кб, 8 просмотров)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2016, 12:30
Ответы с готовыми решениями:

Изменение цветом поля в подчиненной форме в зависимости от значения в форме
Добрый день. Есть такой вопрос. Есть БД, где в поле под Статусом печати выбирается номер List ID...

Изменение значения поля типа дата/время в БД Access
Появилась проблема, не могу сохранить тип данных "дата/время" в эксес таким образом сохраняю...

Динамическое изменение маски ввода поля по значению из поля со списком
Есть две таблицы. В Т1 есть поле со списком "Гражданство", значения берутся из Т2. Т2 имеет три...

Очистка поля ввода Edit для следующего ввода значения
Здравствуйте! Необходим совет. Нужно реализовать следующую возможность: в поле ввода Edit вводится...

Поля ввода в форме
Можно ли создать поле ввода ФИО существующее только в форме и не существующие в таблице? И как из...

4
Dethmontt
Модератор
Эксперт 1С
2756 / 2510 / 446
Регистрация: 10.03.2011
Сообщений: 9,158
Записей в блоге: 1
Завершенные тесты: 1
07.09.2016, 17:15 2
barracuda1991, да, присвоив пустое значение нужного типа полюВвода

Добавлено через 3 минуты
1C
1
2
3
4
5
6
7
Процедура ВыборТипЗначенияПриИзменении(Элемент)
       
        ОТ = Новый ОписаниеТипов(ВыборТипЗначения);
        ПолеВвода1 = ОТ.ПривестиЗначение();
        Сообщить("Выбрано "+ВыборТипЗначения+");
 
КонецПроцедуры
1
barracuda1991
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 115
Завершенные тесты: 1
08.09.2016, 09:33  [ТС] 3
{Форма.Форма.Форма(492)}: Поле объекта недоступно для записи (ПолеВвода1)
ЭлементыФормы.ПолеВвода1 = ОТ.ПривестиЗначение();
Получилось так:
1C
1
2
3
    Реквизит = Метаданные.Справочники.Номенклатура.Реквизиты.Найти(ЭлементыФормы.ВыборТипЗначения.Значение);
    ЭлементыФормы.ПолеВвода1.ОграничениеТипа = Новый ОписаниеТипов(Реквизит.Тип);
    ЭлементыФормы.ПолеВвода1.Значение=ЭлементыФормы.ПолеВвода1.ОграничениеТипа.ПривестиЗначение(ЭлементыФормы.ПолеВвода1.Значение);
Спасибо.
0
Dethmontt
Модератор
Эксперт 1С
2756 / 2510 / 446
Регистрация: 10.03.2011
Сообщений: 9,158
Записей в блоге: 1
Завершенные тесты: 1
08.09.2016, 23:26 4
Цитата Сообщение от barracuda1991 Посмотреть сообщение
ЭлементыФормы.ПолеВвода1 = ОТ.ПривестиЗначение();
зачем ЭлементыФормы ???
Цитата Сообщение от Dethmontt Посмотреть сообщение
ПолеВвода1 = ОТ.ПривестиЗначение();
Где я тут что то писал про элементыФормы ???

Добавлено через 39 секунд
barracuda1991, нужно было просто скопировать текст процедуры себе
0
Nuuq
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 1
17.05.2017, 21:39 5
Добавлено через 24 секунды
Цитата Сообщение от Dethmontt Посмотреть сообщение
Сообщение от barracuda1991
ЭлементыФормы.ПолеВвода1 = ОТ.ПривестиЗначение();
зачем ЭлементыФормы ???
Сообщение от Dethmontt
ПолеВвода1 = ОТ.ПривестиЗначение();
Если ограничивать тип для ЭлементыФормы.ПолеВвода1 тогда не "слетает" значение реквизита ПолеВвода1 если она уже правильного типа,
а при ПолеВвода1 = ОТ.ПривестиЗначение(); фактически устанавливается пустая ссылка текущему значению реквизита ПолеВвода1

ИМХО лучше через ЭлементыФормы
0
17.05.2017, 21:39
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2017, 21:39

Изменение поля ввода
У меня есть <INPUT TYPE="text" > после ввода в него данных - необходимо что бы input изменился на...

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

Запрет ввода поля с пустым значением в форме
Коллеги ну очень надо - никак не могу сделать - заклинило в таблице - поле необязательное а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.