Имя: Пароль:
1C
1C 7.7
v7: Таблица значений в отладчике
0 brato4karik
 
14.02.12
15:31
Добрый день, напомните пожалуйста команду(метод) для переменных типа таблица значений в отладчике. В окне выражений(shift+F9) ТЗ."что то" в результате в окне режима Предприятия можно просмотреть содержимое таблицы значений
1 Господин ПЖ
 
14.02.12
15:32
.ВыбратьСтроку()
2 M0narch
 
14.02.12
15:32
а разве есть такая команда
3 zak555
 
14.02.12
15:32
вызов мега-своей универсальной обработке, в которой и будет ТЗ =)
4 M0narch
 
14.02.12
15:33
это к (0)
5 M0narch
 
14.02.12
15:34
поддерживаю (3)
6 Zhuravlik
 
14.02.12
15:36
А лучше вставить в глобальный модуль такую процедурку



Процедура НаЭкран(Матрица, Заголовок = "")
   Перем Таб, ИИ, ЖЖ, НазваниеКолонки, ТипКолонки, Ширина, Значение, Сообщение;
   Таб = СоздатьОбъект("Таблица");
   Если ТипЗначенияСтр(Матрица) = "ТаблицаЗначений" Тогда
       Для ЖЖ = 1 по Матрица.КоличествоКолонок() цикл
           Матрица.ПолучитьПараметрыКолонки(ЖЖ,,,, НазваниеКолонки);
           Таб.Область(1, ЖЖ, 1, ЖЖ).Текст = СокрЛП(НазваниеКолонки);
           Таб.Область(1, ЖЖ, 1, ЖЖ).РамкаОбвести(5, 5, 5, 5);
           Таб.Область(1, ЖЖ, 1, ЖЖ).ВертикальноеПоложение(3);
           Таб.Область(1, ЖЖ, 1, ЖЖ).ГоризонтальноеПоложение(3);
           Таб.Область(1, ЖЖ, 1, ЖЖ).РазмерШрифта(7);
           Таб.Область(1, ЖЖ, 1, ЖЖ).Полужирный(1);
           Ширина = Таб.Область(1, ЖЖ, 1, ЖЖ).ШиринаСтолбца();
           Ширина = Макс(Ширина, СтрДлина(СокрЛП(НазваниеКолонки)));
           Таб.Область(1, ЖЖ, 1, ЖЖ).ШиринаСтолбца(Ширина);
       КонецЦикла;
       Для ИИ = 1 по Матрица.КоличествоСтрок() цикл
           Для ЖЖ = 1 по Матрица.КоличествоКолонок() цикл
               Значение = Матрица.ПолучитьЗначение(ИИ, ЖЖ);
               Таб.Область(ИИ+1, ЖЖ, ИИ+1, ЖЖ).Текст = Значение;
               Таб.Область(ИИ+1, ЖЖ, ИИ+1, ЖЖ).Расшифровка(Значение, 0);
               Таб.Область(ИИ+1, ЖЖ, ИИ+1, ЖЖ).РамкаОбвести(3, 0, 3, 0);
               Ширина = Таб.Область(1, ЖЖ, 1, ЖЖ).ШиринаСтолбца();
               Ширина = Макс(Ширина, СтрДлина(СокрЛП(Строка(Значение))));
               Таб.Область(1, ЖЖ, 1, ЖЖ).ШиринаСтолбца(Ширина);
               Матрица.ПолучитьПараметрыКолонки(ЖЖ, ТипКолонки); ;
               Если ТипКолонки = "Число" тогда
                   Таб.Область(ИИ+1, ЖЖ, ИИ+1, ЖЖ).ГоризонтальноеПоложение(2);
               КонецЕсли;
               Если ИИ = Матрица.ТекущаяСтрока() тогда
                   Таб.Область(ИИ+1, ЖЖ, ИИ+1, ЖЖ).ЦветФона(255, 0, 0);
               КонецЕсли;
           КонецЦикла;
       КонецЦикла;
   КонецЕсли;
   
   Если ТипЗначенияСтр(Матрица) = "СписокЗначений" Тогда

       Таб.Область(1, 1).Текст = "Пометка";
       Таб.Область(1, 1).РамкаОбвести(5, 5, 5, 5);
       Таб.Область(1, 1).ВертикальноеПоложение(3);
       Таб.Область(1, 1).ГоризонтальноеПоложение(3);
       Таб.Область(1, 1).РазмерШрифта(7);
       Таб.Область(1, 1).Полужирный(1);        
       
       Таб.Область(1, 2).Текст = "Значение";
       Таб.Область(1, 2).РамкаОбвести(5, 5, 5, 5);
       Таб.Область(1, 2).ВертикальноеПоложение(3);
       Таб.Область(1, 2).ГоризонтальноеПоложение(3);
       Таб.Область(1, 2).РазмерШрифта(7);
       Таб.Область(1, 2).Полужирный(1);
       
       Таб.Область(1, 3).Текст = "Представление";
       Таб.Область(1, 3).РамкаОбвести(5, 5, 5, 5);
       Таб.Область(1, 3).ВертикальноеПоложение(3);
       Таб.Область(1, 3).ГоризонтальноеПоложение(3);
       Таб.Область(1, 3).РазмерШрифта(7);
       Таб.Область(1, 3).Полужирный(1);        
   
       МаксДЛ_1 = СтрДлина("Значение");
       МаксДЛ_2 = СтрДлина("Представление");    
       
           Для сч=1 По Матрица.РазмерСписка() Цикл
               
               Представление = "";
               Значение = Матрица.ПолучитьЗначение(сч, Представление);
               Пометка = ?(Матрица.Пометка(сч) = 1,"Х","");

               Таб.Область(сч+1, 1).Текст = Пометка;
               Таб.Область(сч+1, 1).Расшифровка(Значение, 0);
               Таб.Область(сч+1, 1).РамкаОбвести(3, 3, 3, 3);
               Таб.Область(сч+1, 1).ВертикальноеПоложение(3);
               Таб.Область(сч+1, 1).ГоризонтальноеПоложение(3);
               Таб.Область(сч+1, 1).РазмерШрифта(7);
               Таб.Область(сч+1, 1).Полужирный(1);                
               
               Таб.Область(сч+1, 2).Текст = Значение;
               Таб.Область(сч+1, 2).Расшифровка(Значение, 0);
               Таб.Область(сч+1, 2).РамкаОбвести(3, 3, 3, 3);
               Таб.Область(сч+1, 2).ВертикальноеПоложение(3);
               Таб.Область(сч+1, 2).ГоризонтальноеПоложение(1);
               Таб.Область(сч+1, 2).РазмерШрифта(7);
               Таб.Область(сч+1, 2).Полужирный(1);
               
               Таб.Область(сч+1, 3).Текст = Представление;
               Таб.Область(сч+1, 3).РамкаОбвести(3, 3, 3, 3);
               Таб.Область(сч+1, 3).ВертикальноеПоложение(3);
               Таб.Область(сч+1, 3).ГоризонтальноеПоложение(3);
               Таб.Область(сч+1, 3).РазмерШрифта(7);
               Таб.Область(сч+1, 3).Полужирный(1);            
               
               Если СтрДлина(Значение) > МаксДЛ_1 Тогда
                   МаксДЛ_1 = СтрДлина(Значение);
               КонецЕсли;
               Если СтрДлина(Представление) > МаксДЛ_2 Тогда
                   МаксДЛ_2 = СтрДлина(Представление);
               КонецЕсли;            
           КонецЦикла;
           
           ТАб.Область(,2).ШиринаСтолбца(МаксДЛ_1);
           ТАб.Область(,3).ШиринаСтолбца(МаксДЛ_2);
   КонецЕсли;
       
   ТАб.ТолькоПросмотр(1);
   
   Заголовок = ?(ПустоеЗначение(Заголовок) = 1, "", " - " + Заголовок);
   Таб.Опции(0,0,1,0);
   ТАб.Показать(ТипЗначенияСтр(Матрица) + Заголовок);
   
КонецПроцедуры




И вызывать ее. Гораздо удобней, чем ВыбратьСтроку() =)
7 brato4karik
 
14.02.12
15:39
Спасибо Господин ПЖ, запамятовал совсем