Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 15:30

Автозаполнение поля ввода

Автор bestname, 22 июл 2015, 16:39

0 Пользователей и 1 гость просматривают эту тему.

bestname

1С:Предприятие 8.3 (8.3.5.1186)
Здравствуйте. Продолжаю тренироваться. Имеется справочник, в котором есть 2 реквизита "Наименование" и "ПолноеНаименование". Как сделать так, чтобы в ФормеЭлемента, при переключении на реквизит "ПолноеНаименование", он автоматически заполнялся значением реквизита "Наименование".
Пробовал сделать что-то типа:

Процедура ПолноеНаименованиеПриИзменении(Элемент)    
    Если ПустаяСтрока(Наименование) = Ложь Тогда
     ПолноеНаименование = Наименование;
    КонецЕсли;
КонецПроцедуры

Он то заполняется, но только после изменения поля ввода. Читал про событие "ПриАктивизации", но чет не понимаю, как оно работает.
И второй вопрос. Как, после всех манипуляций, сделать, чтобы реквизит "ПолноеНаименование" не зависел от реквизита "Наименование". Чтобы его можно было изменить на свое значение? И вообще, можно ли это сделать стандартными способами? Спасибо.

vitasw

Лучше разместите рядом с полным наименованием кнопку, навешайте команду и живите счастливо.
Представляете, пользователь пол часа писал в полном наименование "поэму", а затем снова случайно щелкнул на это поле, оно затерлось и стало равно просто наименованию. А по кнопке = осознанный выбор пользователя.

cska-fanat-kz

куча вариантов на самом деле.
1. перед заполнением полного наименования проверять его на пустоту
2. заполнять по кнопке (vitasw +100500)
3. у реквизита полного наименования добавить выпадающий список и заполнять его наименованием или еще чем то...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

bestname

Все таки хочу реализовать свою задачу. Кнопка, как вариант, но все же..

{Справочник.Номенклатура.Форма.ТестФорма.Форма(16)}: Преобразование значения к типу Булево не может быть выполнено
   Если мФормироватьНаименованиеПолноеАвтоматически Тогда

Процедура СформироватьНаименованиеПолноеАвтоматически()

Если мФормироватьНаименованиеПолноеАвтоматически Тогда
ПолноеНаименование = Наименование;
КонецЕсли;

КонецПроцедуры

cska-fanat-kz

ну так надо мФормироватьНаименованиеПолноеАвтоматически что нибудь присвоить :befhbt:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

bestname

Присвоено.

Процедура УстановитьФлагФормироватьНаименованиеПолноеАвтоматически()

Если ПустаяСтрока(ПолноеНаименование)
ИЛИ ПолноеНаименование = Наименование Тогда
мФормироватьНаименованиеПолноеАвтоматически = Истина;
Иначе
мФормироватьНаименованиеПолноеАвтоматически = Ложь;
КонецЕсли;

КонецПроцедуры

cska-fanat-kz

а эта переменная объявлена в самом начале модуля с помощью оператора Перем?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

bestname

Да

Перем мФормироватьНаименованиеПолноеАвтоматически;

cska-fanat-kz

тогда где вызывается процедура УстановитьФлагФормироватьНаименованиеПолноеАвтоматически()?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

cska-fanat-kz

Параллельно:
"...ИЛИ ПолноеНаименование = Наименование Тогда..."

зачем присваивать если и так равно? ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск