|
v7: Перехват открытой формы, как узнать есть ли на форме список значений с пометками
| ☑ |
0
Duke1C
19.08.14
✎
11:04
|
Вопрос более к Ёпрсту и иным аксакалам.
Ситуация такая. На панели есть кнопка вызывающая универсальную обработку, которая получая текущую открытую форму, при помощи Formex-го Сервис.АктивныйКонтекст(), выполняет с ней некие действия.
Перед этим пробегаю по всем атрибутам формы через объект "АтрибутФормы" дабы определить состав реквизитов. Так вот у элемента формы типа Список значений в виде "поля со списком" тип=14, а у обычного многострочного списка значений тип=11, неважно стоит ли у него флажок "список с пометками" в конфигураторе. Так вот собственно сабж, как можно програмно узнать есть ли пометки в списке на форме?
|
|
1
NikVars
19.08.14
✎
12:20
|
Так ты программно и передвай список пометок туда, куда тебе нужно. Все равно ж ты бегаешь по всем атрибутам формы, так глянь и пометки.
|
|
2
Duke1C
19.08.14
✎
13:54
|
(1) Так я не знаю, что за контекст попался, поэтому и нужно сначала "пощупать" реквизиты. В основном для контекста внешних отчетов и обработок.
"... Все равно ж ты бегаешь по всем атрибутам формы, так глянь и пометки ..." - т.е. тупо посмотреть у списка с типом 11 наличие хоть одной метки?
|
|
3
NikVars
19.08.14
✎
14:02
|
Да. Если есть - формируешь свой параметр, запихиваешь в СписокЗначений и передаешь инфо в СпискеЗначений.
|
|
4
Duke1C
19.08.14
✎
15:06
|
(3) Просто может быть ситуация, когда на форме есть видимый список с пометками, у которого ни одной метки не поставлено. Вот и думал, мож как-то можно программно получить значение флажка "список с пометками".
|
|
5
Chum
19.08.14
✎
15:09
|
(4) перебрав элементы списка и проверив на наличие пометки
|
|
6
NikVars
19.08.14
✎
15:58
|
(5) Да. Именно.
|
|
7
Duke1C
20.08.14
✎
07:38
|
(5) Как проверить наличие метки? Типа так:
ЕстьМетка=0;
Для Сч=1 по СписокНаФорме.РазмерСписка() Цикл
Если СписокНаФорме.Пометка(Сч)=1 Тогда
ЕстьМетка=1;
Прервать;
КонецЕсли;
КонецЦикла;
Тогда ситуация из (4) не обнаружится
|
|