TurboBL

25.08.06

Разработка - Разработка внешних компонент

Ускорение работы 1С.
Обращение к методам/переменным модуля через его Контекст.

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
TurboBL
.zip 35,81Kb
1601 Скачать бесплатно
Версия 1.1.0.5
.zip 39,05Kb
860 Скачать бесплатно
Версия 1.1.0.6
.zip 39,13Kb
3604 Скачать бесплатно

Версия: 1.1.0.6

КРАТКИЙ ЭКСКУРС В МЕХАНИЗМ ВЫЗОВА МЕТОДОВ.
ДЛЯ ВСЕХ
Что происходит внутри 1С, когда мы пишем спр.ТекущийЭлемент()?
1С преобразует имя метода ТекущийЭлемент в соответствующий ему
номер, и вызывает метод объекта по номеру.
НО, клинические исследования показали, что для ЛЮБОГО объекта 1С
используется один алгоритм такого преобразования, реализованный "В ЛОБ",
и котрый заключатся в простом последовательном переборе всех имен методов
объекта и сравнении их с искомым.
Соответственно, чем больше номер метода, тем большее время занимает такой поиск.
Например, для того же "ТекущийЭлемент" перед реальным вызовом функции происходит
перебор 88 названий методов.
Аналогично и для свойств объектов.
ДЛЯ ЗНАКОМЫХ С "RAINBOW"
Как известно, для поиска номера метода применяется
virtual int CBLContext::FindMethod(const char* name);
Как оказалось, НИ В ОДНОМ из объектов 1С данный метод не
переопределен. Перехват вызова функций различных объектов
показал лень и мягко говоря, не вполне компетентность людей,
писавших этот код.
Вобщем, когда вызывается FindMethod, из него вызываются:
GetNMethods(), GetMethodName(i,0), GetMethodName(i,1)
т.е. FindMethod работает примерно так:

for(int i=0;i<GetNMethods();i++)
{
if(!stricmp(name,GetMethodName(i,0))
return i;
if(!stricmp(name,GetMethodName(i,1))
return i;
}
return -1;

Понятно, хотелось добиться универсальности и простоты, что и достигнуто.
Но при этом:
Некомпетентность: GetNMethods можно вынести из цикла.
Лень: не зря же FindMethod виртуальная, почему же она
не переопределена ни в одном из наследуемых классов для более
оптимального поиска?
Аналогичная ситуация и с FindProp.

ЦЕЛЬ КОМПОНЕНТЫ
Дабы устранить эту досадную оплошность при поиске методов и свойств,
мною и была создана данная ВК. Суть ее работы в следующем:
оптимизация алгоритма преобразования имен методов/свойств в их номера.
Попутно сделана возможность обращаться к методам и переменным модулей
ГрупповыхКонтекстов.

КАК ИСПОЛЬЗОВАТЬ

Процедура ПриНачалеРаботыСистемы()
    ЗагрузитьВнешнююКомпоненту("turbobl.dll");



Вот и все.
Более никаких изменений в существующем коде конфигурации не требуется.
При загрузке компонента берет на себя всю работу по поиску номеров
методов и свойств объектов 1С.
Компонента использует "хитрый" способ загрузки, позволяющий ей загружаться
без регистрации в реестре, те ВСЕГДА и для любого пользователя.

ВЫЗОВ МЕТОДОВ МОДУЛЕЙ ГРУППОВЫХ КОНТЕКСТОВ
Да!!! Свершилось!!!
Теперь можно через контекст обратится к методам и переменным модуля контекста.
Например:

конт=0;
ОткрытьФорму("Справочник.Товары",конт);
конт.Печать();    //где Печать() - процедура в модуле ФормыСписка справочника.

//где Печать() - процедура в модуле ФормыСписка справочника.
или например:
// в модуле проведения дока Процедура

// в модуле проведения дока
Процедура ЭтоДокСТоваром()
    возврат 1;
КонецПроцедуры;

Процедура ОбработкаПроведения(парам)
    глНекаяГлобФункция(Контекст);
    ....
        
// В ГМ:
Процедура глНекаяГлобФункция(Конт)
    Если Конт.ЭтоДокСТоваром()=1
    .......

ОБЪЕКТ "УскорительГК"
Объект "УскорительГК" был предназначен для возможности обращения
через контекст к методам и переменным ВНЕШНИХ ОТЧЕТОВ.
Теперь это делается автоматически, и его метод "Ускорить" ничего не делает.
Теперь этот объект можно использовать для проверки того, что TurboBL загружена:

 

Попытка
    СоздатьОбъект("УскорительГК");
    Загружена=1;
Исключение
    Загружена=0;
КонецПопытки;



Объект "Addin.TurboBL" теперь несуществует, и его создание нельзя использовать
для проверки загруженности компоненты.

ПРИМЕРЫ.
В поставку входит небольшая демобаза, для демонстрации работы компоненты.
Скопируйте turbobl.dll в bin 1С, и откройте базу.
Понажимайте на кнопочки, запускающие разные тесты.
В колонке "До" будет отображатся время выполнения (мсек) каждого теста.
Нажмите кнопку "Загрузить TurboBL".
Снова позапускайте тесты.
В колонке "После" отобразится новое время выполнения каждого теста.
Почуствуйте разницу!

СОВМЕСТИМОСТЬ С 1С++
Функционал компоненты включен в состав 1С++, поэтому применять их совместно нет смысла.

БЛАГОДАРНОСТИ
Выражаю глубокую признательность Дмитрию Гусеву aka Deb,
за плодотворное сотрудничество и помощь в тестировании компоненты.
Алексею Федорову aka АЛьФ, за сотрудничество и подсказки по правильной работе таблиц.

PS
Данная разработка не придерживается технологии Внешних Компонент.
"1С-Совместимо" нет и не будет.
Используйте на свой страх и риск.

ИСТОРИЯ ВЕРСИЙ
Версия 1.1.0.1
- Радикально упрощено использование компоненты.
- Добавлена возможность вызова методов модулей через контекст.
- Добавлена проверка установленных компонент при загрузке.
- Исправлены мелкие баги.

Версия 1.1.0.2
- Исправлена ошибка потери возвращаемого значения из функции, вызываемой через Контекст
- Исправлена ошибка, приводящая в определенных ситуациях к вылету 1С

Версия 1.1.0.3
- Изменен способ загрузки ВК, что уменьшило ее размер и позволило ей загружаться всегда.
- Добавлено автоматическое ускорение контекстов внешних отчетов.
- Исправлено обращение к шаблонам таблиц в форме при вызове функций модуля через контекст
- Исправлены мелкие баги.

Версия 1.1.0.4
- Исправлена ошибка при выполнении запросов

Версия 1.1.0.5
- Компонента доработана для работы на многопроцессорных системах и процессорах с HT.
- Компонента доработана для работы со включенным DEP.
- Оптимизировано обращение к полям ТаблицыЗначений.

Версия 1.1.0.6
- Исправлена работа при использовании #ЗагрузитьИзФайла.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Разработка внешних компонент WEB-интеграция Программист 1С:Предприятие 7.7 1C77 Платные (руб)

Компонента HttpSrv7 позволяет создавать веб-сервисы в среде 1С 7.7 и, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя компоненту HTTP_Async можно наладить обмен данными между удаленными информационными базами по протоколам HTTP, HTTPS и WebSocket. С помощью компоненты HttpSrv7 используя протокол WebSocket можно создавать и поддерживать работу нескольких чатов. С помощью компоненты HTTP_Async можно асинхронно отправлять HTTP-запросы к сайтам, веб-сервисам (в т.ч. к HTTPSrv7) и обрабатывать ответы по мере их поступления. Компонента GISMT в дополнение к HTTP_Async имеет функцию цифровой подписи в формате Base64 и, таким образом, имеет все возможности для работы с API ГИС МТ "Честный знак" непосредственно из среды 1С 7.7.

6000 руб.

27.05.2022    11268    1    20    

38

Разработка внешних компонент Программист 1С:Предприятие 7.7 Платные (руб)

Компонента для выбора значения из больших списков значений.

5000 руб.

02.12.2021    7202    3    19    

5

Разработка внешних компонент Программист 1С:Предприятие 7.7 1C77 Абонемент ($m)

Внешняя компонента позволяет в среде 1С 7.7 работать с бинарными файлами: анализировать их, создавать новые, копировать, корректировать и комбинировать.

1 стартмани

10.06.2025    1258    1    mdbruyfn    0    

3

Разработка внешних компонент Программист 1С:Предприятие 7.7 1C77 Абонемент ($m)

Внешняя компонента позволяет в среде 1С 7.7 работать с ZIP-архивами: создавать архивы, читать их и разархивировать.

1 стартмани

29.05.2025    1522    2    mdbruyfn    2    

5

Разработка внешних компонент Программист 1С:Предприятие 7.7 1C77 Абонемент ($m)

Компонента позволяет в среде 1С 7.7 генерировать двухмерный QR код из любого текста длиною до 1800 символов и сохранять его в файле BMP формата. Из файла он может быть загружен в объект 1С "Картинка".

1 стартмани

29.01.2025    1895    5    mdbruyfn    4    

6

Разработка внешних компонент Системный администратор Программист 1С:Предприятие 7.7 1С:Предприятие 8 Россия Платные (руб)

Аддон "Структура Обмена" (ExchangeStruc) - это компонента, которая обеспечивает доступ к разделяемым процессом структурам, аналогичным структурам 1С. Обеспечивает прозрачную передачу данных примитивных типов, в том числе Двоичных данных, в режиме Реального времени между разными контекстами (формами) или потоками одного процесса. В перспективе функционал будет расширен для обмена между процессами, даже разных версий платформ. Совместим с версиями Windows рабочих станций и серверов, с платформами 1С разных версий и релизов в режиме Native начиная с 8.2, и в режиме COM начиная с версий 7.7. По скорости чтения и записи лишь немногим уступает стандартной структуре 1С. НОВОЕ: Добавлен функционал регистрации компоненты COM в качестве OLE Auto (COMОбъект) для поддержки её работы в серверах старых версий 1С: 8.0 и 8.1, где работа с компонентами исключена. Теперь можно коммуникацию с Фоновыми заданиями на этих версиях проводить.

7200 руб.

19.04.2023    6316    1    0    

3

Разработка внешних компонент Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 7.7 1C77 Абонемент ($m)

Эта внешняя компонента Base64.dll предназначена для платформы 1С версии 7.7. Используется для преобразования файлов из/в кодировку Base64 из встроенного языка 1С Предприятие. Компонента тестировалась на базе конфигурации Бухгалтерский учет для Казахстана, редакции 7.70.257.

10 стартмани

06.04.2021    11715    14    softmaker    13    

5

Разработка внешних компонент Защита ПО и шифрование Программист 1С:Предприятие 7.7 Абонемент ($m)

Цифровые подписи, шифрование, просмотр сертификатов ключей ЭЦП, работа с различными криптопровайдерами (в т.ч. КриптоПРО ГОСТ 2012) в 1С 7.7.

1 стартмани

08.06.2020    10726    31    mdbruyfn    10    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mdzen 238 15.08.06 21:40 Сейчас в теме
Покрутил . Вещь!!! Особенно при работе с ТЗ и групповым контекстом разница во времени весьма ощутимая, после загрузки ВК это раз в 5-10 быстрее.
Особенно порадовало, что можно через контекст обратится к методам и переменным модуля контекста.
Получается весьма прикольно.
У вас сказано, что "Функционал компоненты включен в состав 1С++", тогда вопрос:
Где ее включить в 1С++?
2. mdzen 238 15.08.06 21:49 Сейчас в теме
Вроде нашел. По всей видимости следующий код включает ускоритель в 1С++:
Попытка
СоздатьОбъект("УскорительГК");
Загружена=1;
Исключение
Загружена=0;
КонецПопытки;
3. orefkov 1158 15.08.06 23:29 Сейчас в теме
В 1С++ этот функционал по умолчанию включен, те достаточно сделать
ЗагрузитьВнешнююКомпоненту("1cpp.dll")

Но пока в 1С++ более старая версия, в которой несовсем правильно работают таблицы
при вызове методов модуля через контекст, и нет автоускорения контекстов внешних отчетов.
4. orefkov 1158 15.08.06 23:31 Сейчас в теме
Да, не стоит думать, что 1С будет после этой ВК "летать".
Все-таки основное время в 1С тратится на доступ к базе данных, хотя в-среднем выигрыш по скорости будет, в районе 10-15 процентов.
5. CheBurator 3232 16.08.06 00:42 Сейчас в теме
да, все хорошо... но прямо как в анекдоте (вот еще вчера с глюком формекса в составе 1с++ встретился)
- Скажите, это правда что вы виграли в спортлото "Волгу"?
- Правда, но не "Волгу", а 1000 руб, и не в Спортлото, а в преферанс, и не выиграл, а проиграл...
;-)
6. antonrost 656 16.08.06 09:03 Сейчас в теме
Валится 1С при "Запрос.Выполнить(...)"
:(((((((
7. orefkov 1158 16.08.06 11:06 Сейчас в теме
8. antonrost 656 16.08.06 11:08 Сейчас в теме
Вот это оперативность !!!!
:)))
+10, однозначно. С нетерпением ждем новых свершений.
9. orefkov 1158 16.08.06 11:22 Сейчас в теме
Оказывается, когда делаешь Запрос.Выполнить, 1С генерит исполняемые модули, видимо для вычисления внешних функций.
Но чем-то эти модули отличаются, тк при вызове одного из их методов, 1С падает.
10. корум 290 16.08.06 12:36 Сейчас в теме
+1.

осталось телепат скрестить с 1с++, и научить её ускорять ДБФ.
И получится НЕЧТО!
11. JohnyDeath 302 16.08.06 14:46 Сейчас в теме
корум, а чем тебя скрипты Intellisense не устраиваютт?
12. Saguna 10 16.08.06 16:29 Сейчас в теме
Валится при попытке выполнения кода управления таблицей в режиме ввода,
например:
Таблица.Область(, 1,, ФиксКол).ШиринаСтолбца(15);
13. orefkov 1158 16.08.06 17:24 Сейчас в теме
14. корум 290 16.08.06 19:51 Сейчас в теме
(JohnyDeath) Всё нравится. Но... 5-6 ДЛЛ хуже, чем 1. Забыть не получится ;о)
15. O-Planet 6455 17.08.06 00:01 Сейчас в теме
Ты, конечно, монстЁр, но кое в чем не прав.

> Некомпетентность: GetNMethods можно вынести из цикла
Уверен на 90%, что это НЕ функция, как таковая, а on-line определение, типа:

class BBB
{ void *ptr;
...
public:
int GetNMethods(int i) { return ptr+i; }
}

Поэтому, выносить его нет смысла.

> Лень: не зря же FindMethod виртуальная, почему же она
не переопределена ни в одном из наследуемых классов для более
оптимального поиска?
Это не лень, а осмотрительность. Функции позднего связывания, конечно, могут серьюзно украсить алгоритм и придать ему супер крутизну, но только не скорость выполнения! Это чуть ли не самый ресурсоемкий и медленный механизм. В предложенном тобой случае 1С работала бы медленнее раза в полтора.
16. O-Planet 6455 17.08.06 00:05 Сейчас в теме
В смысле
int *GetNMethods(int i) { return ptr+i; }
конечно, а ПТР не void* а int*
17. orefkov 1158 17.08.06 08:30 Сейчас в теме
(O-Planet) - типа наезд ради наезда?
> Уверен на 90%, что это НЕ функция, как таковая, а on-line определение, типа:

> class BBB
> { void *ptr;
> ...
> public:
> int GetNMethods(int i) { return ptr+i; }
> }

> Поэтому, выносить его нет смысла

Ты хоть 1CHeaders смотрел когданить, в 1С++ например?
GetNMethods имеет такое объявление
virtual int GetNMethods();
А виртуальные функции не инлайнятся.

> Это не лень, а осмотрительность.
> Функции позднего связывания, конечно, могут серьюзно украсить алгоритм
> и придать ему супер крутизну, но только не скорость выполнения!
> Это чуть ли не самый ресурсоемкий и медленный механизм.
> В предложенном тобой случае 1С работала бы медленнее раза в полтора.
Странно, я как раз это реализовал (переопределение FindMethod в конечных классах)
и заработало быстрее
18. orefkov 1158 17.08.06 08:34 Сейчас в теме
(Saguna)
У меня не валится. Кинь мне пример таблицы, на которой у тебя падает
48. support 4482 31.08.06 14:20 Сейчас в теме
а как быть с контекстом документа:
Код
Док= СоздатьОбъект("Документ.ПродажаЧерезФирму");
Док.ВыбратьДокументы(НачДата,КонДата);
Пока Док.ПолучитьДокумент()=1 Цикл
   ОткрытьФорму(Док.ТекущийДокумент(),КонтДок);
   КонтДок.ЗаполнитьПоДокументамЗаДень();
   КонтДок.Записать();
.....
Показать полностью

выдает:
КонтДок.Записать();
{C:\DORZH\DB77\DB_SOUZ\ПЕРЕЗАПОЛНИТЬОБЩИЕНАКЛАДНЫЕ.ERT(18)}: Данная команда не может выполняться в формуле элемента диалога!
можно как-нибудь сохранить документ?
19. 17.08.06 11:02 Сейчас в теме
to O-Planet
>> Некомпетентность: GetNMethods можно вынести из цикла
>Уверен на 90%, что это НЕ функция, как таковая, а on-line определение, типа:
...
>Поэтому, выносить его нет смысла.

Не on-line, а очевидно inline? Не могет: она виртуальная. Интереснее другое: почему ее компилятор за цикл не вынес?

>> Лень: не зря же FindMethod виртуальная, почему же она не переопределена ни в одном из наследуемых классов для более
>>оптимального поиска?
>Это не лень, а осмотрительность. Функции позднего связывания, конечно, могут серьюзно украсить алгоритм и придать ему супер крутизну, но только не скорость выполнения!

Если так рассуждать, то тогда опять же, какого х. делать ф-цию виртуальной, если все равно не переопределять. Ведь вызов виртуала хоть на чуть-чуть, но медленнее вызова невиртуала.

20. orefkov 1158 17.08.06 11:10 Сейчас в теме
Компилятор не может делать предположений о том, что GetNMethods каждый раз возвращает одно и то же значений, тк не видит ее реализации.
21. orefkov 1158 17.08.06 11:29 Сейчас в теме
Глюк с таблицей (Saguna) исправлен.
Номер версии менять не стал.
Кто уже скачивал 1.1.0.4 - скачайте еще раз пжста.
22. JohnyDeath 302 17.08.06 14:44 Сейчас в теме
(корум) >(JohnyDeath) Всё нравится. Но... 5-6 ДЛЛ хуже, чем 1. Забыть не получится ;о
Дык ни одной длл-кой больше не станет! Это скрипты для телепата! Подробнее можешь почитеть здесь: http://www.script-coding.info/Intellisense.html
23. корум 290 17.08.06 15:45 Сейчас в теме
(JohnyDeath) и таки ви мне будете говорить за интеллисенса?
Ну не надо, стоит уже год.
Телепат (+опенконф, естессно) подкупает своей открытостью, 1с++ - всеобъемлемостью. По крайней мере, пока. 1с++ = 1с++ плюс turbobl плюс FormEx плюс ещё что-то.
24. 21.08.06 11:49 Сейчас в теме
А есть ли возможность выложить дебаг версию DLL?
Просто где-то она работает (Сервер 2003), а где-то (локальная машина) не работает.
При запуске 1С, она пишет внизу "Выполнение обработки" и через 2-3 сек. закрывается.
Потом приходится заходить монопольно чтобы восстановить индексы и картина повторяется.
Может быть не срабатывает хук на CBLContext::FindMethod, но это визуально же не определишь, а копаться с отладчиком не очень хочется, но видимо прийдется...
25. orefkov 1158 21.08.06 11:57 Сейчас в теме
Используются ли еще какиенить ВК?
Не лежит ли где-нить на локальной машине старая версия TurboBL?
26. 21.08.06 12:38 Сейчас в теме
В самое программе никакие сторонние ВК не используются.
Для конфигурирования подключен ОпенКонф + Телепат + Intellisense.
Сейчас проверил, на сервере просто стоит Опенконф+Телепат.
Удалил Intellisense на локальной машине - то же самое.
Локальные машина: Win2k3 RUS на AMD Athlon 3000+ и Win2k3 RUS на Intel Prescott 3.0Ghz с вкл. HT, на обеих вылетает.
Проверил, если на Win2k3 RUS на AMD Athlon 3000+ включаю 1С в список исключаемых из DEP, то работает.
На Win2k3 RUS на Intel Prescott 3.0Ghz с вкл. HT - не помогло...

P.S. Локально TurboBL нигде не лежит (установлена первый раз, копированием в каталог базы).
27. 21.08.06 12:49 Сейчас в теме
28. 21.08.06 21:31 Сейчас в теме
Вроде как разобрались, это с машинкой что-то...
Вообщем если у кого-то 1С будет закрываться при запуске, меняйте настройки DEP.
29. orefkov 1158 21.08.06 22:29 Сейчас в теме
(InSTaNT)
Примерно понял в чем дело, завтра вышлю тебе для проверки исправленую версию
30. orefkov 1158 22.08.06 10:27 Сейчас в теме
InSTaNT
Кинь мне свое мыло еще раз
31. orefkov 1158 22.08.06 11:54 Сейчас в теме
Ошибки исправлены.

Версия 1.1.0.5
- Компонента доработана для работы на многопроцессорных системах и процессорах с HT.
- Компонента доработана для работы со включенным DEP.
- Оптимизировано обращение к полям ТаблицыЗначений.
32. JohnyDeath 302 22.08.06 12:13 Сейчас в теме
Александр, твоя оперативность поражает!
А в 1с++ эти изменения будут внесены?
33. orefkov 1158 22.08.06 12:18 Сейчас в теме
Да. Сейчас как раз ведется тестирование.
34. 23.08.06 12:41 Сейчас в теме
Новая версия ТурбоБЛ включена в 1С++. Брать как обычно, в ночной сборке, начиная с сегодняшнего числа.
35. Jkey 14 25.08.06 09:28 Сейчас в теме
Александр, Есть проблема, пользовал версию 1.1.0.2.
Модули справочников, доков, модулей проведения доков
использовал из текстовых файлов
например
#ЗагрузитьИзФайла Reference\НомеклатураФС.txt //модуль формыСписка Номенклатуры
в процессе работы 1С в режиме Предприятия правлю текстовые файлы модулей, изменения отражаются сразу.
Заменил на 1.1.0.5 изменения текстовых файлов модулей не отражаются, пока не закрою 1С и снова не запущу.
Откатил обратно на версию 1.1.0.2
все заработало
Просьба проверить.
36. orefkov 1158 25.08.06 09:58 Сейчас в теме
(JKey)
Проблема исправлена. Качать 1.1.0.6
В 1С++ исправления внесены.
37. Jkey 14 25.08.06 10:04 Сейчас в теме
Спасибо Александр. Работает.
38. maximum 25.08.06 11:38 Сейчас в теме
последняя версия Ошибка: форма открывается, но 1с-ина матерится
Конт.Проверка();
{Обработка.Тест.Форма.Модуль(129)}: Поле агрегатного объекта не обнаружено (Проверка)
39. orefkov 1158 25.08.06 11:46 Сейчас в теме
Нажми кнопочку "Загрузить TurboBL", закрой форму и попробуй снова
40. orefkov 1158 25.08.06 11:48 Сейчас в теме
Ктонить может подтвердить баг?
У меня работает.
41. maximum 25.08.06 11:50 Сейчас в теме
"Нажми кнопочку "Загрузить TurboBL", закрой форму и попробуй снова"
так и делаю
42. imsoftware 176 28.08.06 10:28 Сейчас в теме
Компонента просто замечательная! Все работает без ошибок с весьма ощутимым приростом в скорости. Тесторовалось на конфигурации по переносу\синхронизации ИБ. Автору плюсик к рейтингу.
43. 28.08.06 10:53 Сейчас в теме
Александр, а можно в нее добавить еще один небольшой сервис?
На машинах win XP или 2K не работает поиск по букве в выпадающем списке значений, а это очень не удобно! (пример: открываем Анализ субконто, вид субконто 1 и пытаемся набрать ...контрагенты а в 98 работает),
P.S. нечто похожее видел в FormEX , однако 100% работоспособности не добился
44. пользователь 30.08.06 00:31
Сообщение было скрыто модератором.
...
45. пользователь 30.08.06 05:12
Сообщение было скрыто модератором.
...
46. Бракозябра 30.08.06 13:37 Сейчас в теме
+1
В чистой конфигурации в ГМ пишу три строчки
Процедура ПриНачалеРаботыСистемы()
ЗагрузитьВнешнююКомпоненту("TurboBL.dll");
КонецПроцедуры // ПриНачалеРаботыСистемы()
Сохраняю. Запускаю1С и … 1С падает.
Но если не «три строчки», то все нормально.
TurboBL.dll v. 1.1.0.6
1С v. 7.70.025
OS WinXP home 1SP
47. orefkov 1158 30.08.06 14:11 Сейчас в теме
В чистой конфигурации напиши три строчки:
Код
Процедура ПриНачалеРаботыСистемы()
    СоздатьОбъект("Справочник");
КонецПроцедуры // ПриНачалеРаботыСистемы()
Показать полностью

Сообщи результаты
49. Бракозябра 31.08.06 11:28 Сейчас в теме
50. MAXXL 13 03.09.06 12:48 Сейчас в теме
Присоединяюсь к последнему вопросу - как записать и провести документ? Также не удалось поработать таким образом с уже существующим в базе документом (через ОткрытьФорму). Может не так что-то делал?
51. orefkov 1158 04.09.06 08:36 Сейчас в теме
Вообще-то сейчас проверил, точно такое-же поведение 1С и без загрузки ТурбоБЛ.
То есть что загрузил ТурбоБЛ, что не загрузил, выдается такая ошибка.
Может что не так делал?
52. antonrost 656 05.09.06 13:11 Сейчас в теме
Я создал в модуле процедуру:
Процедура _Записать()
ПриЗаписи();
Если СтатусВозврата() = 1 Тогда
Записать();
КонецЕсли;
КонецПроцедуры();
--------
и вызываю Конт._Записать()
53. MAXXL 13 05.09.06 23:44 Сейчас в теме
Так смысл то в том чтобы исходный код не переписывать. У меня обработка внешняя, запустилась , сделала все нужное, закрылась. Автор, где автор? Скажи что-нибудь по этому поводу!
54. orefkov 1158 06.09.06 08:28 Сейчас в теме
Еще раз повторю - таково ШТАТНОЕ поведение 1С.
Вы хотите, чтобы я это исправил?
55. MAXXL 13 06.09.06 15:52 Сейчас в теме
Ну если это можно исправить при помощи Вашей компоненты (не трогая саму 1С), то я думаю многим это придется по душе :-) А так , даже по текущим возможностям очень ускоряется исполнение всяких доп. обработок по внешнему заполнению документов
56. 14.09.06 12:11 Сейчас в теме
последняя версия Ошибка: форма открывается, но 1с-ина матерится
Конт.Проверка();
{Обработка.Тест.Форма.Модуль(129)}: Поле агрегатного объекта не обнаружено (Проверка)
57. rudra 14.09.06 16:13 Сейчас в теме
Действительно: Ввиду дорабатываемости компоненты было бы прямо здорово предусмотеть возможность выгрузки компоненты. Не знаю только возможно ли это?
Автору респект.

Maniac
30.08.2006 А вообще было бы круто (можно даже сказать верх совершенства) если бы компонента имела режим включения выключения (в реальном времени) на закладке свойств 1С++ (Меню сервис - Параметры). Там кстати такие кнопки уже есть под некоторые свойства FormEx. Я думаю и для ТурбоБЛ такое будет реально.
Очень уж хочется иметь возможность "быстро" сравнивать быстродействие в рабочем режиме на очень больших объемах баз данных.
58. rudra 14.09.06 16:15 Сейчас в теме
oyua - положи TurboBL.dll в PF\1cv77\Bin
иль забыл?
59. 15.09.06 13:20 Сейчас в теме
Извините. Вы правы, забыл.
Положил, все заработало.
Ускорение действительно наблюдается и обращение к процедурам
во внешних отчетах проходит.
Отлично!
Спасибо за труд и щедрую душу.
60. 04.10.06 13:05 Сейчас в теме
можно как либо загрузить TurboBL без регистрации в реестре, например с помощью vkloader,

61. orefkov 1158 04.10.06 13:15 Сейчас в теме
Читаем историю версий:
Версия 1.1.0.3
- Изменен способ загрузки ВК, что уменьшило ее размер и позволило ей загружаться всегда.

Это и означает, что TurboBL не нуждается в регистрации в реестре для своей загрузки.
62. 16.10.06 10:53 Сейчас в теме
>> Желательно, чтобы компонента имела режим включения выключения
Данная фича реализована в 1С++ 2.5
По умолчанию фича ТурбоБЛ в 1С++ включена. Отключить можно, но отключение будет выполнено только после перезапуска 1С.
Но можно выключить ТурбоБЛ, перезапустить 1С, выполнить код без ТурбоБЛ, включить ТурбоБЛ, выполнить код с ТурбоБЛ и сравнить результаты :)
63. Pa3yM 21 22.12.06 12:22 Сейчас в теме
Большое спасибо! Компонента работает. Замерял время формирования прайс листа в Excel. С включенной компонентой формируется на 30% быстрее.
64. avega 104 04.12.06 13:44 Сейчас в теме
проблема совмесной работы ТурбоБЛ и ФормЭкс. При загрузке ТурбоБЛ перестала работать обработка событий нажатия клавиш {Процедура ПриНажатииКнопкиКлавиатуры(КодКлавиши, Alt,Shift,Ctrl,ФСО)} т.е. она просто не реагирует на нажатие описанных кнопок в частности на нажатие "Insert" и "Delete"
65. waol 320 19.06.07 12:32 Сейчас в теме
супер - с модулем формы теперь стало заметно удобнее.
если распечатывать пакетом документы таким образом - то на экране будут мелькать их открываемые формы. можно этого как нибудь избежать ?

66. NFF 22 05.10.07 09:37 Сейчас в теме
Всё хорошо, но совместное использование TurboBL.dll с TurboMD.dll, перестает использоваться функционал последней
67. artbear 1583 05.10.07 10:48 Сейчас в теме
(66) У тебя старый ТурбоМД :(
Ищи новый TurboMd.dll версия 1.0.0.1 размер 20480б
ЗЫ не удивляйся номеру версии, это действительно новая версия, просто автор по неизвестной причине поставил такой номер.
68. kivduts 118 23.04.08 09:27 Сейчас в теме
как узнать активна компонента или нет
69. shiuck 28.08.08 14:21 Сейчас в теме
Ребята помогите у меня закрывается Предриятие , не загружается turbobl.dll
70. sergebozz 12.09.08 17:54 Сейчас в теме
Без справочников вылетает :)
71. JohnyDeath 302 13.09.08 12:10 Сейчас в теме
(70) Ставь последнюю 1с++ http://www.1cpp.ru/images/3/32/Icpp-latest.rar , в состав которой входит и TurboBL. Там эта проблема решена, + ускорено создание встроенных объектов 1C и 1С++.
А что это у тебя за конфа такая без справочников?
72. DarkAn 1101 07.06.10 13:17 Сейчас в теме
>Хорошо бы поддержку Win7 :oops:

Сори, все корректно работает :), Надо модуль загрузки библиотеки скорректировать, а то не грузит по умолчанию
73. byos 35 21.07.10 11:47 Сейчас в теме
Такая проблема нигде не нашел похожей ошибки - при загрузке 1c пишет: ошибка загруки turbobl, самое интересное что версия 1.1.0.2 работает нормально, а 5 и 6 вылетает с ошибкой, внешние компоненты загружаю через hook_1c
74. pisarevEV 8 28.12.10 09:05 Сейчас в теме
добрый день! с успехом использую ваш библиотеку, на разных базах
всегда получал увеличение скорости построения отчетов в 2-3 раза
однако сегодня не удача:
77 торговля (почти обычная), крутиться на 2008-м сервере, поставил
ВК, выигрыш по скорости 2-4%, т.е. почти нулевой... с чем это может быть
связано?
75. levoven 16.11.11 15:20 Сейчас в теме
добрый день! с успехом использую ваш библиотеку, скорость значительно возросла
76. TrinitronOTV 16 10.12.11 13:02 Сейчас в теме
вот случайно наткнулся, по описанию заинтересовало, скачаю и попробую, спасибо автору за данный труд
77. пользователь 01.03.12 20:08
Сообщение было скрыто модератором.
...
78. Agema 19.05.12 12:11 Сейчас в теме
Спасибо! ускорение ощутимое! есть базы с тысячами сотров (1С7 ЗиК). Как раз для них.
Есть еще методы ускорения, именно для 1с7ЗиК ?
Конечно нашел и http://infostart.ru/public/18924/, очень полезная статья.
79. yuyu1 5 19.03.14 20:30 Сейчас в теме
Прекрасная библиотека! Спасибо!
А если в процедуре Печать() есть вібор нескольких форм печати, можно как-то сделать, чтобы печаталась одна из них сразу, без выбора в каждом документе?
Для отправки сообщения требуется регистрация/авторизация