Имя: Пароль:
1C
1С v8
Неверное имя колонки при создании колонок в тз
,
0 JuixyJes
 
19.09.19
10:56
Нужно в цикле создать колонки в тз для последующей выгрузки тз в табличную часть, но

    КолвоДней =  (отчет.Период.ДатаОкончания-Отчет.Период.ДатаНачала)/24/60/60;
    ТЗ = Новый ТаблицаЗначений;
    Для н = 1 по КолвоДней Цикл
        ТЗ.Колонки.Добавить(Строка(н));
    КонецЦикла;
    Отчет.ТЧ_Номера.Загрузить(ТЗ);

Неверное имя колонки
1 Amra
 
19.09.19
10:58
ТИя колонки не может состоять из олних цифр
2 Amra
 
19.09.19
10:58
*Имя
3 novichok79
 
19.09.19
10:59
значит имя колонки содержит пробелы или другие символы. такие ошибки проверяются отладчиком влегкую, зачем на мисте это?
4 elCust
 
19.09.19
10:59
Сделай так "_" + Формат(н, "ЧГ=0")
5 JuixyJes
 
19.09.19
11:03
Тогда как мне добавить в ТЗ столько колонок сколько дней в месяце с именами по типу "1 авг 19" и тд?
6 GROOVY
 
19.09.19
11:05
(5) Никак.
7 ДенисЧ
 
19.09.19
11:05
(5) тз.Колонки.Добавить("дт" + Формат(твояДата, "ДФ=ГГГГММДД");
8 Franchiser
 
гуру
19.09.19
11:08
_1_авг_19
9 Масянька
 
19.09.19
11:10
(1) А точка не считается?
10 JuixyJes
 
19.09.19
11:24
Так, с добавлением разобралась, а как выгрузить в ТЧ колонки?
11 JuixyJes
 
19.09.19
11:33
Ибо у меня не получалось создавать колонки в тч сразу
12 sqr4
 
19.09.19
11:34
(0) да надо нумератор делать для колонок, а заголовок делать каким угодно.
13 JuixyJes
 
19.09.19
11:36
(12) это я уже смогла сделать) но все равно спасибо) Так как колонки из ТЗ выгрузить в ТЧ или же создать колонки сразу в ТЧ?
14 sqr4
 
19.09.19
11:36
(11) два миллиона статей, совсем недавно была унифицированнная статья по добавлению реквизитов на форму в т.ч и в тч
15 Михаил Козлов
 
19.09.19
11:37
(10) В ТЧ завести реквизит ДатаЧегоТо, добавить строки для всех дат из ТЗ и в ТЧ помещать значение из соответствующей колонки ТЗ
16 JeHer
 
19.09.19
11:38
(13) ЗначениеВРеквизитФормы()
17 JuixyJes
 
19.09.19
11:39
В строки мне нужно добавить все номера, а в колонки все дни)
18 elCust
 
19.09.19
11:39
Примерно так

Массив = Новый Массив;
Массив.Добавить(Тип("Булево"));
ОписаниеТипаПометка=Новый ОписаниеТипов(Массив);    
ТЧ.Колонки.Добавить("Выбран", ОписаниеТипаПометка);
      
ЭлементыФормы.ТЧ.СоздатьКолонки();
19 novichok79
 
19.09.19
13:12
(17) офигенный бизнес-план. так делайте.
20 JuixyJes
 
19.09.19
14:44
Так, как добавить в колонки все дни месяца используя скд?
21 JuixyJes
 
19.09.19
14:54
Задача такая:

Нужно сделать отчет, используемый пожарными. Колонки - дни месяца, Строки - номера.
Заполнение такое:
Для каждого номера в каждый день нужно проставить загруженность, а именно сколько человек в тот день там было.
22 GROOVY
 
19.09.19
15:13
23 sqr4
 
19.09.19
15:15
(20) да все гуглится или регистр сведений специальный или супер запрос который это сделает
24 GROOVY
 
19.09.19
15:21
(23) Да ладно. Вот мой запрос :)

ВЫБРАТЬ
    ДАТАВРЕМЯ(2019, 1, 1, 0, 0, 0) КАК Поле1
25 JuixyJes
 
19.09.19
15:24
(24) Ну так то и я могла :D Мне же нужны все даты текущего месяца, задаваемые стандартным периодом
26 JuixyJes
 
19.09.19
15:25
(24) Да нууу, сам Чистов Павел?)
27 GROOVY
 
19.09.19
15:28
(25) в (22) что не так? У меня все даты с 01.01 по 31.12
28 GROOVY
 
19.09.19
15:29
29 D_E_S_131
 
19.09.19
15:29
"нужно проставить загруженность" - а эта инфа где хранится?
30 JuixyJes
 
19.09.19
15:41
(29) в РС загруженностьНФ есть измерение НомерПроживания, если допустим в период проживания попадает 1.09.19 и у двух разных людей одинаковый номер (жить могут в разных комнатах/койках но в одном номере) то тогда в тот день там живет 2 человека, иначе 1. Если загруженности нет то соответственно 0
31 JuixyJes
 
19.09.19
15:43
(28) а у меня в настройках нет начальной даты периода
32 JuixyJes
 
19.09.19
16:08
никто не поможет?
33 sqr4
 
19.09.19
16:20
(32) запрос показывай, это же не сиськи, можно и выложить
34 JuixyJes
 
19.09.19
16:25
(22) (24) (28) мне пока хотя бы этого добиться
35 sqr4
 
19.09.19
16:27
ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d) КАК Период
ИЗ
    (ВЫБРАТЬ
        0 КАК a
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        1
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        2
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        3
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        4
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        5
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        6
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        7
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        8
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        9) КАК aa
        ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            0 КАК b
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            1
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            2
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            3
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            4
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            5
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            6
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            7
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            8
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            9) КАК bb
        ПО (ИСТИНА)
        ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            0 КАК c
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            1
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            2
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            3
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            4
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            5
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            6
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            7
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            8
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            9) КАК cc
        ПО (ИСТИНА)
        ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            0 КАК d
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            1
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            2
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            3
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            4
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            5
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            6
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            7
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            8
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            9) КАК dd
        ПО (ИСТИНА)
ГДЕ
    aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d <= РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ)
36 JuixyJes
 
20.09.19
10:14
Так, я решила все же без СКД все сделать, ибо с тз проще работать, как для меня. Возник новый вопрос.

Вот как в ТЗ вылядит табличка. https://priscree.ru/img/57d218a2611e3f.jpg

А вот как выгруженная в ТабДок тз https://priscree.ru/img/adf880b921ed12.jpg

выгружала вот так

ТабДок = Новый ТабличныйДокумент;
    Построитель = Новый ПостроительОтчета;
    Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(ТЗ);
    Построитель.Вывести(ТабДок);
    Отчет.Таблица.Вывести(ТабДок);

Итак вопрос, как выгрузить ТЗ так как на 1 скрине?
37 ДенисЧ
 
20.09.19
10:37
Заголовоки колонкам приписать? Не только имена дать, но и заголовки?
38 palsergeich
 
20.09.19
10:41
(36) Для этого надо написать код)
А с СКД рано или поздно придется близко познакомиться, ИМХО на такой задаче самое то
39 JeHer
 
20.09.19
10:59
(36)>>>я решила все же без СКД все сделать
Ээх, всё уже подсказали, а она всё равно уперлась. На СКД это делается за 5 минут.
40 JuixyJes
 
20.09.19
11:35
(38) так, как это сделать я поняла, новый вопрос, вот у меня в тз есть колонка Номер и колонки День1-ДеньХ(Х - последний день месяца). Как мне обратиться к значению строки в колонке по индексу колонки?
41 JuixyJes
 
20.09.19
11:36
Пыталась так, не вышло


Для каждого стр из ТЗ цикл
        Для н = 1 по КолвоДней+1 цикл
            Запрос = Новый Запрос;
            Запрос.Текст =
            "ВЫБРАТЬ
            |    ПП_ДляПожарныхОбороты.Организация КАК Организация,
            |    ПП_ДляПожарныхОбороты.Номер КАК Номер,
            |    ПП_ДляПожарныхОбороты.ДатаЗаселения КАК ДатаЗаселения,
            |    ПП_ДляПожарныхОбороты.ДатаВыезда КАК ДатаВыезда,
            |    ПП_ДляПожарныхОбороты.КоличествоЧеловекОборот КАК КоличествоЧеловекОборот
            |ИЗ
            |    РегистрНакопления.ПП_ДляПожарных.Обороты КАК ПП_ДляПожарныхОбороты
            |ГДЕ
            |    &Дата МЕЖДУ ПП_ДляПожарныхОбороты.ДатаЗаселения И ПП_ДляПожарныхОбороты.ДатаВыезда
            |    И ПП_ДляПожарныхОбороты.Организация = &Организация";
            
            Запрос.УстановитьПараметр("Дата", (Отчет.Период.ДатаНачала+ (н-1)*(24*60*60)));
            Запрос.УстановитьПараметр("Организация", Отчет.Организация);
            
            РезультатЗапроса = Запрос.Выполнить();
            
            ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
            
            стр.День[н] = ВыборкаДетальныеЗаписи.Количество();            
            
        КонецЦикла;
    КонецЦикла;
42 palsergeich
 
20.09.19
11:37
(40) ТЗ[номер строки][номерколонки]
Как вариант или если это строка ТЗ тогда
СтрокаТЗ[номерКолонки]
Нумерация с 0
43 palsergeich
 
20.09.19
11:38
К колонке можно обращаться не только по имени но и по индексу
44 JuixyJes
 
20.09.19
11:51
(43) Спасибо, а теперь не могли бы вы подсказать, как обвести ячейки, в которых есть данные?
45 JuixyJes
 
20.09.19
11:51
https://priscree.ru/img/8b3ec97ffc8c0f.jpg

а то у меня вот так отображается
46 palsergeich
 
20.09.19
11:54
(45) Простым перебором табдока.
Там есть свойство граница - юзай его.
47 JeHer
 
20.09.19
11:55
Мыло засветите. Отправлю пример отчета, если советы от ажна Чистова не заходят
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший