Обработка "Обработка чтения табличного документа" - предназначена для перевода данных из табличного документа в таблицу значений. Основное назначение для программиста и обращение подразумевается на сервере как к встроенной обработке. Для проверки работоспособности реализована управляемая форма обработки.
Возможности:
- Чтение табличного документа из файлов (без использования стороннего ПО и API);
- Чтение табличного документа загружаемого в реквизит обработки.
Реквизиты обработки, которые заполняются при вызове основной функции «ЗагрузитьДокументВТаблицуНаСервере»:
- Путь к файлу – указывается путь к файлу табличного документа (например, Таблица Excel);
- Табличный документ – заполняется табличным документов, который нужно прочитать (например, макет объекта или уже ранее считанный табличный документ из файла;
- Строка начала данных – строка табличного документа, с которой начинаются данные. Как правило это 2-ая строка, по строке, предшествующей указанной будет сформирована шапка таблицы значения;
- Таблица значений – результат чтения табличного документа.
Уникальностью данной обработки является простота чтения табличного документа.
Тестирование проводилось на платформе 1С:Предприятие 8.3.14.1854 и конфигурации Управление торговлей 11.4.9.
Дополнение от 29.08.2020. Упростил часть кода, которая представляет саму суть данной обработки.
Данного кода достаточно, чтобы получить таблицу значений, например, из файла Excel.
Процедура ПрочитатьТабДокВТЗ(Кнопка)
// Определение таблицы значений
ТЗизТабДока = Новый ТаблицаЗначений;
ТЗизТабДока.Колонки.Добавить("Наименование");
ТЗизТабДока.Колонки.Добавить("Код");
// Чтение табличного документа (например файл Excel)
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ПутьКФайлу, СпособЧтенияЗначенийТабличногоДокумента.Текст);
мВысотаТабличногоДокумента = ТабДок.ВысотаТаблицы;
// Обход строк табличного документа и заполнение таблицы значений
Для Строка = 2 По мВысотаТабличногоДокумента Цикл
НоваяСтр = ТЗизТабДока.Добавить();
НоваяСтр.Наименование = ПолучитьСодержаниеЯчейки(ТабДок, Строка, 1);
НоваяСтр.Код = ПолучитьСодержаниеЯчейки(ТабДок, Строка, 2);
КонецЦикла;
КонецПроцедуры
Функция ПолучитьСодержаниеЯчейки(пТабличныйДокумент, Строка, Колонка)
Если Колонка = 0 Тогда
Возврат "";
КонецЕсли;
мСодержание = пТабличныйДокумент.Область("R" + Формат(Строка,"ЧГ=") + "C" + Формат(Колонка,"ЧГ=")).Текст;
Возврат СокрЛП(мСодержание);
КонецФункции