|
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
|
Спасибо Господин ПЖ, запамятовал совсем
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |