Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 18:19

Процедура ТоварыОбработкаВыбора

Автор djvjv, 08 мая 2012, 21:16

0 Пользователей и 1 гость просматривают эту тему.

djvjv

У меня есть форма документа. На ней расположены 2 кнопки. При нажатии на каждую из них выполняется свое действие. Первая кнопка отвечает за подбор. Вторая кнопка за загрузку из Excel.
Проблема заключается в том что Процедура ТоварыОбработкаВыбора относится и к 1-ой и ко 2-ой кнопке и сделать 2 разных процедуры не возможно. На данный момент у меня пока при нажатии на подбор и загрузку из Excel выполняется одно и то же действие, а это не правильно.
Что мне надо прописать в процедуре чтоб в зависимости от того на какую кнопку я нажимаю выполнялся нужный мне код?

djvjv

Помогите мне разобраться как обращаться к той или иной кнопке в одной процедуре? Как в 2х разных процедурах я знаю, но в данном случае мне только 1 процедуру можно использовать, так как она системная.

cska-fanat-kz

Есть 2 кнопки, соответственно 2 обработчика события КнопкаНажатие().
В ней вызывайте процедуру с соответствующим параметром...

Процедура КнопкаПодборНажатие()
ВыполнитьЗагрузку(1);
КонецПроцедуры

Процедура КнопкаЗагрузкаИзЭксельНажатие()
ВыполнитьЗагрузку(2);
КонецПроцедуры

В ТоварыОбработкаВыбора() вы обрабатываете ВыбранноеЗначение...
А вот поместить в него можно все, что угодно...
Например структуру: первый ключ - признак, откуда получен список номенклатуры (из подбора или из экселя), а второй - сам список номенклатуры...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

djvjv

Либо я  вас не понял, либо вы меня.
Поясняю снова. У 2-ух кнопок на одной форме которые относятся к табличной части есть обработка выбора. Как мне в одной процедуре обращаться к 2ум разным кнопкам, в зависимости от того какую нажимаю?

cska-fanat-kz

В ОбработкеВыбора() вы не "обращаетесь к кнопкам" а обрабатываете параметр ВыбранноеЗначение, правильно же?
Только вам нужно определить, какая из процедур "положила" туда список номенклатуры.
Или я действительно что-то не понимаю?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

djvjv

В Форме я через свойстве я для кнопки указываю процедуру ОбработкаВыбора. В итоге у меня для 2-ух кнопок процедура с одинаковым названием.
Как мне в одной процедуре обращаться к 2ум разным кнопкам, в зависимости от того какую нажимаю?

У меня все работает. Мне нужна доработка. Например при нажатие на подбор выполняется одно, а при загрузке из excel другое. Как мне в одной процедуре это сделать?

cska-fanat-kz

Процедура КнопкаПодборНажатие(Элемент)
ОбработкаВыбора(1);
КонецПроцедуры

Процедура КнопкаЗагрузкаИзЭксельНажатие(Элемент)
ОбработкаВыбора(2);
КонецПроцедуры
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

djvjv

Уже на правильном понимание вещей.
А теперь представь что в одной процедуре две обработки выбора. Мне надо так сделать. Как мне в зависимости от ситуации сделать что нужная обработка выбора срабатывала?

Еще 2 небольших вопроса.
Где сохрнаяются картинки которые в конфу загружаются?
При загрузке сначала появляется окно а потом заход в конфу. Как в это окне сделать надпись и картинку? Я про окно в котором определяется какая это конфа)))

cska-fanat-kz

Если у тебя обработчик события нажатия один и тот же - что ессно возможно, но не рекомендуется методологически (читай на диске ИТС) - то обрабатывай параметр "Элемент".
Из него можно узнать например ИМЯ кнопки, которая вызвала событие...

В свойствах конфигурации есть 2 свойства: "Логотип" и "Заставка"...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

fokas

Процедура НажатиеКнопки(Элемент)

Если Элемент.Имя = "Кнопка1" Тогда
// действия при нажатии на кнопку с именем "Кнопка1"
ИначеЕсли Элемент.Имя = "Кнопка2" Тогда
// действия при нажатии на кнопку с именем "Кнопка2"
КонецЕсли;

КонецПроцедуры


Такой подход вполне себя может оправдать, чтобы там в ИТС не говорили :) У нас для документов и справочников программно добавляется подменю "Дополнительно" со всякими отчетами и прочими приятностями. Добавлять процедуры для каждой кнопки из подменю - только код засорять зазря. А так, всего пару строк

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск