Выгрузка из Excel

1. user2069136 13.06.24 11:54 Сейчас в теме
Здравствуйте, такая проблема. Сделал выгрузку из Excel. При считывании файла, в колонках шапки Таблицы значений, пропадают пробелы, подскажите, как это исправить
_________________________________________________________
МассивУдаления = Новый Массив;
	ТЗ = Элементы.Найти("ТаблицаТоваров");    
	Если ТЗ <> Неопределено Тогда 
		МассивУдаления.Добавить("ТаблицаТоваров");   
		ИзменитьРеквизиты(, МассивУдаления);    
		Элементы.Удалить(ТЗ); 
	КонецЕсли;
	
	МассивТипаВыбора = Новый Массив;
	МассивТипаВыбора.Добавить(Тип("ТаблицаЗначений"));
	ОписаниеТипаВыбора = Новый ОписаниеТипов(МассивТипаВыбора);
	МассивРеквизитов = Новый Массив;
	МассивРеквизитов.Добавить(Новый РеквизитФормы("ТаблицаТоваров", ОписаниеТипаВыбора, "", "ТаблицаТоваров"));  
	Для Каждого Колонка Из Таблица.Колонки Цикл
		МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, "ТаблицаТоваров"));
	КонецЦикла; 
	
	ИзменитьРеквизиты(МассивРеквизитов);      
	ТаблицаПолейВыбора = Элементы.Добавить("ТаблицаТоваров", Тип("ТаблицаФормы"));
	ТаблицаПолейВыбора.ПутьКДанным = "ТаблицаТоваров";
	ТаблицаПолейВыбора.Отображение = ОтображениеТаблицы.Список;
	
	Для Каждого Колонка Из Таблица.Колонки Цикл
		НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), ТаблицаПолейВыбора);       
		НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
		НовыйЭлемент.ПутьКДанным = "ТаблицаТоваров." + Колонка.Имя;
		НовыйЭлемент.Ширина = 10;
	КонецЦикла;  
	
	ЗначениеВРеквизитФормы(Таблица, "ТаблицаТоваров"); 
Показать

____________________________________________________________­__
По теме из базы знаний
Найденные решения
9. soft_wind 13.06.24 17:37 Сейчас в теме
я наверное совсем тупой,

- а зачем тогда программированием заниматься
в вашем коде нет как получаете Таблица, и как в ней создаете Колонки,
тогда где-то при чтении данных из Екселя, надо сохранять настоящие/оригинальные наименования колонок в заголовках.

	Для Каждого Колонка Из Таблица.Колонки Цикл
        НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), ТаблицаПолейВыбора);       
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлемент.ПутьКДанным = "ТаблицаТоваров." + Колонка.Имя;
        НовыйЭлемент.Ширина = 10;
        НовыйЭлемент.Заголовок = Колонка.Заголовок; //установка заголовка
    КонецЦикла;  
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. polax 13.06.24 13:21 Сейчас в теме
(1)
подскажите, как это исправить

Указать заголовок колонки
3. user2069136 13.06.24 14:12 Сейчас в теме
(2) А как именно это сделать, я заголовок колонок получаю из документа по первой строчке
8. polax 13.06.24 17:11 Сейчас в теме
(3)
я заголовок колонок получаю из документа по первой строчке

Получаешь ты не заголовок колонки, а имя колонки (имя реквизита таблицы). Имя НЕ может быть с пробелом. Поэтому пробелы убираются или замещаются нижним подчеркиванием. Заголовок - может быть с пробелами. Бери Колонка.Имя и средствами работы со строкой (поиск _ и замена на пробел) готовь заголовок, а потом как в (5)
4. romulanin 13.06.24 14:35 Сейчас в теме
например добавить пробел в заголовок Новый РеквизитФормы("ТаблицаТоваров", ОписаниеТипаВыбора, "", "ТаблицаТоваров"));
5. soft_wind 13.06.24 14:51 Сейчас в теме
добавьте команду

НовыйЭлемент.Заголовок = лкЗаголовок; //из Екселя
6. user2069136 13.06.24 16:09 Сейчас в теме
Мужики, я наверное совсем тупой, у меня ничего не получается. Можете поподробнее объяснить
9. soft_wind 13.06.24 17:37 Сейчас в теме
я наверное совсем тупой,

- а зачем тогда программированием заниматься
в вашем коде нет как получаете Таблица, и как в ней создаете Колонки,
тогда где-то при чтении данных из Екселя, надо сохранять настоящие/оригинальные наименования колонок в заголовках.

	Для Каждого Колонка Из Таблица.Колонки Цикл
        НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), ТаблицаПолейВыбора);       
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлемент.ПутьКДанным = "ТаблицаТоваров." + Колонка.Имя;
        НовыйЭлемент.Ширина = 10;
        НовыйЭлемент.Заголовок = Колонка.Заголовок; //установка заголовка
    КонецЦикла;  
Показать
Оставьте свое сообщение

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