Добавлено: Вт Сен 04, 2012 8:39 am Заголовок сообщения:
Oleksandr писал(а):
olimp писал(а):
Хочется написать универсальную процедуру, которая бы принимала оба варианта для автоматического заполнения шита ?
Это не обязательно Sheet. Это может быть что угодно, и диалог и форма и даже мессаж бокс или другая процедура не связанная с контролами. Если процедур работающих с двумерным массивом (типа рекордсета) много, то чтоб каждую не переписывать, нужно сделать другую процедуру, которая будет преобразовывать RepWizard в двумерный массив. Либо, если процедура хранится в каком-то модуле, а вызывается неизвестно откуда еще. Чтоб её не менять с риском что что-то перестанет работать в другом месте, проще подготовить для нее данные в том виде, который она понимает.
Круто. Написать процедуру, которая будет из чего угодно делать непонятно что :)
А почему двумерный ? Мастер возвращает много больше колонок, чем две.
1 показатель + 8 количеств + 6 сумм + счета + единица измерения + свойства показателей <= 32767
Добавлено: Вт Сен 04, 2012 8:44 am Заголовок сообщения:
kris писал(а):
З.Ы. Вот для теста попробовал отчет по платежам за год в базе около 2гб:
* корреспондент-документ: 2 мин (18000 строк)
* корреспондент-документ-аналитика: задолбался ждать, после 10 мин вырубил
* корреспондент-дата: 8 сек (3000 строк)
* корреспондент-дата-аналитика: 20 сек (9000 строк)
Я на 6-м Акценте экспериментировал. Профайлером отслеживал скорость выполнения запроса от репорта. И, как и ожидалось, запрос возвращает данные быстро. Насколько я помню и сам репорт готов к использованию быстро, даже с 4-мя уровнями и 10к строк. Остальное время уходит на создание Sheet. В 7-м акценте вроде создание страницы уже оптимизировано, но я подозреваю, что основное время все равно уходит на это. Попробуй те же выборки сделать без MakeSheet и сравни время
Добавлено: Вт Сен 04, 2012 8:53 am Заголовок сообщения:
olimp писал(а):
А почему двумерный ? Мастер возвращает много больше колонок, чем две.
1 показатель + 8 количеств + 6 сумм + счета + единица измерения + свойства показателей <= 32767
Кол-во колонок это и есть размерность первого измерения , кол-во элементов последнего левела - это размерность второго измерения. Двумерный массив, как и рекордсет. Хотя, из рекордсетов можно собрать и трёхмерный массив, если за третье измерение принять отдельный рекордсет в Command
The NextRecordset method is used to clear the current Recordset object and return the next Recordset object by looping through a series of commands. This method returns a Recordset object. Use this method to return the results of the next command in a compound command statement or the next result of a stored procedure that returns multiple results. For example, in a compound command statement, like "SELECT * FROM table1;SELECT * FROM table2", the Execute method on a Command or the Open method on a Recordset, will only execute the first command and return the result to a Recordset object. To access the result of the next command in the statement, call the NextRecordset method.
Последний раз редактировалось: Oleksandr (Вт Сен 04, 2012 8:56 am), всего редактировалось 3 раз(а)
Добавлено: Вт Сен 04, 2012 9:15 am Заголовок сообщения:
Цитата:
Oleksandr писал(а):
А почему двумерный ? Мастер возвращает много больше колонок, чем две.
1 показатель + 8 количеств + 6 сумм + счета + единица измерения + свойства показателей <= 32767
Кол-во колонок это и есть размерность первого измерения , кол-во элементов последнего левела - это размерность второго измерения. Двумерный массив, как и рекордсет. Хотя, из рекордсетов можно собрать и трёхмерный массив, если за третье измерение принять отдельный рекордсет в Command
С массивом протормозил. просто не пойму зачем переделывать объект в плоскую структуру ? Напиши запрос и будет тебе счастье.
Последний раз редактировалось: olimp (Вт Сен 04, 2012 9:22 am), всего редактировалось 1 раз
Добавлено: Ср Сен 05, 2012 10:23 am Заголовок сообщения:
kris писал(а):
Шагающий экскаватор для посадки фикусов (с) Кухтин.
Насколько я понимаю, нечто похожее как раз предполагалось реализовать в RepWizard2. Входящие данные были бы в виде запроса. А на выходе было бы то, о чем я говорю, а именно двумерный массив. Либо, возможно, какая-то новая коллекция (например c названием Rows или RecordSet). Разве нет?
Часовой пояс: GMT + 2 На страницу Пред.1, 2, 3След.
Страница 2 из 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах