Страницы

Поиск по вопросам

суббота, 8 февраля 2020 г.

Передача данных между формами

#1с


Добрый день.
Только начал разбираться с 1С программированием и столкнулся с проблемой.
1С:Предприятие 8.2 (8.2.13.219) нетиповая конфигурация
Есть справочник контрагентов. У каждого контрагента есть связанные с ним события.
Открываем форму выбранного контрагента, в этой форме есть кнопка "добавить документы",
при нажатии на которую выскакивает форма выбора документов, в которой можно выбрать
"Событие". Выбираем событие, открывается форма создания события.
Вопрос: как передать данные (например самого контрагента) в форму события из открытой
формы выбранного контрагента?
Или как мне сослаться на конкретную форму? чтобы, находясь в самой форме события,
взять все, что мне надо, из формы контрагента.
Что должно получиться: из формы контрагента вызываем форму события, и в поля ввода
формы события сразу подставляется значения, взятые из формы контрагента.

свойства кнопки добавления 
нажимаем кнопку, открывается окно выбора документа, в котором выбираем событие, после
чего отрывается форма события    


Ответы

Ответ 1



В модуле документа "Событие" должна быть процедура ОбработкаЗаполнения(Основание). Система автоматически вызывает эту процедуру и передает в нее параметром "Основание" данные объекта "по ссылке", который явился инициатором заполнения. В вашем случае это контрагент. Вот тут вам и нужно посмотреть, какой тип имеет основание, если это справочникСсылка.Контрагенты тогда заполняете, если нет продолжаете по умолчанию. Выглядеть будет примерно так: Если ТипЗнч(Основание) = Тип("СправочникСсылка.Контрагенты") тогда <Заполняем какие то реквизиты> <При необходимости выходим из процедуры методом Возврат;> КонецЕсли;

Ответ 2



Если вы используете событие ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>), то в параметры записываете Структуру Структура = Новый Структура("Контрагент", Контрагент) Далее при создании формы события проверяете существует ли свойство "Контрагент" в параметрах(метод структуры "свойство"), если да, то заполняете необходимый реквизит. Надеюсь, я правильно понял вопрос

Комментариев нет:

Отправить комментарий