На это было три причины. Первая - прежняя функция слишком медленно работает на больших таблицах. Вторая - не преобразует числовое значение, которое хранится в excel вместо даты, в нормальную дату. Третья - имеет ограничения по колонкам в диапазоне A-Z. Выкладываю исправленную версию функции. Упаковано в файл шаблона. Для продвинутых в комментариях к функции дана дополнительная информация.
Функция умеет читать только файлы в формате .xlsx. Формат xls не читает! Возвращает таблицу значений, наименования колонок в которой совпадают с обозначением в Excel.
Вызов выглядит так:
ОшибкаТекст = "";
НомерЛиста = 3;
НомерПервойСтроки = 2;
ИмяФайлаExcel = "d:\import\Остатки.xlsx";
тзОстатки = ПолучитьЛистEXCEL_XML(ИмяФайлаExcel, ОшибкаТекст, НомерЛиста, НомерПервойСтроки);
Для Каждого СтрОстатки Из тзОстатки Цикл
Значение1 = СтрОстатки.AD; //здесь A - английскими буквами.
Значение2 = СтрОстатки.BF; //здесь B - английскими буквами.
КонецЦикла;
Сообщить(ОшибкаТекст);