Передать команду с тонкого клиента на сервер
☑
0
Ненавижу 1С
гуру
21.02.14
✎
12:35
На форме есть динамически созданный набор кнопок с опять же динамически созданными командами, которые подписаны на одно клиентское событие, куда собственно передается параметр команда.
Так вот как на сервер передать эту команду? или хотя бы ее реквизиты? обращаться к свойствам команды на клиенте оказалось нельзя
1
zladenuw
21.02.14
✎
12:54
(0) а тебе зачем ?
2
zladenuw
21.02.14
✎
12:57
походу храни в реквизитах формы, когда создаешь команды. заполняй там список и передавай на сервер. если конечно используешь контекстный вызов
3
Lenny
21.02.14
✎
12:58
Через временное хранилище
4
Ненавижу 1С
гуру
21.02.14
✎
13:00
нашел способ, но это ховнокод:
&НаКлиенте
Процедура Локация(Команда)
й = 0;
Для каждого К Из Команды Цикл
Если К = Команда Тогда
ЛокацияНаСервере(й);
Прервать;
КонецЕсли;
й = й+1;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ЛокацияНаСервере(Индекс)
й = 0;
Для каждого К Из Команды Цикл
Если й=Индекс Тогда
Элементы.ГруппаЛокации.Заголовок = К.Заголовок;
Прервать;
КонецЕсли;
й = й+1;
КонецЦикла;
КонецПроцедуры
5
zladenuw
21.02.14
✎
13:04
а зачем перебором ? есть же команды.найти() и ищи по имени
6
Fedor-1971
21.02.14
✎
13:08
РеквизитФормыВЗначение() не подойдёт?
7
Ненавижу 1С
гуру
21.02.14
✎
13:08
(5) ааа... я быдлокодер!
&НаКлиенте
Процедура Локация(Команда)
ЛокацияНаСервере(Команда.Имя);
КонецПроцедуры
&НаСервере
Процедура ЛокацияНаСервере(Имя)
Элементы.ГруппаЛокации.Заголовок = Команды[Имя].Заголовок;
КонецПроцедуры
спасибо тебе! посмотрел на заголовок, что он недоступен на клиенте и подумал аналогичное про имя
8
zladenuw
21.02.14
✎
13:12
(7) учусь управлять управляемыми формами, но пока они некуя не управляются
9
Ненавижу 1С
гуру
21.02.14
✎
13:17
(8) присоединяюсь к твоим словам
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший