Вход | Регистрация

1С:Предприятие ::

Метки: коллекции значений

Работа с таблицей значений

Я
   Новичок
29.05.04 - 11:58
Не могу разобраться с таблицей значений.
Как можно отловить интерактивный выбор(по двойному клику) элемента в таблице значений на форме документа, если эта таблица значений является просто элементом диалога?
 
 
   Волшебник
 
1 - 29.05.04 - 12:00
Пропиши ей формулу в свойствах.
В процедуре проверь текущую строку и колонку.
   Композитор
 
3 - 29.05.04 - 12:38
Простой пример
Процедура м_глПриДвойномКликеМышки(Табл) Экспорт
Перем ТекПоз;
Перем ТекКол;
Перем Значение;
Перем Список;
        ТекПоз = Табл.ТекущаяСтрока();
        Если ТекПоз = 0 Тогда
            Возврат;
        КонецЕсли;                 
        ТекКол = Табл.ТекущаяКолонка();
        Если ТекКол="Пометка" Тогда
            Пом = Табл.ПолучитьЗначение(ТекПоз,"Пометка");
            Пом = ?(Пом = 1,2,1);
            Табл.УстановитьЗначение(ТекПоз,"Пометка",Пом);
        ИначеЕсли ТекКол = "Период" Тогда 
            КолКол = Табл.КоличествоКолонок();
            ПрДн = 0;
            ПрДК = 0;
            Для Индекс = 1 по КолКол Цикл
                Если (Табл.ПолучитьПараметрыКолонки(Индекс) = "ДатаНачала") Тогда
                    ПрДН = 1;
                КонецЕсли;
                Если (Табл.ПолучитьПараметрыКолонки(Индекс) = "ДатаКонца") Тогда
                    ПрДК = 1;
                КонецЕсли;
            КонецЦикла;
            Если (ПрДН = 1)И(ПрДК = 1) Тогда
                    ДатаНачала= Табл.ПолучитьЗначение(ТекПоз, "ДатаНачала");
                    ДатаКонца= Табл.ПолучитьЗначение(ТекПоз, "ДатаКонца");
                    ВвестиПериод(ДатаНачала,ДатаКонца);
                    Табл.УстановитьЗначение(ТекПоз, "ДатаНачала",ДатаНачала);
                    Табл.УстановитьЗначение(ТекПоз, "ДатаКонца", ДатаКонца);
            КонецЕсли;        
        Иначе 
            Объект = Табл.ПолучитьЗначение(ТекПоз, ТекКол);
            ТипЗнач = ТипЗначенияСтр(Объект);
            Если  ТипЗнач = "Строка" Тогда 
                Если ВвестиСтроку(Объект,"Введите значение",256) = 1 Тогда
                    Табл.УстановитьЗначение(ТекПоз, ТекКол, СокрЛп(Объект));
                КонецЕсли;    
            ИначеЕсли ТипЗнач = "Число" Тогда 
                Если ВвестиЧисло(Объект,"Введите значение",15,2) = 1 Тогда
                    Табл.УстановитьЗначение(ТекПоз, ТекКол, Объект);
                КонецЕсли;    
            ИначеЕсли ТипЗнач = "Дата" Тогда    
                Если ВвестиДату(Объект,"Введите значение") = 1 Тогда
                    Табл.УстановитьЗначение(ТекПоз, ТекКол, Объект);
                КонецЕсли;    
            ИначеЕсли ТипЗнач = "Перечисление" Тогда    
                Если ВвестиПеречисление(Объект,"Введите значение") = 1 Тогда
                    Табл.УстановитьЗначение(ТекПоз, ТекКол, Объект);
                КонецЕсли;                
            ИначеЕсли ТипЗнач = "ТаблицаЗначений" Тогда    
                ОткрытьФорму("Обработка.М_РедактироватьТЗ",Объект);
            ИначеЕсли ТипЗнач = "ТаблицаЗначений" Тогда    
                ОткрытьФорму("Обработка.М_РедактироватьСЗ",Объект);
            ИначеЕсли ТипЗнач = "Справочник" Тогда    
                ОткрытьФормуМодально(Объект);       
            ИначеЕсли ТипЗнач = "Документ" Тогда    
                ОткрытьФормуМодально(Объект);
            Иначе 
                Если ВвестиЗначение(Объект,"Введите значение",ТипЗнач) = 1 Тогда
                    Табл.УстановитьЗначение(ТекПоз, ТекКол, Объект);
                КонецЕсли;                
            КонецЕсли;
        КонецЕсли;
        
КонецПроцедуры


Список тем форума
Рекламное место пустует  
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует