Имя: Пароль:
1C
1С v8
1с СКД данные из эксель файла
0 bfss-732
 
18.05.22
14:17
Всем привет!
Нужно встроить внешний отчет(на СКД) в конфу, чтоб прикрутить к нему регламентное задание.
Данные для СКД лежать в эксель файле.
Вопрос: как СКД считать данные из эксель при нажатии кнопки "Сформировать"?
1 youalex
 
18.05.22
14:45
1)Считать данные из эксель
2)Поместить эти данные в СКД

По 2):

В Процедура ПриКомпоновкеРезультата() программное формирование, данные заливаются в :

...ПроцессорКомпоновкиДанных.Инициализировать(..., <ВнешниеНаборыДанных>...)
В схеме должен быть Набор данных Объект.

Или, если >= 8.3.17, можно попробовать через менеджер ВТ:
...ПроцессорКомпоновкиДанных.Инициализировать(...<МенеджерВременныхТаблиц>)
2 bfss-732
 
18.05.22
15:40
(1) п.2 теоретически знаю как делать.
п.1 как считать?
3 Kassern
 
18.05.22
15:45
(0) "Нужно встроить внешний отчет(на СКД) в конфу, чтоб прикрутить к нему регламентное задание" - если конфа на БСП, то ничего не нужно встраивать, регламент можно внешней обработкой сделать.
Создаете набор данных объект, указываете, какие поля там будут с каким типом и имя таблицы (переменная). Далее при компоновке загружаете эксельку в ТЗ и присваиваете ее этой переменной.
4 youalex
 
18.05.22
15:50
(2) как вариант

ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.Прочитать(ИмяФайла);
Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабличныйДокумент.Область());
Построитель.Выполнить();
ТаблицаЗначенийРезультат = Построитель.Результат.Выгрузить();

Файл понятно, должен быть доступен на сервере. Если нет, помещаешь его двоичные данные во временное хранилище, на сервере получаешь из ВХ
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн