Read Me
Внешняя компонента 1С 7.7 FastGroupVT является быстрым аналогом метода "Свернуть" объекта "ТаблицаЗначений".
Для больших таблиц значений возможно ускорение до 47 раз (например, для таблицы с 8 колонками группировок и 5 колонками с суммами объемом 320 тыс. строк стандартный метод выполняется за 950 секунд, тогда как метод внешней компоненты - всего за 20 секунд).
Для работы библиотеки требуется Microsoft Visual C++ 2008 SP1 Redistributable Package (x86). Его нужно или установить на пользовательской машине, или распаковать из него в каталог с внешней компонентой файлы "msvcr90.dll", "msvcp90.dll", "msvcm90.dll", "Microsoft.VC90.CRT.manifest". В последнем случае из файла "Microsoft.VC90.CRT.manifest" нужно удалить атрибут publicKeyToken="1fc8b3b9a1e18e3b".
Компонента не требует регистрации себя в реестре.
Загрузка:
~~~~~~~~~
ЗагрузитьВнешнююКомпоненты("FastGroupVT.dll");
Доступные методы:
~~~~~~~~~~~~~~~~~
Свернуть(тз, стрГруппы, стрСуммы)
Описание:
аналог метода Свернуть объекта ТаблицаЗначений.
Аргументы:
тз - объект типа ТаблицаЗначений
стрГруппы - строка, разделенный запятыми список группируемых колонок
стрСуммы - строка, разделенный запятыми список суммируемых колонок
Возвращаемое значение:
1 - метод завершился успешно
0 - при выполнении метода произошла ошибка
ПерехватСвернуть(параметр)
Описание:
при установке перехвата вызов метода Свернуть любого объекта ТаблицаЗначений перенаправляется на аналогичный метод компоненты.
Аргументы:
параметр - при значении 1 перехват установлен, при значении 0 перехват отключен
Возвращаемое значение:
1 - метод завершился успешно
0 - при выполнении метода произошла ошибка
при опущенном параметре возвращается текущее значение перехвата
Пример использования:
~~~~~~~~~~~~~~~~~~~~~~~~~~
тз=СоздатьОбъект("ТаблицаЗначений");
...
ОбъектВК=СоздатьОбъект("Addin.FastGroupVT");
ОбъектВК.Свернуть(тз, "Клиент,Товар", "Количество,Сумма"); // прямой вызов метода компоненты
...
ОбъектВК.ПерехватСвернуть(1); // установить перехват
Сообщить(ОбъектВК.ПерехватСвернуть()); // возвращает 1
тз.Свернуть("Клиент,Товар", "Количество,Сумма"); // косвенный вызов метода компоненты
...
ОбъектВК.ПерехватСвернуть(0); // отключить перехват
Сообщить(ОбъектВК.ПерехватСвернуть()); // возвращает 0
тз.Свернуть("Клиент,Товар", "Количество,Сумма"); // вызов стандартного метода таблицы значений без использования компоненты