Добрый день.
Подскажите, как импортировать данные из Excel_файла в грид террасофта?
При этом нужно произвести некоторые манипуляции с данными в файле (просуммировать значения одного столбца по значению другого).
Мне, как вариант, представляется это так: импортировать данные во временную таблицу, запросом просуммировать всё как надо и вставить в таблицу нужного грида процедурой на сервере.
Вопрос как собственно импортировать (по нажатию кнопки на том самом гриде) и есть ли другой способ манипуляций с данными в табличном файле?
Нравится
Добрый день!
Во время импорта провести "манипуляции" нельзя.
Но Ваш подход решения весьма трудоемок. Рассмотрите вариант написание функции с циклом, который "пройдет" по необходимому датасету и выполнит необходимые действия.
Мне почему-то кажется, что обработка данных непосредственно в таблице будет быстрее. Хотя, возможно, не совсем правильно.
А как сам импорт произвести?
На мой взгляд, наиболее простой способ - сделать все манипуляции непосредственно в самом Excel файле. Затем импортировать его стандартными средствами раздела "Интеграции". От туда же можно взять "код" из кнопки импорта.
Максим, согласен, самое разумное решение :)
Но не похоже, что Лена ищет легких путей)
"Росинская Лена" написал:А как сам импорт произвести?
Стандартными средствами через "Интеграцию".
"Гакало Игорь Александрович" написал:Максим, согласен, самое разумное решение :)
Excel-файлы могут, например, прийти из другой системы или от людей как есть. И хочется их загрузить без открытия и изменения.
А если сделать вычисляемую (средствами js) колонку в датасете или вычисляемое (средствами sql) поле в select query?
Игорь, Вы ошибаетесь.
Просто заказчик не собирается руками править файл перед импортом в ТС.
Не вполне понятно Ваше предложение "пройтись по датасету": как в нём можно реализовать агрегатные функции аналогичные sum + group by в sql?
Всё что я нашла в веткеCommon\Tools\Integration\MS Office\MS Excel\ это 2 скрипта: scr_MSExcelLibrary и scr_MSExcelLibraryConsts.
В разделе "интегрирование" можно загрузить шаблон в грид, а при попытке его открыть сыпятся ошибки и в итоге открывается пустое окно "настройки импорта".
Первая из ошибок - пустой объект var SaveDisplayAlerts = ExcelApplication.DisplayAlerts; в скрипте scr_DataflowTuning.
Лена, по поводу ошибки подсказать не могу, необходима отладка. Если Вы не изменяли стандартную логику, то поддержка сможет помочь.
Не думаю, что сортировка будет очень важна при импорте, а суммирование значений - это именно то, что я имел в виду под "пройтись" :) То есть, либо запуск скрипта из конфигурации, либо добавление кнопки "Суммирования" (или других операций) над значениями полей, которая будет находиться в GridArea "Интеграций" для определенных ID интеграций Excel, которым потребуется слияние.
В этом же скрипте Вы можете добавить проверку на дату добавления записи, чтобы обрабатывались не все записи, а только те, которые, к примеру, были добавлены сегодня.