Добрый день! Есть обработка которая загружает в базу данные из Эксель, написанная другим сотрудником. Она загружает через таблицу значений. С ней все ок. У меня вопрос по тому, как меняются названия колонок в файле при загрузке. Например там есть колонки с пробелом, в каком то случае они преобразовываются в подчеркивание, в каком то просто убираются, не могу понять логику.
Спасибо!
Есть обработка которая загружает в базу данные из Эксель, написанная другим сотрудником. Она загружает через таблицу значений. С ней все ок. У меня вопрос по тому, как меняются названия колонок в файле при загрузке. Например там есть колонки с пробелом, в каком то случае они преобразовываются в подчеркивание, в каком то просто убираются, не могу понять логику.
там есть колонки с пробелом, в каком то случае они преобразовываются в подчеркивание, в каком то просто убираются
Минуточку, мы посмотрим в код обработки и все вам растолкуем.
не могу понять логику.
Потому, что это не женская логика, а логика программирования.
Женская логика - это рассказать (не показать!) об какой-то обработке, "написанной другим сотрудником", которую никто тут в глаза не видел и ждать объяснения ее работы.
Код по считыванию данных из эксель в таблицу значений
ТЗДанныеИзЭксель = Новый ТаблицаЗначений;
ТД = Новый ТабличныйДокумент;
ТД.Прочитать(ИмяФайлаЭксель);
ТЗДанныеИзЭксель = ТаблицаДанныхИзЭксель(ТД);
Функция ТаблицаДанныхИзЭксель
Функция ТаблицаДанныхИзФайла(ТД, Лист)
ПЗ = Новый ПостроительЗапроса;
ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТД.Область("Область"));
ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
ПЗ.ЗаполнитьНастройки();
ПЗ.Выполнить();
Возврат ПЗ.Результат.Выгрузить();
КонецФункции
Показать
И вот после всего этого в ТЗДанныеИзЭксель таблица с преобразованными колонками.
Например в эксель колонка называется - "Сроки для (для клиента) и не клиента". Преобразуется в Сроки_для_клиента_и_не_клиента.
А колонка "База для расчета" преобразуется в БазаДляРасчета.
Например в эксель колонка называется - "Сроки для (для клиента) и не клиента". Преобразуется в Сроки_для_клиента_и_не_клиента.
А колонка "База для расчета" преобразуется в БазаДляРасчета.
Ну вот, уже хоть какая-то конкретика.
Вероятнее всего, проблема в самом файле Excel - где-то обычные пробелы, а где-то - неразрывные. Или еще какие-нибудь визуально неотличимые от пробела символы, Excel богат на такие заморочки.
после всего этого в ТЗДанныеИзЭксель таблица с преобразованными колонками.
Например в эксель колонка называется - "Сроки для (для клиента) и не клиента". Преобразуется в Сроки_для_клиента_и_не_клиента.
А колонка "База для расчета" преобразуется в БазаДляРасчета.
ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТД.Область("Область"));
Ну вот же!!!! В построитель запроса запихнули область табличного документа, а он(построитель) там все сделал сам.
ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТД.Область("Область"));
Ну вот же!!!! В построитель запроса запихнули область табличного документа, а он(построитель) там все сделал сам.
А как этот построитель меняет названия колонок? Почему в некоторых случаях просто убирает символ, в некоторых меняет на подчеркивание?