Имя: Пароль:
1C
1С v8
СКД поменять заголовок полей в макете
0 lucifer
 
05.04.13
18:05
я имею ввиду это
http://fscreen.ru/gallery/05-04-17-59_1019341.jpg
Нужно в run-time программно поменять их.

У меня УФ, пробовал так:
Отчеты.Свод.ПолучитьМакет("Макет").НаборыДанных.НаборДанных1.Запрос = измененный запрос;

ему пофиг, хоть вообще стирай текст запроса
Отчеты.Свод.ПолучитьМакет("Макет").НаборыДанных.НаборДанных1.Запрос = "";

Пробовал еще так:
циклом по
Отчеты.Свод.ПолучитьМакет("Макет").НаборыДанных.НаборДанных1.Поля;
Но поля в данном случаи только для чтения
1 ChAlex
 
05.04.13
19:59
А нафиг?
2 Безработный 1Сник
 
05.04.13
20:18
(0) А что хочешь присвоить?
3 banco
 
05.04.13
20:23
Для Каждого ПолеНабораДанных Из СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Поля Цикл
   Если ТипЗнч(ПолеНабораДанных) = Тип("ПолеНабораДанныхСхемыКомпоновкиДанных") Тогда
       ПолеНабораДанных.Заголовок = "новый заголовок";
           КонецЕсли;
       КонецЕсли;
КонецЦикла;
4 lucifer
 
06.04.13
14:11
(3) не работает, пробовал
5 lucifer
 
08.04.13
09:35
up.....
6 Defender aka LINN
 
08.04.13
09:43
В настройках меняй
7 lucifer
 
08.04.13
14:07
а можно ли поменять запрос СКД программно? А то я меняю, а отчет изменений не видит
Отчеты.Свод.ПолучитьМакет("Макет").НаборыДанных.НаборДанных1.Запрос = "";
8 Defender aka LINN
 
08.04.13
14:23
(7) А с чего ему меняться?
У отчета можно схему компоновки поменять
9 lucifer
 
08.04.13
15:42
хотя нет, изменение текста запроса мне не поможет, мне именно надо заголовок поменять.

Ну так что не как?

(6) мне надо в рантайме
10 lucifer
 
08.04.13
15:44
кстате насчет изменения текста запроса помогла ветка
v8: Программно изменить запрос в СКД в управляемой форме 8.2
Работает, но мне не помогло
11 Kondarat
 
08.04.13
15:50
В ПриКомпоновкеРезультата()

   НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Найти("НаборДанных1");
   ПолеКомпоновкиДанных = НаборДанных.Поля.Найти("Период");
   
   
   Если РазверткаПоГоризонтали = "День" Тогда
       
        ВыражениеПредставления = "Формат (Период, ""ДФ=дММММгггг'г.'"")";
       
    ИначеЕсли РазверткаПоГоризонтали = "Неделя" Тогда    
       
        ВыражениеПредставления = "";
       
   ИначеЕсли РазверткаПоГоризонтали = "Месяц" Тогда        
       
       ВыражениеПредставления = "Формат (Период, ""ДФ=ММММгггг'г.'"")";
       
   ИначеЕсли РазверткаПоГоризонтали = "Квартал" Тогда        
       
       ВыражениеПредставления = "Формат (Период, ""ДФ=к'квартал'гггг'г.'"")";
       
   ИначеЕсли РазверткаПоГоризонтали = "Год" Тогда        
       
       ВыражениеПредставления = "Формат (Период, ""ДФ=гггг'г.'"")";
       
   КонецЕсли;    
   
   ПолеКомпоновкиДанных.ВыражениеПредставления = ВыражениеПредставления;
12 lucifer
 
08.04.13
15:59
все как оказалась проще некуда, в модуле объекта пишем

Поле = СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Поля.Найти("ИмяИскомогоПоля");
Поле.Заголовок = "ТЕСТ";

и все.

Всем спасибо.
13 lucifer
 
08.04.13
15:59
(12) + событие ПриКомпоновкеРезультата