Имя: Пароль:
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) как вариант

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

Файл понятно, должен быть доступен на сервере. Если нет, помещаешь его двоичные данные во временное хранилище, на сервере получаешь из ВХ
Ошибка? Это не ошибка, это системная функция.