#0
by Dave Owen OWL
Собственно сабж, может кто подскажет с чего начать и какие есть альтернативы для решения такой задачки? Может кто ссылок накидает?
#1
by avmlvm
без понимания сути проблем - сложно посоветовать чЁ-нибудь путное :-) Короче.. А нафига????
#4
by Лефмихалыч
есть ВК такая rainbow называицца. она простая в использовании и результат ее работы внешне выглядит, как то, что ты хочешь. Пользуй ее
#5
by avmlvm
если это от 7-ки, то тут к сиквелу такой изврат идёт, что проблема не сколько "перехватить", а разобраться "что к чему" :-))))
#7
by avmlvm
(задумчиво) хм-м-м.. "перехватить"??? Перехватить - легко.. Но разбираться "что, зачем, и как"??? Хм-м-м.. там такая "катавасия"... 7-ка работает с сиквилом очень топорно... Да и 8-ка тоже "не идеал" т.к. используемый 1С сиквел это "расширение" стандарта...
#8
by Dave Owen OWL
Есть задачка по доп фильтрам для форм справочников и журналов, какой запрос отправляет 1С (платформа, а не языком) я знаю, мнеб в него добавтвить одну строчку WHERE ... и пропустить дальше до SQL Типа того :) Собственно с T-SQL проблем за собой не замечал, возможно со стороны видней
#9
by Лефмихалыч
а не проще в таком случе заменить объект "Запрос" на AdoConnection и слать тот запрос, который надо?
#11
by Dave Owen OWL
Rainbow (она же Радуга) это запросы из языка, мне же надо перехватывать и подменять запросы платформы Мнеб перехватить что-нить и подменить что-нить, а уж отладить чтоб всё работало как надо это для меня не проблема
#12
by Dave Owen OWL
Хочеться чтоб штатные кнопочки создать новый, удалить остались на месте. По подробней по кнопочке это как? Ставить галочку в конфигураторе "отбор"?
#14
by Dave Owen OWL
(all) Собственно пути хочеться перебрать возможные, ну например: 1) Перелопатить BkEnd.dll в стрингах "from %s" подменить на "from %s_XX" и для каждой таблицы прописать views_ХХ 2) Настряпать собственную dll и в ней "волшебной" API функцией ловить конект 3) Сделать TCP/IP прокси и анализировать трафик SQL (собственно тоже вариант:)
#16
by Dave Owen OWL
Именно установкой ловушек на API функции у romix есть хорошие наработки по этому делу
#19
by Dave Owen OWL
Оптимизировать алгоритм проведения документа или формирование отчета через T-SQL это совсем другая задача я обычно для этого пользуюсь 1cpp. Мнебы платформенные механизмы перехватывать...
#22
by Лефмихалыч
третий вариант - это большой такой ручной тормоз, почти реверс 9это тоже тормоз, только быстрый)
#24
by Dave Owen OWL
Короче можно этот тормоз вставить между 1C и ODBCC или нет?! в другие места, а именно в саму 1С не очень хотца.
#25
by Лефмихалыч
уж лучше первый или второй вариант, поскольку в третьем твой прокси будет удлиннять время ожидания и будут частые обломы с проведением докуентов и прочие чудеса с транзакциями - анализировать-то он будет весь трафик, а не только нужные данные рихтовать
#26
by Dave Owen OWL
Вот нашел ссылку от SoftPoint "...внешняя компонента, которая подменяет вызовы 1С на более эффективные..." Но технология, не раскрывается как делают :(
#29
by Dave Owen OWL
Ну можно и на бейсике, только в обучающих целях, так сказать для отладки. Все равно на Си или Asm переписывать надо будет, чтоб тормозов небыло.
#31
by папа
Это ж скока платить должны и как все остальное должно быть отлажено, чтобы таким делом заниматься...
#32
by Лефмихалыч
при больших оборотах семерка сильные тормоза изза блокровок дает, в час пик работать почти не возможно, таким образом, иногда такие трудозатрахи оправданы
#33
by Dave Owen OWL
Действительно, и кушать тоже хочеться, а задачки только такие подкитывают. Я бы рад отчетики на SQL переписывать по тихоньку. Может в библиотеку устроиться каталоги на 1с80 переписывать :)
#35
by Dave Owen OWL
Мне код хоть на Делфи разок посмотреть, я сообразительный всё пойму, может кто поделиться если что-то похожее есть?
#36
by Dave Owen OWL
(all) Большое спасибо за помощь, проблема решена установкой ловушки между V77 и диспетчером odbc.
#40
by Dave Owen OWL
Любой запрос от 1С в любом случае уходит в ODBC драйвер, его интерфейс содержиться в odbc32.dll, в моем случае достаточно перехватывать @SQLExecDirect. Методы и исходники перехвата очень хорошо описаны у romix-а.
#41
by Лефмихалыч
(+36) мне вот тоже интересно до жути. Dave Owen OWL, если не жалко, расшарь разработочку?
#42
by Dave Owen OWL
Вы чё парни я только сел писать у меня счас только есть расковыренная dll и пару статей по этому поводу и маленькая демка, которая работает через раз :(
#43
by Лефмихалыч
да я в действительности просил поделиться ноу хау, а не готовым проектом, лично мне сказанного в хватит чтобы уталить мое любопытство 8)
#44
by Dave Owen OWL
(+40) Маленькая ошибочка вкралась спешу подправиться. @SQLExecDirect - не используется для отбора, ну т.е. он используется но немного для другого, на самом деле нужно хватать связку SQLPrepareA и SQLExecute именно их 1С использует для выборки, что показывать на экран. Но как оказалось 1C очень чувствительна к задержкам в SQLExecute причем SQLExecDirect она ждет достаточно терпеливо. Вот в чем здесь дело никак не пойму.
#45
by _r2003
Как ты думаешь что тебе это даст? Может тебе собрать статистику и понять что изменением мелких запросов ты ничего не изменишь. Платформа в общем случае работает идеально, за исключением тех случаев когда люди не понимают зачем галочки в конфигураторе ставят. Тут проскакивала мысль что v8 правильнее строит запросы, ничего не хочу сказать про себя но по работе типовых можно как раз сделать обратные выводы. Тут так же была мысль о работе с 1Сpp и Радугой, ох не понимаю я этот форум говоришь 7.7 хорошо кричат 8.0 круче всех тогда зачем вам 1С++ и Радуга. Может лучше 8.0 изучать. Я вот думал о разных оптимизациях таблицы справочников и констант в ОЗУ (PIN) фиксировать или там опять же судя по статистике параметричекие запросы для бух итогов на порядок хуже обычных, в тоже время для типизации справочников они идеальны. Что касается индексов, 1С не спроста их указывает как раз по статистике они должны быть, а их использованием можно и конфой управлять.Я так смотрю ты парень не глупый раз такое можешь так может всё таки сделаешь что нить полезное... P.S. А вообще самое лучшее для v7.7 это оптимизация блокировок.
#47
by Dave Owen OWL
Спасибо, конечно, за теплые слова в мой, 77 и 80 адрес. Но ветка поднималась про перехват, а зачем это делать это другое дело не побоюсь этого слова "личное" :) Про статейку из намекаешь? Она проплачена SP - это банальная реклама, нашли глюк хотят нажиться - это бизнес. Попробуй не покривя серцем вспомнить сколько ты делал ошибок в программах? Про 1С++ скажу, что она мной воспринимаются не как "костыли для убогого движка 77", а как "нормальная практика использования ОПП" (в хорошем смысле этого слова). А что в 1С++ есть ещё и прямые запросы так это вобще супер, одной длл получаешь большой функционал и большой респект ребятам которые всё это дело собрали в одной библиотеке. PS Блокировки это круто и этим тоже можно заниматься, только зачем их в этой ветке упоминать :)))
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- перехват net send
- Перехват записи дока или спр без изменения конфигурации
- Перехват SQL запросов 1С
- Проектирование: 1С 7.7 SQL + Windows 2003 Server + MS SQL Server 2000 (Ent) + сервер термин
- компонента vk_hook1c - подмена запросов в стандартных журналах
- Установка MS SQL Server 2000 64-bit на MS Windows Server 2003 Enterprise x64 Edition
- Перехват нажатия клавиш без использования ВК(самописных dll)
- Отладка запросов в консоли запросов - временные таблицы
- Вылетает 1С БП 2.0 при открытии в консоли запросов конструктора запросов
- v7: v7 Перехват глобального события ПриЗаписи() или ОбработкаПроведения()
- Подскажите конструктор SQL запросов для MS SQL.
- Бух 3.0 подмена регистратора в регистре бухгалтерии
В этой группе 1С
- Периодические реквизиты
- v7: Как передать значение переменной в запрос?
- Затупил: как по внешнему событию спозиционироваться доке на нужной строке
- Где Citrix хранит учетные данные приложений?
- Неправильно заполняются средний заработок в начислении отпуска
- Программно в документе скрыть колонку
- TERMINAL ошибка приложения 1cv7.exe
- AddIn на delphi. Помогите отловить ISpecifyPropertyPages.
- Отображение реквизита справочника
- Как программно закрыть таблицу?
- Выгрузка/загрузка - объем базы увеличился!
- Расчет зарплаты договорникам
- КАМИНовская зарплата
- Отпуска будущих периодов
- Как надбавку за вредность по штатному связать с часами по табелю?
- Управление автотранспортом и ключи
- Как посмотреть историю в журнале регистрации если у документа нет пользователя
- Ошибка при создании информационной базы
- Переустановка 1С 8.0
- изменение субконто 76 счета