AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.12.2008, 14:30   #21  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Так, а значения в "ADO или буфере обмена", наверное же, в каком-то цикле в Аксапте формируются? Добавить к ним одну "колонку A" и ахать на лист уже из буфера. Конечно, не надо отдельно "бежать" вдоль уже выведенных в Excel строк и прописывать им метки! Я-то заполняю свои ячейки чисто для примера, чтобы в них что-то было в качестве исходных данных для дальнейших основных демонстрируемых действий.

Что касается формулы, то ее в таком формате можно шлёпнуть вообще одним действием сразу для всего диапазона: rngB.FormulaR1C1 = "=RC[-1]/(RC[-1]-current)". При этом соответствующие формулы мгновенно пропишутся в каждую ячейку.

Последний раз редактировалось Gustav; 19.12.2008 в 09:27. Причина: первоначально в цитируемом сообщении MironovI было из-за опечатки написано ДДЕ (вместо ADO)
Старый 18.12.2008, 17:19   #22  
coolibin is offline
coolibin
Участник
 
264 / 68 (3) ++++
Регистрация: 07.04.2005
Цитата:
я вообще пытаюсь движок написать вывода отчетов.. строк так на 60000 должно быстро пахать
На всякий случай предостерегаю. Использование игр с буфером обмена при формировании длинных отчетов (а 60 тыс строк - это ооочень длинный отчет) чревато блокированием работы этого самого буфера в параллельно работающих приложениях.
Моих пользователей в свое время очень злили такие отчеты, особенно менеджеров (они одновременно восемь дел пытались сделать).
Или это как-то можно обойти?
Старый 18.12.2008, 17:27   #23  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Я копирую через ADO Recordset. Надеюсь миновать эти проблемы.
Старый 18.12.2008, 18:02   #24  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Через ADO Recordset это правильно. Одобрям!
А при чем тут тогда DDE и Clipboard? Ты на лист вставляешь при помощи CopyFromRecordset?

Последний раз редактировалось Gustav; 19.12.2008 в 09:23. Причина: первоначально из-за опечатки речь ошибочно шла о DDE (на самом деле имелось в виду ADO)
Старый 18.12.2008, 23:33   #25  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Цитата:
Сообщение от Gustav Посмотреть сообщение
Через ADO Recordset это правильно. Одобрям!
А при чем тут тогда DDE и Clipboard? Ты на лист вставляешь при помощи CopyFromRecordset?
Очепятка вышла, редактировать уже не могу - если можно исправьте ДДЕ на ADO

Ага CopyFromRecordset.
Старый 19.12.2008, 09:39   #26  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от MironovI Посмотреть сообщение
Очепятка вышла, редактировать уже не могу - если можно исправьте ДДЕ на ADO
Исправил, но "аудиторский след" в виде своих причин редактирования сохранил, иначе стали бы непонятны некоторые мои реплики

А рекордсет откуда берется: прямым SELECT'ом к базе или строится disconnected в памяти с самостоятельным добавлением полей и последующим заполнением в цикле? Если строится в памяти, то добавить пару служебных полей в самое начало (или в самый конец), наверное, не составит труда.
Старый 19.12.2008, 09:43   #27  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Цитата:
Сообщение от Gustav Посмотреть сообщение
Если строится в памяти, то добавить пару служебных полей в самое начало (или в самый конец), наверное, не составит труда.
Recordset строится в памяти, возможен кстати и вариант получения его из базы (хорошая мысль!) - туда тоже не сложно добавить пару полей. Вобщем да, решил первые две колонки застолбить за разметкой секций, с помощью формул помечать секции - в кои то веки деление на ноль пригодилось
Старый 19.12.2008, 10:11   #28  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от MironovI Посмотреть сообщение
в кои то веки деление на ноль пригодилось
Ага, тоже промелькнула такая мысль. Вначале-то я хотел применить напрашивающуюся формулу с IF, вроде такой: ...FormulaR1C1 = "=IF(RC[-1]=current,1,""a"")" и дальше для выделения использовать сочетание "формулы-числа". Но потом подумалось, что запятая у кого-то может пожелать стать точкой с запятой, а значит опять утомительная возня с анализом региональных настроек... ааа, думаю, ну его нафиг и поделил на ноль ( "и немедленно выпил" )
Старый 23.12.2016, 14:55   #29  
AFT is offline
AFT
Участник
 
3 / 10 (1) +
Регистрация: 23.12.2016
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Поискал, нет примера вариантного массива в аксе.
Кстати, а зачем нужно программно выполнять такую задачу? Мы в свое время делали это для построения диаграмм. Какие еще задачи требуют этого?
задача обновить прайс,хаотично вытащить 1500 позиций ,вставив их на другой лист

Последний раз редактировалось AFT; 23.12.2016 в 15:03.
Старый 23.12.2016, 15:01   #30  
AFT is offline
AFT
Участник
 
3 / 10 (1) +
Регистрация: 23.12.2016
прочитав заданную ветку понимаю что технически это возможно,поэтому я здесь,обращаюсь к гуру EXCEL необходимо выдернуть непоследовательное расположение данных ( 1500 шт.) полностью по строкам и вставить на другой лист,как это реализовать? HELP!
Старый 23.12.2016, 15:05   #31  
Weez is offline
Weez
Участник
Axapta Retail User
 
250 / 84 (3) ++++
Регистрация: 18.01.2006
Адрес: Moscow city
Запишите макрос в Excel, если нужно перенести функционал в аксапту - сделайте по аналогии с полученным макросом.
__________________
Существует 10 типов людей: одни понимают двоичную систему, другие - нет.
Старый 23.12.2016, 15:12   #32  
AFT is offline
AFT
Участник
 
3 / 10 (1) +
Регистрация: 23.12.2016
Цитата:
Сообщение от Weez Посмотреть сообщение
Запишите макрос в Excel, если нужно перенести функционал в аксапту - сделайте по аналогии с полученным макросом.
нет потом,это все нужно в CSV,но для новичка макрос написать нереал((*,откуда плясать чтобы изучить ,пока выдергиваю каждую строку,кстати потом также и вставлять нужно новые данные,а технически возможно вставлять в строго определенной последовательности?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Gustav DAX: База знаний и проекты 79 13.02.2014 13:18
gl00mie: Read Excel table via ADO Blog bot DAX Blogs 2 09.04.2010 08:32
[Excel] - Несколько версий Excel на машине клиента Андре DAX: Программирование 11 07.08.2007 13:45
Вызов Item() для коллекций Excel Владимир Максимов DAX: Программирование 15 17.08.2006 19:47
Как выделить все записи в гриде скопировать и отправить в Excel??? velk DAX: Программирование 36 22.12.2005 14:35
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:22.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.