Имя: Пароль:
1C
1C 7.7
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) не обнаружится