Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Передача реквизитов между формами          
4andriy Подменю пользователя
сообщение 31.03.20, 10:54
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 174
Спасибо сказали: 1 раз
Рейтинг: 1

1C 7.7 Предприятие
Форма номер 1 - есть данные контрагента ТекущийЭлемент
Форма 2 - журнал документов
Форма 3 - сам документ с полем ввода Контрагент

В форме номер 3 нужно заполнить поле Ввода Контрагент из выбраного в форме 1.

Naghual Подменю пользователя
сообщение 31.03.20, 12:51
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 102
Из: Днепропетровск
Спасибо сказали: 21 раз
Рейтинг: 0

Используйте глобальную переменную.


Signature
Я желаю всем Счастья!

Спасибо сказали: 4andriy,

4andriy Подменю пользователя
сообщение 31.03.20, 13:31
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 174
Спасибо сказали: 1 раз
Рейтинг: 1

Naghual @ Сегодня, 12:51 * ,
может есть пример какой-то?

4andriy Подменю пользователя
сообщение 31.03.20, 16:33
Сообщение #4

Завсегдатай
****
Группа: Пользователи
Сообщений: 174
Спасибо сказали: 1 раз
Рейтинг: 1

4andriy @ Сегодня, 13:31 * ,
не могу передать в форму значение контрагента
Форма.Параметр=Элемент.Контрагент;
{Справочник.Контрагенты.ФормаСписка.ОКПО.Модуль(327)}: Поле агрегатного объекта не обнаружено (Контрагент)


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

4andriy @ Сегодня, 16:05 * ,
Форма.Параметр=СоздатьОбъект(ТекущийЭлемент());
{Справочник.Контрагенты.ФормаСписка.ОКПО.Модуль(327)}: Неудачная попытка создания объекта

Prospero Подменю пользователя
сообщение 31.03.20, 21:24
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 68
Из: Киев
Спасибо сказали: 15 раз
Рейтинг: 0

4andriy, Можно подробнее, что Вы хотите сделать?
Форма 1 - это Форма списка справочника Контрагенты?
Вы становитесь на один из элементов....
Хотите его запомнить.
Жмакаете кнопочку открытия документа (Форма 3?) из нее
И при открытии хотите туда передать Контрагента?
Не могу придумать, куда журнал документов тут пристроить (Форма 2)
Поправьте пж.

4andriy Подменю пользователя
сообщение 31.03.20, 22:53
Сообщение #6

Завсегдатай
****
Группа: Пользователи
Сообщений: 174
Спасибо сказали: 1 раз
Рейтинг: 1

Prospero @ Сегодня, 21:24 * ,
в документе "счет" уже выбран контрагент
я нажимаю кнопочку - у меня создается документ документ ттн
но поле контрагент не заполнено
на основании не работает
в ттн вписан код:
Процедура ПриОткрытии()
Контрагент = Форма.Параметр;
КонецПроцедуры

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

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

ошибка:
: Неудачная попытка создания объекта

4andriy Подменю пользователя
сообщение 01.04.20, 10:50
Сообщение #7

Завсегдатай
****
Группа: Пользователи
Сообщений: 174
Спасибо сказали: 1 раз
Рейтинг: 1

4andriy @ Вчера, 22:53 * ,
через глобальные работает
через форма.параметр нет

Prospero Подменю пользователя
сообщение 01.04.20, 21:29
Сообщение #8

Говорящий
***
Группа: Пользователи
Сообщений: 68
Из: Киев
Спасибо сказали: 15 раз
Рейтинг: 0

Цитата(4andriy @ 01.04.20, 11:50) *
через форма.параметр нет

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

mut Подменю пользователя
сообщение 02.04.20, 15:52
Сообщение #9

Завсегдатай
****
Группа: Пользователи
Сообщений: 199
Из: Новая Каховка
Спасибо сказали: 203 раз
Рейтинг: 237.5

Чтобы ввести новый документ на основании текущего можно сделать так:

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


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

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 12:52
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!