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

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

Автор maxipunchik, 22 дек 2014, 20:04

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

cska-fanat-kz

Перед
Процедура КонтактнаяПерсонаПриИзменении()

у вас есть "&НаКлиенте"

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

keramik

Добавил &НаКлиенте, но сообщения об ошибке остались, но пропали оповещения о том, что это для толстого клиента код.
Может надо запускать программу как-нибудь специфически?
Добавлено: 05 янв 2015, 14:02


Изменил в теле процедуры "Объект" на "ДокументОбъект" и сообщение о том, что неопределено "Объект" исчезло.
Осталось сообщение "Procedure or Function with the specified name is not defined (ПолучитьЗначениеРеквизитаСправочникаКонтактныеЛицаКонтрагентовНаСервере)"
Добавлено: 05 янв 2015, 16:16


Может надо разместить функцию и процедуру не в модуле самой формы, а в другом месте?
Добавлено: 06 янв 2015, 09:05


Если прописать перед функцией просто &НаСервере, то такой ошибки о том, что процедура или функция не определена нет, но при выборе Контрагента появляется сообщение Object field not found (РеквизитСправочникаКонтактнаяПерсона).

keramik

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

В результате код выбирает селектом значение "Должность" из КонтактныеЛица, основываясь на том, какой контрагент сейчас активен.

cska-fanat-kz

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

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

Рейтинг@Mail.ru

Поиск