Приветствую Вас, Гость
Главная » Примеры » Работа с Таблицей Значений

1c 7.7 [1] 1c 8.x [0]

В разделе примеров: 1
Показано примеров: 1-1

Процедура глВывестиТаблицуЗначений(ТаблицаЗначений, Заголовок = "") Экспорт
    Перем Таб, ИИ, ЖЖ, НазваниеКолонки, ТипКолонки, Ширина, Значение, Сообщение;
    
    Таб = СоздатьОбъект("Таблица");
    
    Если ТипЗначенияСтр(ТаблицаЗначений) <> "ТаблицаЗначений" Тогда
        Сообщение = "В процедуру ""глВывестиТаблицуЗначений()"" передана переменная не типа ""ТаблицаЗначений"", "+
        "а типа """+СокрЛП(ТипЗначенияСтр(ТаблицаЗначений))+"""";
        Таб.Область(1, 1, 1, 1).Текст = Сообщение;
        Таб.Область(1, 1, 1, 1).ШиринаСтолбца(СтрДлина(Сообщение));
       
        Таб.ТолькоПросмотр(1);
        Таб.Показать("Не таблица значений: "+Заголовок);
       
        Возврат;
    КонецЕсли;
    
    Для ЖЖ = 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);
    Таб.Показать("Таблица значений: "+Заголовок);
КонецПроцедуры
1c 7.7 | Просмотров: 3876 | Дата: 13.10.2011