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

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

Автор mavrinsa, 01 июн 2022, 21:01

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

mavrinsa

Добрый вечер! Подскажите, пожалуйста!
Имеется Справочник сотрудники, в нем наименование Фамилия сотрудника и реквизит телефон. Есть форма Приказ, куда надо автоматически подставить значение телефона при заполнении (выборе из списка справочника). Как это реализовать.
На одном из форумов посоветовали следующий код: Но он не работает. Что не так?
&НаКлиенте
Процедура СотрудникПриИзменении(Элемент)
ДанныеСотрудника = ПолучитьДанныеСотрудника(ТекСтрокаСотрудник);
Телефон=ДанныеСотрудника .Телефон;
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьДанныеСотрудника(Сотрудник)
ДанныеСотрудника = Новый Структура();
ДанныеСотрудника.Вставить("Телефон", Сотрудник.Телефон);
Возврат ДанныеСотрудника;
КонецФункции
Безымянный10.png

alexandr_ll

mavrinsa, Что собой представляют переменные "ТекСтрокаСотрудник" и "Телефон"? Это реквизиты формы или документа? Воспользуйтесь Отладчиком для анализа ошибок.

wise

(0) ЗАЧЕМ так сложно...?

&НаКлиенте
Процедура СотрудникПриИзменении(Элемент)
   Объект.Телефон=ПолучитьДанныеСотрудника(Объект.Сотрудник);
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьДанныеСотрудника(Сотрудник)
    Возврат Сотрудник.Телефон;
КонецФункции
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

mavrinsa

Цитата: alexandr_ll от 02 июн 2022, 06:09mavrinsa, Что собой представляют переменные "ТекСтрокаСотрудник" и "Телефон"? Это реквизиты формы или документа? Воспользуйтесь Отладчиком для анализа ошибок.
"ТекСтрокаСотрудник" это не переменная, я думаю, что это как раз ссылка на нужный мне объет, мне так на форуме посоветовали. Телефон - это реквизит документа и одноименный реквизит в справочнике. Как отладчиком пользоваться я вообще понятия не имею

mavrinsa

Цитата: wise от 02 июн 2022, 13:13(0) ЗАЧЕМ так сложно...?

&НаКлиенте
Процедура СотрудникПриИзменении(Элемент)
   Объект.Телефон=ПолучитьДанныеСотрудника(Объект.Сотрудник);
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьДанныеСотрудника(Сотрудник)
    Возврат Сотрудник.Телефон;
КонецФункции
Пытался так делать, ошибок нет, но и результата никакого нет. Выбираю из списка сотрудника или ввожу вручную, а в поле телефон ничего не появляется.

Алексей Корольков

Я бы сделал всё куда проще.
Изначально все данные на клиенте, если загрузилсь сотрудники
Данные = Элементы.ЭлементыТабличнойЧасти.Выгрузить;
Телефон = Данные.Телефон;
Как то приблизительно так. Пишу по памяти, поэтому могу ошибаться.

Алексей Корольков

Забыл. Нужно в реквизиты вставить ПрограмноеПо, а в табличную чать перенести всё то что из реквизитов.
То есть в реквизитах ДляКогоИлиЧего, а в таблчасти только ЧтоИменно

Алексей Корольков


Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск