Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Передача реквизитов между формами
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
4andriy
1C 7.7 Предприятие
Форма номер 1 - есть данные контрагента ТекущийЭлемент
Форма 2 - журнал документов
Форма 3 - сам документ с полем ввода Контрагент

В форме номер 3 нужно заполнить поле Ввода Контрагент из выбраного в форме 1.
Naghual
Используйте глобальную переменную.
4andriy
Naghual @ Сегодня, 12:51 необходимо зарегистрироваться для просмотра ссылки ,
может есть пример какой-то?
4andriy
4andriy @ Сегодня, 13:31 необходимо зарегистрироваться для просмотра ссылки ,
не могу передать в форму значение контрагента
Форма.Параметр=Элемент.Контрагент;
{Справочник.Контрагенты.ФормаСписка.ОКПО.Модуль(327)}: Поле агрегатного объекта не обнаружено (Контрагент)


4andriy @ Сегодня, 15:43 необходимо зарегистрироваться для просмотра ссылки ,
как передать форма.параметр значение в справочнике?

4andriy @ Сегодня, 16:05 необходимо зарегистрироваться для просмотра ссылки ,
Форма.Параметр=СоздатьОбъект(ТекущийЭлемент());
{Справочник.Контрагенты.ФормаСписка.ОКПО.Модуль(327)}: Неудачная попытка создания объекта
Prospero
4andriy, Можно подробнее, что Вы хотите сделать?
Форма 1 - это Форма списка справочника Контрагенты?
Вы становитесь на один из элементов....
Хотите его запомнить.
Жмакаете кнопочку открытия документа (Форма 3?) из нее
И при открытии хотите туда передать Контрагента?
Не могу придумать, куда журнал документов тут пристроить (Форма 2)
Поправьте пж.
4andriy
Prospero @ Сегодня, 21:24 необходимо зарегистрироваться для просмотра ссылки ,
в документе "счет" уже выбран контрагент
я нажимаю кнопочку - у меня создается документ документ ттн
но поле контрагент не заполнено
на основании не работает
в ттн вписан код:
Процедура ПриОткрытии()
Контрагент = Форма.Параметр;
КонецПроцедуры

со счета параметр Контрагент как присвоить Форма.Параметр - не работает

4andriy @ Сегодня, 22:49 необходимо зарегистрироваться для просмотра ссылки ,
в счете сделал процедуру:
процедура кн()
Форма.Параметр = СоздатьОбъект(Контрагент);
Форма.Параметр.ДобавитьЗначение(Контрагент,"Контрагент");
конецпроцедуры

ошибка:
: Неудачная попытка создания объекта
4andriy
4andriy @ Вчера, 22:53 необходимо зарегистрироваться для просмотра ссылки ,
через глобальные работает
через форма.параметр нет
Prospero
Цитата(4andriy @ 01.04.20, 11:50) необходимо зарегистрироваться для просмотра ссылки
через форма.параметр нет

Ну, наверное потому, что
форма.параметр
в явном виде существует в принимающей форме,
которую пользуют через ОткрытьФорму (ОткрытьФормуМодально или ОткрытьПодбор)...
Вы ж явным образом пытались ему значение присвоить до этого счастливого момента.
Хотя по факту это всего лишь контекст, передающийся в открываемую форму.
Думаю, если бы Вы открывали Ваш ТТН через ОткрытьФорму и передавали бы туда Контрагента,
в форме ТТН ПриОткрытии у Вас бы все присваивалось, т.к. на момент открытия Параметр уже существовал бы с конкретным
значением (переданным ранее), а не с Неопределенным.
Ну и наверное, как вариант, в уже вызванной (открытой) форме Вы можете присваивать ему что-то и возвращать в вызывающую форму...
Наверное, как-то так... upset.gif
Может, гуру что подскажут еще, поправят.., конечно, если хотите до конца разобраться в этом вопросе... upset.gif
mut
Чтобы ввести новый документ на основании текущего можно сделать так:

ОткрытьФорму("Документ.РасходнаяНакладная",,ТекущийДокумент());


Только убедитесь, что текущий документ уже записан, у вас откроется форма нового документа и должна сработать процедура ВводНаОсновании. В вводе на основании скопируйте контрагента из документа-основания.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.