Заполнение формы данными при нажатии на кнопку
Здравствуйте, дорогие форумчане. Есть форма на ней есть поле ввода, при вводе определенного физ лица, процедура на форме делает запрос и проверяет наличие документов у этого физ лица, если у него есть документы, то открывается форма с кнопками. Количество кнопок совпадает с количеством документов у этого физ лица. Как мне написать команду нажатия, чтобы при нажатии, форма заполнилась данными из этого выбранного документа.
Вот код создания кнопок:
Теперь мне надо как-то связать данную кнопку с тем самым документом, чтобы при нажатии форма заполнилась. У меня есть команда на форме НажатиеКнопки и её действие:
И вот мне хотелось бы узнать от вас, как я могу грамотно это записать?
Вот код создания кнопок:
ИД = 0;
Для каждого Строка Из ТаблицаЗначений Цикл
ЭлементГруппы = Элементы.ГруппаДокументов;
НоваяКнопка = Элементы.Добавить("Кн" + Строка(ИД), Тип("КнопкаФормы"),ЭлементГруппы);
НоваяКнопка.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
НоваяКнопка.Высота = 3;
НоваяКнопка.РастягиватьПоГоризонтали = Истина;
НоваяКнопка.ИмяКоманды = "НажатиеКнопки";
НоваяКнопка.Заголовок = Строка(Строка.Номер) + " " + Строка(Строка.Контрагент);
НоваяКнопка.Шрифт = ШрифтыСтиля.ОченьКрупныйШрифтТекста;
НоваяКнопка.Видимость = Истина;
НоваяКнопка.Доступность = Истина;
ИД = ИД + 1;
КонецЦикла;
ПоказатьТеперь мне надо как-то связать данную кнопку с тем самым документом, чтобы при нажатии форма заполнилась. У меня есть команда на форме НажатиеКнопки и её действие:
&НаКлиенте
Процедура НажатиеКнопки(Команда)
ЭлементКнопки = ТекущийЭлемент;
////
////
////
////
////
КонецПроцедуры
ПоказатьИ вот мне хотелось бы узнать от вас, как я могу грамотно это записать?
По теме из базы знаний
- Управляемое приложение: правильное программное открытие форм
- Журнал учета объема розничной продажи алкогольной и спиртосодержащей продукции для 1С Розница 1.0 (платформы 8.1, 8.2 и 8.3)
- Журнал учета объема розничной продажи алкогольной и спиртосодержащей продукции для 1С Управление торговлей 10.3 (платформы 8.2 и 8.3)
- Заполнение формы СЗВ-ТД для 1С:Предприятие 7.7
- Автоматическое заполнение формы отчетности статистики при отгрузке товаров в страны ЕАЭС из файла CSV, выгруженного с OZON (или других маркетплейсов)
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(1) Прочитайте про обработку оповещения. Из одной формы оповещаете указывая ссылку на документ, в исходной форме обрабатываете оповещение, получаете ссылку и далее уже запрос, получение данных, перенос их в реквизиты исходной формы (или как Вашей душе угодно) )))
(15) Ничего, друг, всё бывает) Просто, когда пишу на форум, у многих такое представление будто я просто возьму в итоге и все скопирую, но если обратить внимание, даже когда мне пишут вариант решения, я стараюсь попробовать и его и свой иной написать, чтобы понять логику раз и навсегда. И всегда очень благодарен всем тем, кто решается помочь. К сожалею, не могу помочь с подобным в ответ, хотя если будут вопросы по html, js, css, то я тут как тут))) Спасибо всем за внимание! Благодарен каждому, кто решается помогать на форумах, на вас многое держится!
Зачем тебе для каждого документа создавать кнопку?
У тебя задача сводится к классическому подбору. Посмотри примеры на просторе интернета - их миллион.
По-простому у тебя на основной форме будет кнопка "заполнить". Юзер вводит физлицо, нажимает "заполнить" - открываешь новую форму и заполняешь (при создании) таблицу документов. Юзер выбирает строку и нажимает "Заполнить".
Далее закрываешь подчинённую форму, передаёшь документ из выбранной строки и заполняешь форму-владельца.
ТекущийЭлемент - это вообще не то.
У тебя задача сводится к классическому подбору. Посмотри примеры на просторе интернета - их миллион.
По-простому у тебя на основной форме будет кнопка "заполнить". Юзер вводит физлицо, нажимает "заполнить" - открываешь новую форму и заполняешь (при создании) таблицу документов. Юзер выбирает строку и нажимает "Заполнить".
Далее закрываешь подчинённую форму, передаёшь документ из выбранной строки и заполняешь форму-владельца.
ТекущийЭлемент - это вообще не то.
(6) Смотри в чем дело. Данная форма открывается на терминале и вводить что-то очень тяжко. Поэтому чел просто сканирует свою карту и на форме появляются кнопки с названием контрагента и номером документа и челу надо просто нажать на огромную кнопку разок, тем самым выбрать нужный документ. До создания кнопок я с горем по полам дошел, а вот как теперь связать кнопки с доками и сделать заполнение формы - гемор
А есть ли в принципе что-то готовое для данной задачи? То есть могу ли я каким-то образом, например, загрузить в таблицу значений документ ЗаказКлиента и потом выгрузить ее на форму таким образом, чтобы данные заполнились правильно по реквизитам?
(10) Только писать. ЗаполнитьЗначенияСвойств() тут не подойдет и не сработает для таблицы документа, для реквизитов документа да, можно, но надо учеть реквизиты на форме это реквизиты формы или объекта обработки. Таблицу же - если ее так же нужно выводить на форму можно сделать через "ТаблицаФормы.Загрузить(<ИсходнаяТАблица>)" - главное чтоб исходная таблица (полученная выгрузкой из результата запроса, например) имела такую же структуру (имена колонок и типы должны быть одинаковыми). Это отправная точка - всё гуглится на раз.
Если известно, что максимум 10 документов, то можешь заранее создать десять не видимых кнопок с обработчиками и показывать нужное количество при выборе физ.лица.
Если хочешь побаловаться с динамическим созданием кнопок, то нужно создавать динамически команды для каждой кнопки. Все созданные команды могут использовать одну процедуру "НажатиеКнопки(Команда)" в качестве обработчика. А уже в ней анализируй Команду.
Если хочешь побаловаться с динамическим созданием кнопок, то нужно создавать динамически команды для каждой кнопки. Все созданные команды могут использовать одну процедуру "НажатиеКнопки(Команда)" в качестве обработчика. А уже в ней анализируй Команду.