OneS
OneS copied to clipboard
Объединенная ячейка и таблица значений построителем отчетов
Дано - файл XLS, который нужно загрузить в 1С. В файле имеются объединенные вертикально ячейки (файл прилагается) - "№ ТТН". ИменаЛистов.xls
Файл считывается через табличный документ
ТабДокумент= Новый ТабличныйДокумент; ТабДокумент.Прочитать(ИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение);
И далее через построитель отчета получаем таблицу значений `Функция ПреобразоватьТабличныйДокументВТаблицуЗначений(ТабДокумент)
ОбластьЯчеек = ТабДокумент.Область(1, 1, ТабДокумент.ВысотаТаблицы, ТабДокумент.ШиринаТаблицы);
ИсточникДанных = Новый ОписаниеИсточникаДанных(ОбластьЯчеек);
ПостроительОтчета = Новый ПостроительОтчета;
ПостроительОтчета.ИсточникДанных = ИсточникДанных;
ПостроительОтчета.Выполнить();
Результат = ПостроительОтчета.Результат.Выгрузить();
Возврат Результат;
КонецФункции`
На момент возврата таблицы видим, что в табличном документе в нужной ячейке присутствует искомое значение "681".
А вот в результате - только "6".
Попытка манипуляции типом колонки к нужному результату не приводит.
Если читать документ без указания СпособЧтенияЗначенийТабличногоДокумента - то указанного поведения не наблюдается, но при этом теряется возможность получать готовые даты и числа, отформатированные в диковинные форматы.
Приложил обработку.
ЗагрузкаXLS.zip
Выбираем как загружать - текстом или значениями. Выбираем приложенный ранее файл - смотрим результат
В случае значений - "номер ТН и "вес итого" - обрезаны.
В случае текста - дату восстановить невозможно.
Проверялось на версиях платформы: 8.3.21.1622 и 8.3.23.1688
Нужна внешняя обработка и описание где ее запускать и что в ней нажимать. Также нужно сделать вывод результата в окно сообщений, чтобы минимизировать количество действий для проверки проблемы. Файл XLS должен разворачиваться и загружаться из макета внешней обработки. Отдельно он тоже нужен.
ЗагрузкаXLS.zip
Приложил обработку.
Выбираем как загружать - текстом или значениями. Выбираем приложенный ранее файл - смотрим результат
В случае значений - "номер ТН и "вес итого" - обрезаны.
В случае текста - дату восстановить невозможно.
Нужно сделать ОДНО описание без размазывания на куски, чтобы я просто скопировал текст и вставил в письмо. Используй команду "Edit" для дополнения первого сообщения. Еще нужно указать полную версию платформы.
Добавил всё в первое сообщение. Версии, на которых проверялось тоже указал.
Когда у меня возникла подобная проблема, я написал функцию считывания макета в ТЗ. Все эти построители - баловство, часто пользователи косячат с форматом и это надо обрабатывать кодом.
Отправил в 1С https://www.hostedredmine.com/issues/964731