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

Запись данных из одного поля в другое

Автор keramik, 26 ноя 2014, 23:54

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

keramik

Привет!
В форме есть два поля - "Модель" (заполняется вручную из списка значений) и "Наименование", которое заполняется при помощи этой процедуры:
Процедура НаименованиеНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;

ГосНомерСтр = СокрЛП(ГосНомер);
МодельСтр = СокрЛП(Модель);
ЦветСтр = СокрЛП(Цвет);
ШассиСтр = ?(ЗначениеЗаполнено(СокрЛП(VIN)),"VIN "+СокрЛП(VIN),"");

НовоеНаименование1 = СокрЛ(МодельСтр+" ") + СокрЛ(ЦветСтр+" ") + СокрЛ(ГосНомерСтр+" ") + СокрЛ(ШассиСтр);
НовоеНаименование2 = СокрЛ(ГосНомерСтр+" ") + СокрЛ(МодельСтр+" ") + СокрЛ(ЦветСтр+" ") + СокрЛ(ШассиСтр);
НовоеНаименование3 = СокрЛ(ШассиСтр+" ") + СокрЛ(МодельСтр+" ") + СокрЛ(ЦветСтр+" ") + СокрЛ(ГосНомерСтр);

СписокДляВыбора = Новый СписокЗначений;
Если ЗначениеЗаполнено(Наименование) Тогда
СписокДляВыбора.Добавить(СокрЛП(Наименование));
КонецЕсли;
Если ЗначениеЗаполнено(НовоеНаименование1) Тогда
СписокДляВыбора.Добавить(НовоеНаименование1);
СписокДляВыбора.Добавить(НовоеНаименование2);
СписокДляВыбора.Добавить(НовоеНаименование3);
КонецЕсли;

//Автозаполнение элемента формы с выбором из списка значений
Элемент.Значение = РаботаСДиалогами.глВыборЗначенияИзСпискаАвтоформирования(ЭтаФорма,Элемент,СписокДляВыбора,Истина);
КонецПроцедуры


В дальнейшем значение поля "Наименование"используется в списке элементов.
Как подправить процедуру, чтобы она в поле автоматически подставляла значения из поля "Модель"?
Просто указать тип данных "Модель" ничего не даёт, при записи появляется сообщение, что поле незаполненно, хотя оно автоматически заполняется тем же значением, что и поле модель...

Пробовал так:
    Если ПустаяСтрока(Наименование) Тогда
        Наименование = Модель;
КонецЕсли;

Но не работает, значение не подставляется.

cska-fanat-kz

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

keramik

Спасибо, буду пробовать.

Ура! Заработало.
Добавлено: 27 ноя 2014, 09:15


Возник ещё вопрос. Как добавить в этот код вывод строки с гос.номером авто?
Пробую так:
МодельПриИзменении()
Если ЭтоНовый() Тогда
Наименование = ГосНомер+Модель.Наименование;
КонецЕсли;

Но всё равно передаётся только название модели...
Добавлено: 27 ноя 2014, 11:39


Продолжаю искать решение, такой вариант тоже не выдаёт гос номер и марку, а только марку:
Наименование = Новый СписокЗначений;
Если НЕ ЗачениеЗаполнено(Наименование) Тогда
Наименование = ГосНомер+Модель.Наименование;
КонецЕсли;

Какая команда или оператор позволяет объединить значение двух полей в одном?

cska-fanat-kz

"+" и позволяет!
ГосНомер - тоже поле на форме?
Тогда в ГосномерПриИзменении() пишем
Наименование = ""+Госномер+Марка.Наименование;

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

keramik

Да, это поле на форме. Сейчас попробую.

Получилось!
Спасибо за помощь. Что-то я не подумал, что надо ещё и процедуру вызова ГосНомера править.

cska-fanat-kz

Цитата: keramik от 27 ноя 2014, 12:02Что-то я не подумал, что надо ещё и процедуру вызова ГосНомера править.

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

Теги:

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

Рейтинг@Mail.ru

Поиск