|
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) как вариант
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.Прочитать(ИмяФайла);
Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабличныйДокумент.Область());
Построитель.Выполнить();
ТаблицаЗначенийРезультат = Построитель.Результат.Выгрузить();
Файл понятно, должен быть доступен на сервере. Если нет, помещаешь его двоичные данные во временное хранилище, на сервере получаешь из ВХ
|
|