Заполнение формы данными при нажатии на кнопку

1. Varlant1n 18.01.21 14:46 Сейчас в теме
Здравствуйте, дорогие форумчане. Есть форма на ней есть поле ввода, при вводе определенного физ лица, процедура на форме делает запрос и проверяет наличие документов у этого физ лица, если у него есть документы, то открывается форма с кнопками. Количество кнопок совпадает с количеством документов у этого физ лица. Как мне написать команду нажатия, чтобы при нажатии, форма заполнилась данными из этого выбранного документа.

Вот код создания кнопок:

ИД = 0;
		Для каждого Строка Из ТаблицаЗначений Цикл
			ЭлементГруппы = Элементы.ГруппаДокументов;
			НоваяКнопка = Элементы.Добавить("Кн" + Строка(ИД), Тип("КнопкаФормы"),ЭлементГруппы);
			НоваяКнопка.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
			НоваяКнопка.Высота = 3;
			НоваяКнопка.РастягиватьПоГоризонтали = Истина;
			НоваяКнопка.ИмяКоманды = "НажатиеКнопки";
			НоваяКнопка.Заголовок = Строка(Строка.Номер) + " " + Строка(Строка.Контрагент);
			НоваяКнопка.Шрифт = ШрифтыСтиля.ОченьКрупныйШрифтТекста;
			НоваяКнопка.Видимость = Истина;
			НоваяКнопка.Доступность = Истина;
			ИД = ИД + 1;
		КонецЦикла;
Показать


Теперь мне надо как-то связать данную кнопку с тем самым документом, чтобы при нажатии форма заполнилась. У меня есть команда на форме НажатиеКнопки и её действие:

&НаКлиенте
Процедура НажатиеКнопки(Команда)
	ЭлементКнопки = ТекущийЭлемент;
	////
	////
	////
	////
	////
КонецПроцедуры
Показать


И вот мне хотелось бы узнать от вас, как я могу грамотно это записать?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
9. portwein 18.01.21 15:44 Сейчас в теме
(1) Прочитайте про обработку оповещения. Из одной формы оповещаете указывая ссылку на документ, в исходной форме обрабатываете оповещение, получаете ссылку и далее уже запрос, получение данных, перенос их в реквизиты исходной формы (или как Вашей душе угодно) )))
2. Varlant1n 18.01.21 14:47 Сейчас в теме
Я думаю для начало надо получить индекс строки и через него связать кнопку и определенный документ
3. Varlant1n 18.01.21 14:49 Сейчас в теме
В созданных кнопках у меня в заголовке есть номер документа, который мне нужен.

Строка(Строка.Номер)

Вот этим моментом я в название кнопки вставляю номер документа. Может как-то таким образом можно?
4. FatPanzer 18.01.21 14:51 Сейчас в теме +0.1 $m
2000/час. Или идите читайте учебник и перестаньте нас тут спамить своим нежеланием учиться, прежде чем выходить к специалистам с вопросами. Тут не школа.
5. пользователь 18.01.21 14:52
Сообщение было скрыто модератором.
...
15. Nefilimus 75 21.01.21 22:58 Сейчас в теме
(4) вот зачем так грубо? Если нет желания отвечать, закройте просто ветку
16. Varlant1n 22.01.21 12:46 Сейчас в теме
(15) Ничего, друг, всё бывает) Просто, когда пишу на форум, у многих такое представление будто я просто возьму в итоге и все скопирую, но если обратить внимание, даже когда мне пишут вариант решения, я стараюсь попробовать и его и свой иной написать, чтобы понять логику раз и навсегда. И всегда очень благодарен всем тем, кто решается помочь. К сожалею, не могу помочь с подобным в ответ, хотя если будут вопросы по html, js, css, то я тут как тут))) Спасибо всем за внимание! Благодарен каждому, кто решается помогать на форумах, на вас многое держится!
user2044531; Nefilimus; +2 Ответить
17. Pluto 06.12.21 00:08 Сейчас в теме
(4) Действительно тут не школа, но и не пристанище для хамов.... так что иди пиши учебники, раз не можешь с людьми общаться....
18. FatPanzer 06.12.21 00:31 Сейчас в теме
19. Pluto 06.12.21 12:27 Сейчас в теме
(18) А не много ли ты на себя берёшь, посылальщик? Можешь и сам ведь не дойти....
6. triviumfan 93 18.01.21 15:24 Сейчас в теме
Зачем тебе для каждого документа создавать кнопку?

У тебя задача сводится к классическому подбору. Посмотри примеры на просторе интернета - их миллион.
По-простому у тебя на основной форме будет кнопка "заполнить". Юзер вводит физлицо, нажимает "заполнить" - открываешь новую форму и заполняешь (при создании) таблицу документов. Юзер выбирает строку и нажимает "Заполнить".
Далее закрываешь подчинённую форму, передаёшь документ из выбранной строки и заполняешь форму-владельца.

ТекущийЭлемент - это вообще не то.
Varlant1n; +1 Ответить
7. Varlant1n 18.01.21 15:32 Сейчас в теме
(6) Смотри в чем дело. Данная форма открывается на терминале и вводить что-то очень тяжко. Поэтому чел просто сканирует свою карту и на форме появляются кнопки с названием контрагента и номером документа и челу надо просто нажать на огромную кнопку разок, тем самым выбрать нужный документ. До создания кнопок я с горем по полам дошел, а вот как теперь связать кнопки с доками и сделать заполнение формы - гемор
12. triviumfan 93 18.01.21 17:01 Сейчас в теме
(7) просто кнопки покрупнее + позиционирование строки. Все равно это классический подбор/заполнение на основании.
А если по физлицу 100 документов, ты как кнопки выводить собрался?
Прикрепленные файлы:
13. Varlant1n 19.01.21 09:40 Сейчас в теме
(12) В данной базе у физ лица может быть максимум 10 документов. И это очень в редких случаях, в основном 3-4. Поэтому и решил делать именно таким образом.
8. Varlant1n 18.01.21 15:34 Сейчас в теме
(6) А твой вариант мне понятен и он хорош, но не в данном случае. Тут одной из подзадач задачи является упрощение процесса.
10. Varlant1n 18.01.21 16:08 Сейчас в теме
А есть ли в принципе что-то готовое для данной задачи? То есть могу ли я каким-то образом, например, загрузить в таблицу значений документ ЗаказКлиента и потом выгрузить ее на форму таким образом, чтобы данные заполнились правильно по реквизитам?
11. portwein 18.01.21 16:18 Сейчас в теме
(10) Только писать. ЗаполнитьЗначенияСвойств() тут не подойдет и не сработает для таблицы документа, для реквизитов документа да, можно, но надо учеть реквизиты на форме это реквизиты формы или объекта обработки. Таблицу же - если ее так же нужно выводить на форму можно сделать через "ТаблицаФормы.Загрузить(<ИсходнаяТАблица>)" - главное чтоб исходная таблица (полученная выгрузкой из результата запроса, например) имела такую же структуру (имена колонок и типы должны быть одинаковыми). Это отправная точка - всё гуглится на раз.
14. s_captain 19.01.21 20:50 Сейчас в теме
Если известно, что максимум 10 документов, то можешь заранее создать десять не видимых кнопок с обработчиками и показывать нужное количество при выборе физ.лица.

Если хочешь побаловаться с динамическим созданием кнопок, то нужно создавать динамически команды для каждой кнопки. Все созданные команды могут использовать одну процедуру "НажатиеКнопки(Команда)" в качестве обработчика. А уже в ней анализируй Команду.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот