Показать сообщение отдельно
Старый 08.08.2005, 18:14   #15  
Dimonishe is offline
Dimonishe
Участник
 
33 / 10 (1) +
Регистрация: 24.05.2005
Адрес: Донецк/Москва
2 Владимир.

Насчет всех 4 пунктов спорить не буду дабы не засорять. Хотя есть о чем.

Просто хочу привести способ экспорта данных который кажется довольно удобен:

1.Предварительно в Экселе создаем шаблон. С названиями, шрифтами, цветами, вензелечками и формулами. Походу определяем в каких ячейках какие данные из аксаптовских таблиц у нас будут храниться и настраиваем типы ячеек(!)

2. Готовим Аксаптой CSV файл (или файлы). Администрирование - Периодич Операции - Экспорт Импорт Данных. (Предварительно настроив группы определений)

3. Теперь, в Экселе есть чудесная возможность: Данные -> Импорт Внешних данных. Выбираем наш CSV файл в качестве источника данных, определяем какие у нас разделители, кодировка и т.п. Жмем готово и указываем куда вставлять данные. (На одном листе может быть множество таких диапазонов данных )

Теперь, эксель делает связь поля своего листа с "полем" в CSV файле.

В "свойствах диапазона данных" снимаем галку на "запрашивать имя файла при обновлении" и ставим на "обновление при открытии".

Теперь при каждом открытии файла (или принудительном ручном обновлении), Эксель будет подтягивать данные из CSV хранилища.

Все это делается и настраивается один раз.

Потом, основная работа пользователя - экспортнуть данные в CSV и открыть экселевский шаблон. Данные подтянутся автоматически. Сейчас занимаюсь автоматизацией этих двух действий

Никаких проблем с форматами данных, потерей точности или доформатированием отчета просто нет.

Как вторая часть, на VBA пишется примитивный скрипт, который измененные данные из экселя пишет в тот же самый CSV, который потом через ту же группу определений поднимается из аксапты.

Недостаток - нужно следить за расположением промежуточных файлов.

Если ко всему этому прикрутить автоматизацию по выполнению экспорта/импорта в аксапте и запуску через COM экселя/аксапты, получится простой двусторонний обмен excel-axapta требующий от пользователя минимум напрягов.

P.S. Для таблицы в 65535 записей процесс экспорта/импорта занимает менее 10 сек.

P.P.S. Кстати, никто не знает как запустить из аксапты экспорт данных Jobом и без лишних вопросов? (избежать вызова promt() )