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

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 91 18.01.21 15:24 Сейчас в теме
Зачем тебе для каждого документа создавать кнопку?

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

ТекущийЭлемент - это вообще не то.
Varlant1n; +1 Ответить
7. Varlant1n 18.01.21 15:32 Сейчас в теме
(6) Смотри в чем дело. Данная форма открывается на терминале и вводить что-то очень тяжко. Поэтому чел просто сканирует свою карту и на форме появляются кнопки с названием контрагента и номером документа и челу надо просто нажать на огромную кнопку разок, тем самым выбрать нужный документ. До создания кнопок я с горем по полам дошел, а вот как теперь связать кнопки с доками и сделать заполнение формы - гемор
12. triviumfan 91 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 документов, то можешь заранее создать десять не видимых кнопок с обработчиками и показывать нужное количество при выборе физ.лица.

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

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день

Специалист техподдержки
Санкт-Петербург
зарплата от 100 руб. до 150 руб.
Полный день