Добрый день всем. Подскажите каким образом и где объявить массив, чтобы "&НаКлиенте" к нему можно было достучаться?
В процедуре с открытием файла эксель есть такой код:

```1c
    Область = ExcelЛист.Range(ExcelЛист.Cells(1,1), ExcelЛист.Cells(ВсегоСтрок,ВсегоКолонок));
    МассивДанных = Область.Value.Выгрузить();
```

Отладчик показывает, что это массив, и в пределах процедуры я нормально с ним работаю, но...
Из произвольного файла нужно закачать значения в справочники. Есть обработка с полями ввода типа номерлистаэксель, номер колонкиэксельсартикулом, номерколонкисценой... но это так топорно...
Хочу, чтобы пользователь визуально находил колонку с ключами и колонку со значениями после открытия файла. Причем колонку с ключами для нужных справочников я и так нахожу. Для визуализации на форме есть грид с двумя колонками. И есть поле ввода типа комбобокса со списком имеющихся колонок в файле (заполняется при открытии файла). Остается дело за малым - при выборе колонки просто переписать содержимое второго столбца грида. Но в чем хранить эти данные? Для анализа беру первые 10-15 строк из экселя.
---
Прочитать экселевский файл в табличный документ и стучаться к нему откуда угодно.

Метод Прочитать доступен на сервере и в толстом клиенте, поэтому данные файла через временное хранилище передать на сервер.
---
Прочитать экселевский файл в табличный документ и стучаться к нему откуда угодно.

Метод Прочитать доступен на сервере и в толстом клиенте, поэтому данные файла через временное хранилище передать на сервер.
---
Спасибо. Единственно... Отладчик показывает, что у меня тонкий клиент. Просто не уверен, что это понятие на самом деле то, что обычно подразумевается под тонким клиентом.
Но не хочется монстра тащить. Хотя все равно при закачке по новой придется открывать и нужные колонки тащить. Так что воспользуюсь Вашим советом. Я надеюсь реквизит формы "ТабличныйДокумент" - это ТабличныйДокумент? А то уже нарвался с ТаблицаЗначений. На форме реквизит только так называется, вернее у него тот же, видимо, синоним.
---
Это табличный документ, но некоторые методы у него на тонком клиенте недоступны.
---
Ого... какой это монстр. Подскажите, а как обращаться к содержимому? С размерами все понятно. Мне нужно вытащить конкретные две колонки полностью или (для визуализации) десяток-полтора строк из них. Не сердитесь, просто тяжеловато с этим 1С-ом.
---
Ну можно его передать источником данных в построитель запроса, но я им никогда не пользовался. А так самый простой способ - перебором

```1c
    Для НомСтр = 1 По ТабДок.ВысотаТаблицы Цикл
    ТекущееЗначение = ТабДок.Область(НомСтр, НомКол).Текст
    ....
    КонецЦикла;
```

Это уже можно и с клиента и с сервера делать.
---
Спасибо. Я надеюсь, это не откровенная чушь

```1c
    Область = ExcelЛист.Range(ExcelЛист.Cells(1,1), ExcelЛист.Cells(ВсегоСтрок,ВсегоКолонок));
    ДанныеЭксель.ВставитьОбласть(Область);
```

???
---
Конечно чушь.
---
Да, Range - это COM-объект, а во ВставитьОбласть надо передавать область ячеек ТД - 1с-ную сущность.
---
Блин... А массив как-нибудь можно в ТабличныйДокумент скормить?
---
Ну тоже перебором. А какой массив? Из Экселя который выгружается? Да прочитайте файл табдоком, содержимое у вас на форме отобразится, пользователь выберет колонки и всё.
---
Ура, получилось. Не без дегтя,

```1c
    ДанныеЭксель.Прочитать(ДиалогВыбораФайла.ПолноеИмяФайла,СпособЧтенияЗначенийТабличногоДокумента.Текст
```

ТабличныйДокумент ни хрена не видит "краев". Эксель четко засек количество использованных колонок и строк, а этот только в строках не ошибся, а колонок "начитал" аж 252. Наверное больше просто не смог.
---
а не пробовали получить нужные массивы из екселя
и просто циклом добавить их в коллекцию формы (таблица значений связанная с полем формы)
и тогда при обработке формы на Сервере вы получаете данныеформыколлекция или
таблицу значений! из РеквизитФормыВЗначение(...)