#1с
Добрый день. Только начал разбираться с 1С программированием и столкнулся с проблемой. 1С:Предприятие 8.2 (8.2.13.219) нетиповая конфигурация Есть справочник контрагентов. У каждого контрагента есть связанные с ним события. Открываем форму выбранного контрагента, в этой форме есть кнопка "добавить документы", при нажатии на которую выскакивает форма выбора документов, в которой можно выбрать "Событие". Выбираем событие, открывается форма создания события. Вопрос: как передать данные (например самого контрагента) в форму события из открытой формы выбранного контрагента? Или как мне сослаться на конкретную форму? чтобы, находясь в самой форме события, взять все, что мне надо, из формы контрагента. Что должно получиться: из формы контрагента вызываем форму события, и в поля ввода формы события сразу подставляется значения, взятые из формы контрагента. свойства кнопки добавления нажимаем кнопку, открывается окно выбора документа, в котором выбираем событие, после чего отрывается форма события
Ответы
Ответ 1
В модуле документа "Событие" должна быть процедура ОбработкаЗаполнения(Основание). Система автоматически вызывает эту процедуру и передает в нее параметром "Основание" данные объекта "по ссылке", который явился инициатором заполнения. В вашем случае это контрагент. Вот тут вам и нужно посмотреть, какой тип имеет основание, если это справочникСсылка.Контрагенты тогда заполняете, если нет продолжаете по умолчанию. Выглядеть будет примерно так: Если ТипЗнч(Основание) = Тип("СправочникСсылка.Контрагенты") тогда <Заполняем какие то реквизиты> <При необходимости выходим из процедуры методом Возврат;> КонецЕсли;Ответ 2
Если вы используете событие ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>), то в параметры записываете Структуру Структура = Новый Структура("Контрагент", Контрагент) Далее при создании формы события проверяете существует ли свойство "Контрагент" в параметрах(метод структуры "свойство"), если да, то заполняете необходимый реквизит. Надеюсь, я правильно понял вопрос
Комментариев нет:
Отправить комментарий