Не определяется тип колонки таблицы значений

1. user1671936 1 16.04.24 16:48 Сейчас в теме
Здравствуйте. Помогите, пожалуйста, разобраться, как получить тип колонки из таблицы значений. Есть массив, содержащий таблицы значений, колонки первой таблицы из массива Наименование(тип строка), Количество(тип число), Сумма(тип число), Безнал(булево), Проект(булево). Все колонки попадают в КолонкиГруппировки. Подскажите, пожалуйста, что не так делаю?

Для Каждого Таблица Из МассивТаблиц Цикл
		КолонкиГруппировки = Новый Массив;
		КолонкиСуммирования = Новый Массив;
		
		Для Каждого Колонка Из Таблица.Колонки Цикл
			Если Колонка.ТипЗначения.СодержитТип(Тип("Число")) Тогда
				КолонкиСуммирования.Добавить(Колонка.Имя);
			Иначе
				КолонкиГруппировки.Добавить(Колонка.Имя);
			КонецЕсли;
		КонецЦикла;
		КолонкиГруппировки = СтрСоединить(КолонкиГруппировки, ", ");
		КолонкиСуммирования = СтрСоединить(КолонкиСуммирования, ", ");
Таблица.Свернуть(КолонкиГруппировки, КолонкиСуммирования);
КонецЦикла;
Показать
По теме из базы знаний
Найденные решения
6. user1671936 1 17.04.24 08:33 Сейчас в теме
(5) Типизирована, все таблицы создаются с описанием типов колонок.
Таблица.Колонки.Добавить("Итого", Число10_2);
. В общем сделал через проверку значения колонки
 Если ТипЗнч(Таблица[0][Колонка.Имя])  = Тип("Число") Тогда
15. user1671936 1 18.04.24 08:29 Сейчас в теме
(14)почистил кэш, заработало. Всем спасибо.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 35 16.04.24 16:56 Сейчас в теме
(1) Под отладкой остановись и посмотри, почему не выполняется условие для каждой колонки.
3. user1671936 1 16.04.24 17:02 Сейчас в теме
(2) останавливался, Колонка.ТипЗначения.СодержитТип(Тип("Число")) Ложь, тут же проверяю ТипЗнч(Таблица[0][Колонка.Имя]) показывает тип число.
4. user1671936 1 16.04.24 17:04 Сейчас в теме
(3) И такая проверка ТипЗнч(Таблица[0][Колонка.Имя]) = Тип("Число") Истина.
5. spacecraft 16.04.24 18:00 Сейчас в теме
(3)
Колонка.ТипЗначения.СодержитТип(Тип("Число")) Ложь

скорее всего ТЗ не типизирована.
При создании колонок не был указан тип.

(3)
ТипЗнч(Таблица[0][Колонка.Имя]) показывает тип число.

это показывает тип значения конкретной ячейки.
Для не типизированной колонки ТЗ или составного типа, для разных ячеек одной и той же колонки может быть разный тип.
6. user1671936 1 17.04.24 08:33 Сейчас в теме
(5) Типизирована, все таблицы создаются с описанием типов колонок.
Таблица.Колонки.Добавить("Итого", Число10_2);
. В общем сделал через проверку значения колонки
 Если ТипЗнч(Таблица[0][Колонка.Имя])  = Тип("Число") Тогда
7. Sashares 35 17.04.24 09:28 Сейчас в теме
(6)Учтите в коде, что если в таблице нет ни одной строки будет ошибка.
10. user1671936 1 17.04.24 10:22 Сейчас в теме
(7)да, я перед этим кодом проверку добавил, на таблица.Количество() > 0. Спасибо
8. spacecraft 17.04.24 09:33 Сейчас в теме
(6)
Типизирована, все таблицы создаются с описанием типов колонок.

Это легко проверить.
В отладчике посмотрите:
Колонка.ТипЗначения

Если будет Неопределено (отображается пустое значение), значит колонка не типизирована.
11. user1671936 1 17.04.24 10:38 Сейчас в теме
(8)
В отладчике посмотрите:
Прикрепленные файлы:
9. user1880116 17.04.24 09:52 Сейчас в теме
(6)
Типизирована, все таблицы создаются с описанием типов колонок.
Кажется, одна из черпашек, как всегда...
Таблица = Новый ТаблицаЗначений;
Колонка = Таблица.Колонки.Добавить("Итого", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(10, 2)));

Сообщить(Колонка.ТипЗначения.СодержитТип(Тип("Число")));
12. user1671936 1 17.04.24 10:42 Сейчас в теме
(9)
КвалификаторыЧисла = Новый КвалификаторыЧисла(10, 2, ДопустимыйЗнак.Любой);
    Число10_2 = Новый ОписаниеТипов("Число", КвалификаторыЧисла);
	Таблица = Новый ТаблицаЗначений;
	Таблица.Колонки.Добавить("Итого", Число10_2);
Прикрепленные файлы:
13. user1671936 1 17.04.24 10:48 Сейчас в теме
Поискал в коде, думал где-то таблица пересоздается с другими типами колонок, ничего не нашел. Заполняется из запроса, с помощью
ЗаполнитьЗначенияСвойств(Таблица.Добавить(), СтрокаЗапроса)
14. user1671936 1 17.04.24 10:51 Сейчас в теме
Попробую позже кэш почистить, может в нем дело.
15. user1671936 1 18.04.24 08:29 Сейчас в теме
(14)почистил кэш, заработало. Всем спасибо.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот