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

автозаполнение элемента формы документа при заполнении другого элемента формы документа

Автор mahaidor, 06 апр 2014, 05:44

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

mahaidor

Здравствуйте. 1С 8.3. Справочник "Учащиеся" с полями "ФИО" и "Класс". Документ "Обследование" с полями "ФИО" (тип СправочникСсылка.Учащиеся) и "Класс" (тип Строка). Как сделать так, чтобы после заполнения поля ФИО в документе, автоматически заполнялось поле класс в документе.  Например, в справочнике есть ученик Мохов В.И., класс 7а. Так вот в документе фио этого ученика выбирается из списка справочника, а поле класс документа должно получить значение "7а".

sadovod

В обработчике события элемента формы "ФИО" документа "Обследование" прописать код. Примерно такой (синтаксис не проверял, могут быть баги! :) )
&НаКлиенте
Процедура ФИОПриИзменении(Элемент)
Объект.Класс = ПолучитьКлассУчащегося(Объект.ФИО);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьКлассУчащегося(Учащийся)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Учащиеся.Класс
|ИЗ
| Справочник.Учащиеся КАК Учащиеся
|ГДЕ
| Учащиеся.Ссылка = &Учащийся";
Запрос.УстановитьПараметр("Учащийся", Учащийся);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Если Выборка.Следующий() Тогда
    Возврат Выборка.Класс;
        Иначе
            Возврат "";
КонецЕсли;
КонецФункции


mahaidor

спасибо.Проверю код, главное что вы мне направление указали.Будут баги,разберусь.:zebzdr:
Добавлено: 06 апр 2014, 12:27


код рабочий, багов нет. Респект и уважуха Садовод:D:zebzdr::ooifh:

sadovod

На здоровье :)
Ну а теперь лови упрощённый вариант функции :)
&НаСервереБезКонтекста
Функция ПолучитьКлассУчащегося(Учащийся)
     Возврат ?(ЗначениеЗаполнено(Учащийся), Учащийся.Класс, "");
КонецФункции

Но вариант с запросом более универсальный, позволяет выбирать данные в гораздо более сложных ситуациях.

Теги:

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

Рейтинг@Mail.ru

Поиск