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

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 Тогда
                    Табл.УстановитьЗначение(ТекПоз, ТекКол, Объект);
                КонецЕсли;                
            КонецЕсли;
        КонецЕсли;
        
КонецПроцедуры


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