Имя: Пароль:
1C
 
Форматирование числа в таблице значений возвращает только его первый символ
, ,
0 Vlaloplo
 
28.03.22
12:14
Доброго дня, столкнулся с какой то необъяснимой вещью, либо просто что то не вижу, сама суть: Есть таблица значений, которую я обхожу в цикле и привожу одно из значений (тип число) в формат без пробела (Было число 145 254, должна получится строка 145254), делаю так:
    Для каждого строка из ТаблицаДанных цикл
        строка.МоеЧисло= Формат(строка.МоеЧисло, "ЧГ=");
        КонецЦикла;
В отладке строка "Формат(строка.МоеЧисло, "ЧГ=")" показывает нужное значение, но после прохождения итерации, возвращает только первый символ..
1 hhhh
 
28.03.22
12:18
(0) функция формат возвращает не число.
2 ILM
 
гуру
28.03.22
12:19
Строка 1 символ м.б.? Формат из числа строку делает.
3 acht
 
28.03.22
12:20
(0) > строка.МоеЧисло= Формат(строка.МоеЧисло, "ЧГ=");
Тип у колонки МоеЧисло какой?
4 Vlaloplo
 
28.03.22
12:26
(1),(2), Прекрасно понимаю, что формат возвращает строку, поэтому и написал пример
5 Vlaloplo
 
28.03.22
12:26
(3) Число
6 Vlaloplo
 
28.03.22
12:27
В этом месте кода попробовал создать заново тестовую ТЗ
7 Vlaloplo
 
28.03.22
12:28
ТЗ = Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("Число1");
    
    Стр = ТЗ.Добавить();
    Стр.Число1 = Число(145258);
    
    Для каждого Строка из ТЗ цикл
        строка.Число1 = Формат(строка.Число1, "ЧГ=");
    КонецЦикла;
И все норм, из числа вышла строка и колонка поменяла свой тип
8 Vlaloplo
 
28.03.22
12:29
Хз почему в следующей ТЗ не делает тоже самое
9 acht
 
28.03.22
12:31
(5) > Число
Тогда объясни, что значит "но после прохождения итерации, возвращает только первый символ" для колонки с типом число.
10 Ненавижу 1С
 
гуру
28.03.22
12:32
(8) потому что колонка не типизирована
11 Vlaloplo
 
28.03.22
12:42
(9) К примеру: Строка.МоеЧисло из ТЗ содержит значение число - 785 658 (число), после форматирования Строка.МоеЧисло становится равно - "7" (строка), т.е берется только первый символ
12 Вафель
 
28.03.22
12:43
а какой тип у колонки "МоеЧисло "
13 Vlaloplo
 
28.03.22
12:43
(8) У этой колонки в ТипЗначения Строка, NUll,число
14 Вафель
 
28.03.22
12:44
(13) а длина строки какая?
15 Vlaloplo
 
28.03.22
12:44
(12), в (5) уже отвечал
16 acht
 
28.03.22
12:45
(13) И у строки и у числа есть квалификаторы, есличо.
17 Vlaloplo
 
28.03.22
12:45
(14) не программно задаю, выгружаю из результата запроса, как можно проверить?
18 Vlaloplo
 
28.03.22
12:46
Все, увидел))
19 Vlaloplo
 
28.03.22
12:46
Действительно длина строки 1 стоит
20 nodrama
 
28.03.22
14:01
А зачем формат?
Для каждого стр из ТЧ
стр.Число = СтрЗаменить(Стр.Число," ","");
КонецЦикла;
21 nodrama
 
28.03.22
14:06
Не не так туплю, а нельзя сразу в ТЗ, задать формат без пробелов?
Закон Брукера: Даже маленькая практика стоит большой теории.