Загрузка процессора 100% в 7.7 под Windows Server 2008 при блокировке журнала транзакций.

04.08.20

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

1C 7.7 "Секретный релиз" + Windows Server 2008r2 и 1С запускается и работает, но ввиду того, что обновили BkEnd, потеряли полезнейший функционал, такой как предотвращение "загрузки процессора на 100%" при ожидании блокировки журнала.

Скачать файлы

Наименование Файл Версия Размер
vk_hook1C.dll (вер. 2.0.0.31)
.dll 140,50Kb
361
.dll 140,50Kb 361 Скачать
пример базы
.zip 32,27Kb
74
.zip 32,27Kb 74 Скачать
Исходники
.zip 82,67Kb
3
.zip 82,67Kb 3 Скачать

Помыкавшись по сети и ввиду очень ограниченного времени на ожидание ответа от Romix'a (честь ему и хвала), воспользовались его исходниками для vk_hook1C и vk_TerminalSleep, и собрали новую vk_hook1C.dll, которая работает под 2008 сервер, не патчит BkEnd, не ругается на версии ODBC (не нужен ODBC33.DLL) и самое главное, при блокировке не грузит процессор :)

В общем принимайте наше с Old_Joe творчество.

В vk_hook добавлены 2 метода, позволяющие управлять блокировками и дедлоком

 

//глобальная переменная
	Перем vk_hook Экспорт;

//при начале работы системы	
	ЗагрузитьВнешнююКомпоненту(каталогИБ()+"vk_Hook1C.dll"); 
	vk_hook=СоздатьОбъект("Addin.vk_Hook1C");
	vk_hook.ПерехватSQLPrepare(); 
	vk_hook.ПерехватSQLExecDirect(); 
	vk_hook.МаксимальныйSleep=1024; 
	vk_hook.ОтключитьТаймаут = 1; //по умолчанию = 0
	vk_hook.ОтключитьДедлок = 0; //по умолчанию = 0

 

использован материал из статьи: http://www.kb.mista.ru/article.php?id=361

"Секретный релиз" 1С: //infostart.ru/public/82018/

UPD: 2.0.0.31

добавлен метод vk_hook.ВключитьПодмену = 1; // по умолчанию = 0

перед непосредственно запросом необходимо vk_hook.ВключитьПодмену = 1;
Можно конечно один раз включить и не выключать, но тут есть определенный риск. Так что все в ваших руках :)
Принципиально изменена подмена запроса.
В данной версии можно менять как весь запрос так и по части вхождения строки.
К примеру:

vk_hook.ТекстSQL = "SP3111=?"; 
vk_hook.НовыйSQL = "SP3111 in ('     4    ','     7    ') and ''<>?";
vk_hook.УстановитьЗаменуSQL(); 

Позволит везде использовать вместо равенства список значений.
В 

Остальной функционал описаный в статье не изменен.

См. также

HTTP сервер 1С 7.7 + HTTP асинхронный клиент: внешние компоненты для 1С 7.7

Разработка внешних компонент WEB-интеграция Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Компонента HttpSrv7 позволяет создавать веб-сервисы в среде 1С 7.7 и даже, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя компоненту HTTP_Async или синхронный клиент HTTP для 1С 7.7 (публикация № 1152364) можно наладить обмен данными между удаленными информационными базами. С помощью компоненты HTTP_Async можно параллельно посылать много запросов к сайтам, веб-сервисам (в т.ч. к HttpSrv7), а затем обрабатывать данные по мере их поступления.

2000 руб.

27.05.2022    7811    20    13    

31

Компонента ExchangeStruc (Структура Обмена). Прямой обмен данными между потоками, сессиями и окнами.

Разработка внешних компонент Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Россия Платные (руб)

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

7200 руб.

19.04.2023    4799    1    0    

3

Выбор из большого списка (для 1С 7.7)

Разработка внешних компонент Платформа 1С v7.7 Платные (руб)

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

1200 руб.

02.12.2021    5777    2    19    

4

Форма для ввода количества товаров

Разработка внешних компонент Оптовая торговля Платформа 1С v7.7 Конфигурации 1cv7 Управленческий учет Платные (руб)

Расширяем уровень взаимодействия c пользователем с помощью новых возможностей - форма для ввода количества для перемещений и форма ввода количества с упаковками и штуками.

1200 руб.

08.09.2021    7390    0    2    

1

Внешняя компонента для преобразования файлов из/в кодировку Base64 в 1С 7.7

Разработка внешних компонент Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

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

10 стартмани

06.04.2021    9445    14    softmaker    12    

5

Криптография: внешняя компонента для 1С 7.7

Разработка внешних компонент Защита ПО и шифрование Платформа 1С v7.7 Абонемент ($m)

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

1 стартмани

08.06.2020    9050    27    mdbruyfn    10    

9

Протокол UDP: внешняя компонента для 1С 7.7

Разработка внешних компонент Платформа 1С v7.7 Абонемент ($m)

Обмен сообщениями и небольшими файлами по протоколу UDP с 1С и внешними приложениями в локальной сети или сети VPN.

1 стартмани

23.05.2020    7318    5    mdbruyfn    0    

6
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. iov 406 04.04.11 09:47 Сейчас в теме
(0) А по "секретному" релизу если не трудно подкормите информацией... (а то честно говоря как то 7.7 уже не так оперативно отслеживаю.)
2. maxpiter 147 04.04.11 09:51 Сейчас в теме
iov пишет:

(0) А по "секретному" релизу если не трудно подкормите информацией... (а то честно говоря как то 7.7 уже не так оперативно отслеживаю.)


http://infostart.ru/public/82018/
3. zabaluev 461 23.05.11 00:25 Сейчас в теме
Что то не работает оптимизатор на 2003 сервере. До этого использовал vk_TerminalSleep.7z, эффект был. Решил попробовать вашу систему, пользователи закричали, что постоянно транзакции. :(
4. maxpiter 147 23.05.11 10:01 Сейчас в теме
(3) теоретически должно работать, но делалось по Windows Server 2008 + http://infostart.ru/public/82018/

ОтключитьТаймаут = 1 - сделали?
5. zabaluev 461 23.05.11 10:17 Сейчас в теме
Вот такой код вставил:

//////////////////////////////////////////


Перем vk_hook Экспорт;


//////////////////////////////////////////
Процедура ПриНачале.....

ЗагрузитьВнешнююКомпоненту("vk_Hook1C.dll");
vk_hook=СоздатьОбъект("Addin.vk_Hook1C");
vk_hook.ПерехватSQLExecDirect();
vk_hook.МаксимальныйSleep=1024;
vk_hook.ОтключитьТаймаут = 1; //по умолчанию = 0
vk_hook.ОтключитьДедлок = 0; //по умолчанию = 0
6. maxpiter 147 23.05.11 11:07 Сейчас в теме
(5)
возможно BkEnd.dll не оригинальная. Попробуйте взять оригинальную из поставки 1С переименовать ее в BkEnd0.dll, а BkEnd.dll взять из "Секретного релиза", хотя для 2003 достаточно оригинальной BkEnd
Возможно используете ODBC32.dll в связке с ODBC33.dll. Нужна ODBC32.dll оригинальная.
Установите на виртуалке или отдельной машине оригинальную 1С, добавьте туда vk_hook1C.dll и сымитируйте блокировку транзакции.
23. Ferenz 12.12.11 11:31 Сейчас в теме
(6)Скажите пожалуйста, а патченой BkEnd.dll определенно работать не будет?
24. maxpiter 147 12.12.11 11:37 Сейчас в теме
7. maxpiter 147 23.05.11 11:26 Сейчас в теме
(5) прикрепил пример базы.
8. zakiap2 13.11.11 18:54 Сейчас в теме
maxpiter, Пожалуйста выложи на альтернативный хостинг выложите, хочу посмотреть твой вариант ...
imiha; nvhelsing; Maximysis; +3 1 Ответить
9. zakiap2 16.11.11 16:10 Сейчас в теме
Народ хотел спросить кто использует ODBC33.DLL нет ли проблемы с 1с когда много блокировок идет начинается 1с у пользователей закрываться с ошибкой?
10. maxpiter 147 16.11.11 16:53 Сейчас в теме
(9) много это сколько? при 50 не закрывается.
11. zakiap2 16.11.11 16:57 Сейчас в теме
maxpiter пишет:

(9) много это сколько? при 50 не закрывается.

Ну это когда одновремено 3-5 пользователей начинаю проводит доки и тут еще масовая загрузка доков в течении сек 30, так у некоторых почему то 1с тупо закрывается и все, вот немогу понять из за чего скачал эту dll попробую место odnc33.dll
12. maxpiter 147 16.11.11 17:04 Сейчас в теме
(11) не должно, у меня пользователь висит в ожидании до посинения.
13. zakiap2 16.11.11 18:25 Сейчас в теме
maxpiter пишет:

(11) не должно, у меня пользователь висит в ожидании до посинения.


Проверил вроде работает, можно одно пожелание?
Добавить "UseBalloon=1 ; Показывать balloon tooltips (всплывающие сообщения) в трее" как в odbc33 ?
14. maxpiter 147 17.11.11 09:45 Сейчас в теме
(13) добавлений чего либо в эту dll не планируется вообще.
15. zakiap2 17.11.11 09:46 Сейчас в теме
maxpiter пишет:

(13) добавлений чего либо в эту dll не планируется вообще.

Жаль, а тогда можно получить исходники? я сам доработают ...
16. maxpiter 147 17.11.11 10:11 Сейчас в теме
(15) прикрепил исходники. Как "отмодерируют", появится.
17. zakiap2 17.11.11 10:14 Сейчас в теме
maxpiter пишет:

(15) прикрепил исходники. Как "отмодерируют", появится.

Большое спасибо!
18. mxm2 1263 28.11.11 07:39 Сейчас в теме
При работе связки SQL Server 2008 R2 x64 + 1Cpp + Solution6 + vk_hook1C = Выпадает при потытке просмотра движений из журнала документов

При начале работы системы сначала грузится 1Cpp, затем vk_hook1C.

Добавка: Разобрался работает если установить в SQL Совместимость c SQL2000(80). пока работает.
19. maxpiter 147 28.11.11 09:47 Сейчас в теме
(18) 7ка только при такой настройке SQL и работает корректно.
20. cupuyc75 09.12.11 15:13 Сейчас в теме
Попробовал сегодня эту ДЛЛ. Сыпет ошибками каждую секунду, но... нашел в инете решение.
Так что данный код...

Перем vk_hook Экспорт;

...обязателен. Пример юзать от zabaluev один-в-один.
21. maxpiter 147 09.12.11 19:20 Сейчас в теме
(20) а описание посмотреть не судьба? там синим по белому написано :)
http://infostart.ru/public/83504/
22. Ferenz 12.12.11 11:26 Сейчас в теме
(20)А что за ошибки? И какое нашел решение?
25. astars 20.12.11 23:30 Сейчас в теме
Скажите пожалуйста, есть сервер Windows 2008 SP2, SQL 2000, 1С 7.7 (27 релиз), пользователи работают терминально через RemoteApp. Cлучается произвольно, что несколько (от 1 до 4 из 30 однотипных пользователей) подключений, начинают интенсивно использовать процессор, одна сессия забирает 13% проц. времени (всего 8 процессоров) т.е. 1 процессор, при этом у пользователя никаких форм журналов, обработок или списков не открыто. Пользователь при этом никаких изменений не замечает работоспособность не нарушается. Помогает только сброс сессии. Воспроизвести данную ситуацию не удается.
Замеры производительности в отладчике ничего не показали, нагрузку даёт процесс 1cv7s.exe, монитор ресурсов Windiws тоже ничего экстремального не показывает. Использование vk_hook1C результатов не дало.
Есть предположение что данное событие происходит во время краткосрочной потери связи с сервером.
Используются внешние компоненты 1С++, FormEx, DialMail. Используется Перехватчик и ТабличноеПоле, много прямых запросов через ODBCRecordSet.
26. maxpiter 147 21.12.11 17:40 Сейчас в теме
(25) у меня иногда начинает 1С очень сильно тупить у некоторых пользователей. Просто снимаю сессию RDP и пользователь заходит снова, тормоза исчезают. Это не связано с vk_hook.
Благо такое случается раз-два в неделю и в целом не мешает процессу.
27. astars 21.12.11 21:14 Сейчас в теме
(26) у меня ежедневно появляется 2 - 4 таких подключения, а постоянно мониторить подключения нет возможности, благо пока мощности позволяют, но это неправильно. Установить бы причину.
28. maxpiter 147 21.12.11 22:03 Сейчас в теме
(27) так не связано ли это с RDP? или какими-то настройками сервера, сети, конкретной машины пользователя.
если бы SQL то у всех бы тупило
если бы 1С то скорее на похожих ситуациях вешалось бы и опять таки у всех
у меня в основном 3-4 человек с такими зависаниями есть.
Если есть подозрения на "... данное событие происходит во время краткосрочной потери связи ...", то может попробовать для начала в маршрутизаторе провода в гнездах попереставлять, или вообще особо зависающих пересадить на отдельный хаб...
ну это так, мысли вслух
29. xaker1C 22.12.11 04:56 Сейчас в теме
Не было такой проблемы 50 ком в сети все работают с 1с 7.7 и 8.2 смотри настройки сервера 2008
30. profych1 22.12.11 15:32 Сейчас в теме
Тема очень актуальна для тех, кто еще на 7.7
31. astars 27.12.11 00:19 Сейчас в теме
Всем спасибо за участие, проблема решена. Через Process Explorer выяснил что у этих процессов была подгружена ScanOpos.dll, вот она и давала такую нагрузку.
32. Масянечка 10.01.12 22:12 Сейчас в теме
Спасибо огромное! Пробую на связке Windows Server 2008 + Sql Server 2000 SP4 + секретный релиз.
33. MegaDimich 20.01.12 16:29 Сейчас в теме
Подскажите, пожалуйста, будет ли работать это решение на связке Windows Server 2003 + SQL Server 2005 + секретный релиз ?
35. maxpiter 147 20.01.12 17:51 Сейчас в теме
(33) На 2003 сервере нет необходимости устанавливать данную разработку. Эта сделана специально для 2008 сервера.
(34) Да.
34. MegaDimich 20.01.12 16:32 Сейчас в теме
При использовании секретного релиза обязательно ли установить в SQL Совместимость c SQL2000(80)?
36. mybracho 05.04.12 17:45 Сейчас в теме
(34) Так секретный релиз ведь для того и сделан, что б работать "без понижения режима совместимости"
37. maxpiter 147 18.05.12 10:03 Сейчас в теме
(36) попробуйте, потом расскажете как оно живет :)
38. mybracho 18.05.12 10:35 Сейчас в теме
(37) Попробовал. Полгода стоит. Нормально работает.

Для решения проблемы 100 процентов применил патч от ромикса
39. maxpiter 147 18.05.12 10:54 Сейчас в теме
40. mybracho 18.05.12 12:22 Сейчас в теме
41. maxpiter 147 18.05.12 13:33 Сейчас в теме
(40) тема называется "Загрузка процессора 100% в 7.7 под Windows Server 2008"
Для Server 2008 патч от ромикса не работает, почему собственно и наваял это решения.
В описании про это написано.
42. shurix 21.05.12 15:14 Сейчас в теме
Я не 1Сник, поэтому прошу о маленьком уточнении:
достаточно просто подключить эту ВК для устранения проблемы или необходимо еще переписывать что-то в БД?
43. maxpiter 147 21.05.12 15:23 Сейчас в теме
(42) достаточно подключить как написано в примере.
В приложении к публикации есть пример конфигурации.
44. shurix 21.05.12 15:33 Сейчас в теме
(43) спасибо за оперативный ответ.
45. ALCAPONA 26.05.12 18:50 Сейчас в теме
Привет, maxpiter !

Имеем Win 2008 Std R2 + SQL 2008 Ent R2 + 7.7.027 + секретный релиз (начальный BkEnd оригинальный, переименован в BkEnd0).

В каталог ИБ положил Вашу dll, в глобальник прописал

ЗагрузитьВнешнююКомпоненту(каталогИБ()+"vk_Hook1C.dll");
vk_hook=СоздатьОбъект("Addin.vk_Hook1C");
vk_hook.ПерехватSQLExecDirect();
vk_hook.МаксимальныйSleep=1024;
vk_hook.ОтключитьТаймаут = 1; //по умолчанию = 0
vk_hook.ОтключитьДедлок = 0; //по умолчанию = 0

ЗагрузитьВнешнююКомпоненту и СоздатьОбъект отрабатывает правильно, а на строке
"vk_hook.ПерехватSQLExecDirect();" 1с-ка замирает и выбрасывается с ошибкой.

После этого к сожалению пришлось закоментарить в глобальнике вызов Вашей компоненты.

Не могли бы Вы помочь мне в данной ситуации ?
46. maxpiter 147 26.05.12 22:12 Сейчас в теме
(45) попробуйте конфигурацию, приложенную в примере.
На ней как себя будет вести?
47. ALCAPONA 27.05.12 12:00 Сейчас в теме
(46)
Пример скачать сам не могу, т.к. на форуме ещё менее 20 сообщений.

Но вчера попробовал то же самое, но при понижении режима совместимости в БД до SQL 2000. В такой ситуации Ваша dll работает и справляется с блокировками как надо. Вот только остался како-то неприятный осадок, что специально ставился секретный релиз для сохранения режима SQL 2008, но всё таки его пришлось понижать ...
48. maxpiter 147 28.05.12 09:46 Сейчас в теме
(47) а если режим совместимости поставить 2005? на момент тестирования у меня SQL 2005 установлен.
49. ALCAPONA 28.05.12 11:59 Сейчас в теме
(48)
Уже запустил в созданную рабочую базу людей, пока не смогу опробовать.
50. ALCAPONA 29.05.12 14:47 Сейчас в теме
Попробовал режим совместимости 2005, та же история, вернул 2000.
51. vitn 31.05.12 02:19 Сейчас в теме
vk_hook1C.dll работает только если РЕЖИМ совместимости SQL установлен 2000, какой смысл тогда секретного релиза????????????
53. maxpiter 147 31.05.12 10:10 Сейчас в теме
(51) без "секретного релиза" 1С не запустится на 7ке и 2008 винде без изменения 1С'ных библиотек.
(52)
по идее нужно найти как называется функция перехвата для 2005 и 2008 sql.
для 2000 она называется SQLExecDirectA и SQLPrepareA.
----
хотя не факт, что получится, т.к. нужно разбирать эту самую функцию придется.

Мне сейчас искать их ну никак не получается, воюю с почтой россии и таможней :(
54. ALCAPONA 31.05.12 12:10 Сейчас в теме
(53)
Ну если у Вас получится это сделать в обозримом будущем, буду Вам очень признателен.
68. shurix 06.03.13 12:37 Сейчас в теме
(53) вы "совершенно случайно" :-) не нашли свободного времени, чтобы сделать поддержку для sql2005/sql2008 режимов?
69. maxpiter 147 22.08.13 09:55 Сейчас в теме
(68) shurix, теперь ответный вопрос к вам :) а вы разобрались с исходниками? получилось реализовать?
52. ALCAPONA 31.05.12 08:59 Сейчас в теме
Уважаемый maxpiter, может быть у Вас есть возможность переписать эту разработку для работы хотя бы в режиме совместимости SQL 2005 ?
55. shurix 02.06.12 19:33 Сейчас в теме
maxpiter, такой вот вопрос ("слегка" не по теме):
здесь на Инфостарте есть публикация "Удобная "выгонялка" пользователей из 1С без доработок кода" ( http://infostart.ru/public/14593/ ), основанная на разработке Romix'а. Она "вклинивается" в адресное пространство с целью перехвата WinAPI-функции ShellExecuteA при помощи патчинга seven.dll (заменяется с shell32.dll на hook_1c.dll). В общем, для меня весьма удобная штука была бы, если бы не одно "но"...
Беда в том, что эта "выгонялка" не работает с Секретным Релизом. Может посоветуете что, учитывая что и у вас, и в той разработке используется hook_1c.dll ?
56. maxpiter 147 02.06.12 20:03 Сейчас в теме
(55) Подменять вашу hook_1c.dll на ту которая предложена в этой публикации пробовали?
dll можно переименовать из vk_Hook1C.dll в hook_1c.dll и в конфигурации заменить на СоздатьОбъект("Addin.vk_Hook1C");
Все остальное по идее должно работать.

Или же в указанной вами публикации в hook_1c.dll внесены дополнения?
57. shurix 02.06.12 20:12 Сейчас в теме
(56) попробую воспользоваться вашим советом.
Меня слегка смущает, что при использовании этой "выгонялки" для юзверя сообщение о блокировке базы появляется до выбора пользователей из списка 1С.

Не знаю, насколько там изменена dll-ка. Она называется HOOK_1C.DLL и загружает плагины, перечисленные в файле Hook_1C.ini, из папки Plugins.

P.S. Попробовал - пишет, что в библиотеке отсутствует точка входа ShellExecuteA :-(
58. maxpiter 147 02.06.12 20:37 Сейчас в теме
(57) увы ничем помочь не могу, причины в 53
Может быть, когда-нибудь :)
Исходники у этой публикации и предложенной вами есть, осталось найти того, кто сможет их собрать :)
59. shurix 03.06.12 01:03 Сейчас в теме
(58) Выяснил в чём "затык" у той "выгонялки" - при использовании её вкупе с Секретным Релизом почему-то не появляется в трэе значок, через который можно заблокировать/разблокировать базу. Остается найти прогера, который исправит проблему (ООП и иже с ним, к сожалению, не мой профиль) или "терроризировать" самого автора-разработчика.
60. tana1257 2 12.08.12 12:14 Сейчас в теме
На данный момент очень актуальна Ваша сборка, так как процессор стал нагружаться до 100%. У нас Windows Server 2008, почему то 2,5 месяца(установили сервер 2008) все работало замечательно, установлен BkEnd пропатченный, теперь 5 дней, как все пользователи взвыли, очень сильно стал тормозить сервер. Попробую использовать вашу сборку.
62. maxpiter 147 12.08.12 12:52 Сейчас в теме
(60) интересно как у вас оно работало 2,5 месяца? Смысл "секретного релиза", как раз и заключается в том, чтобы 1С запустилась "в ОС Win Vista/7/2008 в режиме клиент-сервера (без манипуляций с файлами odbc-драйвера); "
(61) если у вас и так работает без "секретного релиза", то вам его не нужно устанавливать. Достаточно скачать vk_hook1C.dll
61. tana1257 2 12.08.12 12:37 Сейчас в теме
Извените, что-то я не поняла, у вас нагружался процессор 100% при "секретном" релизе? У нас такое стало происходить при обычной конфигурации 1С (ПУБ). Для использования вашего оптимизатора, я должна установить "секретный" релиз?
63. tana1257 2 12.08.12 12:53 Сейчас в теме
Не дописала с обычным релизом.
64. tana1257 2 12.08.12 13:01 Сейчас в теме
Суть в том, что у на работала 1С с обычным релизом, на Сервере 2005, был полнейший тормоз, 2,5 назад купили новый сервер и установили 2008(я обычный пользователь, может не так изъясняюсь) Все пользователи вздохнули,1С стала "летать". Но наша радость длилась не долго, вот уже 5 дней, как при работе даже двух пользователей процесор подскакивает под 100% и обработка стала происходить очень медленно. Если я установлю "секретный" релиз и ваш оптимизатор улучшится ли работа 1С?
65. maxpiter 147 12.08.12 13:05 Сейчас в теме
(64) то что вы описываете, после установки компоненты и релиза, должно исчезнуть.
К публикации прикреплен файл с демо базой, запустите его с вашими библиотеками, потом с теми что в поставке, сравните результат.
67. astars 05.09.12 18:03 Сейчас в теме
(64)Релиз установить нужно это проверено. Но если загрузка подскакивает до 100% при 2-активных пользователях, это что то с системой. Посмотри посты выше у меня была похожая ситуация.
66. tana1257 2 12.08.12 13:59 Сейчас в теме
Большое спасибо за такой быстрый ответ
70. Maximysis 9 25.11.13 07:10 Сейчас в теме
Автору респект!!! Вещь нужная.
Интересно а есть ли нечто подобное при записи справочников...
71. Maximysis 9 25.11.13 13:36 Сейчас в теме
ОтключитьДедлок что делает?
73. mrcastmaster 24.04.15 08:31 Сейчас в теме
Очень нужная вещь!
Но проблема появилась следующего характера кто сталкивался?
Неудачная попытка создания vk_hook=СоздатьОбъект("Addin.vk_Hook1C");
74. maxpiter 147 06.05.15 10:54 Сейчас в теме
(73) mrcastmaster,
Не загружена компонента.
Загрузку, инициализацию объекта и переменных делать в ГМ
75. mrcastmaster 14.05.15 16:13 Сейчас в теме
(74)
Спасибо за ответ.
Все прописал как и описан ов статье ушла проблема загрузки в 100% терминального сервера. НО не ушла проблема медленной работы 1С 7.7 и sql 2008 r2, все пользователи в терминале 2008 r2. Когда всех выгоняю и заходят первые люди все нормально, все работает. Но как только людей заваливается за 25-30 все начинает висеть и проведение 1 документа от 10 минут. Кто еще подскажет какие действия можно предпринять именно в данной связке(не предлагать использование sql 2000 и терминала под 2003)
База 30 Гб. Пользователей до 170.
76. maxpiter 147 19.05.15 21:29 Сейчас в теме
(75) mrcastmaster, смотреть настройки SQL
У меня SQL сервер 16 ядер, 128 гигов оперативки. БД вся в памяти умещается пока.
База 105 гигов + log 91 гиг. tempdb на RAM диске.
Работают одновременно до 75 юзеров. Самое долгое проведение 15 секунд, самое быстрое 0.19 секунды.
То что до 10 минут проводится, означает что вы используете механизмы 1С для проведения документов, что очень плохо.
Включайте отладчик и смотрите кто тупит, скорее всего ВременныйРассчет().
И переходите на прямые запросы.
77. Supportkfk 10.05.16 14:09 Сейчас в теме
Привет всем
Сильно не бейте.
Скачал dll и пример базы. Все регистрируется, ошибок не выдает. НО нифига не фильтрует.
В чем может быть проблема?
78. maxpiter 147 14.05.16 13:45 Сейчас в теме
(77) Supportkfk, сложно так сказать.
На базе примера сделайте, пожалуйста, фильтрацию документов в журнале, как вы это видите и прикрепите сюда.
79. phsin 181 08.12.16 16:04 Сейчас в теме
Спасибо за разработку.

Нашел ошибку - если в параметрах SQL базы установить Режим совместимости = 100 (MS SQL 2008)
то при открытии журнала документов возникает ошибка:
---------------------------
1С:Предприятие
---------------------------
SQL State: 42000
Native: 1018
Message: [Microsoft][ODBC SQL Server Driver][SQL Server]Неправильный синтаксис около "INDEX". Если имелась в виду часть табличной подсказки, то для этого теперь необходимо использовать ключевое слово A WITH и круглые скобки. Правильный синтаксис см. в электронной документации по SQL Server.

SQL State: 42000
Native: 8180
Message: [Microsoft][ODBC SQL Server Driver][SQL Server]Не удалось выполнить подготовку инструкций.

---------------------------
ОК
---------------------------

Если режим совместимости = 80, ошибка не возникает.
Прикрепленные файлы:
80. maxpiter 147 09.12.16 22:30 Сейчас в теме
(79) сминусовать бы :)
коммент 18 и 34 выше написаны.

Этот функционал работает только с режимом совместимости 80
81. chingiz001 23.07.19 10:08 Сейчас в теме
(80) Я вот тоже не понимаю, если использовать режим совместимости 80, то зачем тогда использовать секретный релиз?
82. maxpiter 147 23.07.19 17:11 Сейчас в теме
(81) столько лет уже прошло :)
Без секретно релиза на 2008r2 1С не стартовала в даты топика. Как сейчас не знаю.
83. aldi.ivanovo 08.11.19 08:25 Сейчас в теме
vk_hook.ПерехватSQLPrepare() начинает перехват сообщений, а как завершить его?

я использую режим совместимости sql 2014, перехват включаю только в одном журнале, перехватываю нужные мне запросы, ну и пяток не нужных, т.к. vk_hook шпарит запросы на диалекте sql 2000( другой сиснтаксис хинтов запроса ), приходится их тоже подменять.
т.е. после установки нужных мне отборов мне перехват больше не нужен, а пользоваться полноценно журналом (смотреть подчиненные документы и т.д. ) уже невозможно, т.к. придется перехватывать кучу служебных запросов и все их заменять, чего делать не хочется.
Есть ли метод остановки перехвата?
т.е. ПерехватSQLPrepare() перехват начинает, а что может его завершить?
90. maxpiter 147 11.11.19 16:59 Сейчас в теме
(83) отключать ПерехватSQLPrepare метода нет, но он и не нужен, т.к. управление подменой реализовывается через
УстановитьЗаменуSQL и УдалитьЗаменуSQL

у меня реализовано так

//======================================================================
Процедура локУстановитьВКХук(vk_hook, стрКонтр, ИДОбъектов)
	т = "SP"+глМД.ИДОбъекта(Метаданные.ОбщийРеквизитДокумента(стрКонтр));
	vk_hook.ТекстSQL=т+"=?";
	vk_hook.НовыйSQL=ИДОбъектов+т+"=?";
	vk_hook.УстановитьЗаменуSQL();		
КонецПроцедуры // локУстановитьВКХук

//==========================================================­============
Процедура локУдалитьВКХук(vk_hook, стрКонтр)
	т = "SP"+глМД.ИДОбъекта(Метаданные.ОбщийРеквизитДокумента(стрКонтр));
	vk_hook.ТекстSQL=т+"=?";
	vk_hook.УдалитьЗаменуSQL();
КонецПроцедуры // локУдалитьВКХук
Показать
92. maxpiter 147 11.11.19 17:39 Сейчас в теме
(83) предыдущий пост не совсем корректный, правильно так.

vk_hook.ВключитьПодмену = 1;

vk_hook.ТекстSQL="Sel ect * fr om _1SJOURN(NOLOCK) where";
vk_hook.НовыйSQL="Select * fr om _1SJOURN(NOLOCK) wh ere "+ИДОбъектовЮрЛицо+ИДОбъектов+ИДОбъектовАдмин;
vk_hook.УстановитьЗаменуSQL();


и когда она более не нужна, то

vk_hook.ВключитьПодмену = 0;
84. CheBurator 3119 08.11.19 11:29 Сейчас в теме
Может кто-то подскажет в чем дело
(доступа к с кулю не имею, SQL2008)

Подключаюсь на удаленку к клиенту
При попытке модификации метаданных - вылазит проблем.
Например:
- создаю новый справочник, сохраняю конфигурацию - все норм.
- спр.номенклатура - меняю порядок реквизитов (строки неогр.длины вниз спсика реквизитов), сохраняю конфигурацию - бежит счетчик обработки спр.номенклатруры на 900 элементе в конфигураторе окошко проблемы (пиктограмма красный круглый знак ошибки), сообщеняи на окне никакого нет и кнопкой "Ок", жмем кнопку - получаем сообщение о проблеме
- аналогично предыдущему, если пытаемся добавить реквизит в справочник.

Проблемное сообщение:
SQL State: HY000
Native: 0
.... Подключение занято до получения результатов для другого hstmt

Беглое яндексение ссылается на проблемы когда прикладная работа с базой прямыми запросами и куросрами.
Про конфигуратор - ничего бегло не нарыл.
.
куда смотреть, что копать?
Спсб.
85. aldi.ivanovo 08.11.19 12:52 Сейчас в теме
(84)
Как вариант нарушена уникальность какого нибудь поля в этом элементе(кода как правило), запустить в режиме предприятия, сортирнуть по коду, посмотреть что за 900й элемент, попробовать пересохранить его вручную с какими либо изменениями.
86. CheBurator 3119 08.11.19 12:53 Сейчас в теме
(85) нет. такая же ситуация наблюдается если я аналогичным способом модифицирую спр.контрагенты
87. aldi.ivanovo 08.11.19 13:25 Сейчас в теме
(86)

да, какая то нетипичная ошибка для конфигуратора.
доступ к скулю все равно нужен.
перевести на сервере базу в синглюзер режим через менеджемент студио тот же самый, предварительно через активити монитор посмотреть все соединения к базе, закрыть его. и запустить конфигуратор для изменений.
88. CheBurator 3119 09.11.19 00:06 Сейчас в теме
(87) хреново, это надо забэкапить скулем на всякий случай, а потом уже майстрячить...
91. maxpiter 147 11.11.19 17:02 Сейчас в теме
(84) возможно 1Сные dll не оригинальные используются в БД. С 2011 года используется этот перехватчик и описанных или каких-либо проблем с конфигуратором или БД не возникало. тьфу-тьфу-тьфу :)

Режим совместимости 80 стоит?
93. aldi.ivanovo 12.11.19 08:09 Сейчас в теме
(91)
(92)
в том то и дело, что режим совместимости sql 2014. я понимаю, что как только включается ПерехватSQLPrepare() все запросы идут через hook. я использую 27 последний релиз где используется BkEndUtls.dll, беда в том что hook перехватывает весь sql трафик и запросы идут в режиме совместимости с sql 2000. Я использую его в пределах одного журнала, и хотелось бы управлять возможностью включения и отключения перехвата, потому что вне зависимости от включенных/отключенных подмен hook пропускает через себя все запросы.
89. aldi.ivanovo 11.11.19 08:06 Сейчас в теме
зачем, это типовые операции и к изменению структуры БД отношения не имеют, делается для отсечения прочих соединений, если они есть, чтоб уж быть точно уверенным. Бэкап и так делаться должен.
94. user100000 20.12.19 13:28 Сейчас в теме
ПерехватSQLPrepare так и не работает на режиме выше 80 ?
95. maxpiter 147 06.02.20 17:23 Сейчас в теме
(94) нет и не планировал переписывать библиотеку.
Можно включить когда нужна подмена и включать когда запрос выполнился.
96. Ветер в поле 3 30.07.20 13:42 Сейчас в теме
В комментариях упоминаются исходники, но в публикации я не вижу как их скачать.
Очень уж хочется доработать библиотеку для работы без режима понижения совместимости.
97. maxpiter 147 04.08.20 11:53 Сейчас в теме
(96) странно, исходники были прикреплены, но куда-то сплыли (((
поищу у себя, но шансов мало (((
98. maxpiter 147 04.08.20 12:00 Сейчас в теме
99. mshi 04.08.20 15:31 Сейчас в теме
Оставьте свое сообщение