Расскажите как на SQL перехватить запросы 1с(чтобы их немного поменять)? #179365


#0 by Иван_1с
Решил стсть Господь-Богом 1С :)
#1 by Иван_1с
Эге-гей!
#2 by Asmody
[ Господь-Богом ] - это к Матрейи или в кашенко...
#3 by Лямур
Спроси у Microsoft Corparation.
#4 by insider
я смотрю ты никак не оставишь свои странные идеи...
#5 by Иван_1с
Я упорный, вот помню в школе все училки просто вешались :)
#6 by kazam
а почему не MS SQL?
#7 by Asmody
и много повешеных училок на твоей совести? у нас доведение до самоубийства - это статья в УК
#8 by romix
Образчик кода (компилятор - Delphi 6) здесь:
#9 by kazam
(5 ) а физрук?
#10 by kazam
(8 ) сила!
#11 by insider
упорство - это конечно хорошо, но в данном случае это бессмысленная проверка факта того, что при битие лбом о стену, стена всегда окажется крепче. я же предложил тебе вчера вменяемый вариант... да ему не это надо, он сферического коня в вакууме строит...
#12 by КонецЦикла
О! Превед, Ванечка!
#13 by Иван_1с
а если я никакие Дельфи не знаю? Можно как-то прямо в SQL на входящие запросы? Согласитесь такая настройка полезна не только для 1С. MS SQLэто и есть
#14 by insider
просто: пишем драйвер, который снифает трафик скуля, интерпретирует его в понятную форму, заменяет, передает управление дальше скулю... только это слегка сложнее, чем с делфями разобраться... порядка на два...
#15 by kazam
и получаем сферического коня :)
#16 by insider
ну мы ж легких путей не ищем... :)
#17 by Иван_1с
хочу использовать настройки SQLна входящие запросы,и как мне кажется такие настройки должны быть,надо только узнать где
#18 by kazam
(17 ) они в компутере, просто на мониторе их не видно
#19 by Иде я
Не - не взлетит. Уровень не тот...
#20 by insider
почитай мануал у скулю, не мучай людей, мы покрепче твоих училок :)
#21 by Регистр
Самоуверенный студентик Ваня знакомится с суровой действительностью...
#22 by Иван_1с
я нерусский не понимаю,а настроить надо.Да и потом,я думаю вы все признаете важность этого решения
#23 by insider
есть уже рабочие отлаженные решения, суть твоего "решения" непонятна и не нужна...
#24 by Иван_1с
смысл: не переделывать конфигурацию 1с, а сделать настройки SQL и обновление будет проходить на 5+,безе переписи кучи модулей(Как говорил Ленин надо захватить почту,телеграф,телефон вот я и пытаюсь захватить самый главный узел-входящие запросы)
#25 by Иван_1с
и тогда никакого кода на 1с++ не надо,все модули-типовые,а работает все БЫСТРО
#26 by Иде я
Окей. А теперь раскажи твои действия если тебе нужно будет сделать реквизит периодическим, Пару регистров влепить и пяток субсчетов ? сдается мне без вазелину тебе не обойтись будет...
#27 by insider
чудес не бывает, оставь эту идею...
#28 by Иван_1с
Структура задается в 1С,а вот модули проведения частоиспользуемых документов пишутся в SQL где надо вазелин?
#29 by Иван_1с
в смысле не сюда. Просто изменение запросов и все, и никакого изменения структуры!
#30 by Дяпти
Это что то вроде триггера на select. Мощно, гы :-)
#31 by Иде я
Ты будешь использовать какие механизмы SQL ? А вазелин тебе понадобится - или ваша система создается раз и на века ? Или ты во франче работаешь и тока с типовыми имеешь дело ? Блин, ты что для периодического реквизита будешь создавать свою таблицу и копировать механизм периодических значений вручную ? Чет я не втыкаю - балтика 0..
#32 by insider
не пытайся разобраться, там со здравым смыслом проблемы, этого не понять :)
#33 by Иде я
Это не взлетит по нескольким причинам. 1. Тебе за ЭТО не платят. 2. Тебе платят за другое ;) 3. Если тебе платят, то хотят видеть результат. 4. Результат хотят видеть завтра, или обычно вчера. 5. Тебя это заимеет раньше, чем ты вникнешь в механизмы SQL 6.Если тебя это не заимеет и ты вникнешь в механизмы настолько,чтобы иметь возможность это реализовать - ты не будешь этого делать, т.к. бред.
#34 by Иван_1с
Причем тут создание переодических реквизитов? Вопрос звучит:"Расскажите как на SQL перехватить запросы 1с(чтобы их немного поменять)?".Я просто хочу запросы входящие подправлять и ВСЁ!!! Похожее сделано у 1с++, только они их подправляют на стороне клиента,переписывая конфу...
#35 by kazam
перестань мучать СКЛ
#36 by Иван_1с
в том-то и проблема 1с: её спецы ничего не знают про систему где хранят данные(если задуматься,то это смешно)
#37 by Иде я
Тада тебе надо писать проксю которая будет эмулировать протоколы SQL и подменять запросы. Но ты даже с Delphi не можешь...
#38 by Иде я
Забей. На запросы ты ничего не повесишь. Тривиальным путем :)
#39 by Иде я
Все таки наверное накатило...раз я здесь распинаюсь ;)
#40 by Sadovnikov
И где pit с очердной картинкой про дятлов?...
#41 by skunk
а мне предлагал
#42 by Иван_1с
Хорошо,не на запросы, на клиентские 1сv7.exe можно какие-то оболочки повешать.Ведь должны быть написаны программы перехватчики безотносительно к 1С, которые перехватывают трафик. Да и вообще это 100% на SQL можно сделать, только грамотных мало.
#43 by insider
чаво? это ты всем или кому-то конкретно? дап, его не хватает :)
#44 by Иде я
Microsoft Network Monitor
#45 by Sadovnikov
Ну так последний рабочий день на этой неделе... Делай скидки.
#46 by skunk
о кей ... персонально для вас 50% скидок
#47 by Иде я
На чистом TSQL это это сделать незьзя. У тебя SQL ServeР стоит локально ? Books Online почитай
#48 by insider
чудо ты... rainbow и так перехватывает функции 1С (технология на основе которой написана 1С++), другой вариант все равно будет работать на основе того же, т.е "1с-совместимо" в жизни не получит. точка.
#49 by Иван_1с
В смысле локально? Есть сервер,на нем стоит SQL,есть клиенты с 1с,они обращаются к серверу... Books Online на нерусском а мне не надо 1с-совместимо.Очевидно,что подмена вызовов с с "совместимо" не имеет ничего общего.Хочу как можно меньше корежить конфу,вот и вся задумка
#50 by Иде я
Нееее.. На русском SQL не поймет. Хотя если вставлять универсальные слова для связки. И произносить их вслух...
#51 by fisher
2 Это уже реализовывалось в отдельных проектах (перехват и модификация запросов 1С к SQL-серверу). А грамотных мало, ты прав. Только будучи самому безграмотным как-то странно обвинять в безграмотности других. Тем более, что об их грамотности ты никакой инфы не имеешь. Зато о себе ты уже рассказал более чем.
#52 by Иван_1с
Вообще-то они тоже о себе рассказали:кроме глупых вопросов ничего, да предложения написать перехватчик вручную... А Может расскажешь,что за проекты?
#53 by insider
.2 имхо не выйдет, да и по трудоемкости врядли быстрее, наоборот. +1
#54 by Иде я
А ты как хочешь написать перехватчик ? Автоматом ? Или ты думаешь что тут можно мышкой покликать и получить искомое ?!
#55 by Иван_1с
я не думаю,я уверн, что можно мыкой покликать и получить искомое.Надо только знать где кликать.
#56 by EagleUA
тему не читал редактируй dll 1Cки в которой шаблоны запросов зашиты (bkend.dll помоему) и будет тебе щастье
#57 by Иде я
Ясно. Вопросов больше не имею.
#58 by insider
НЕЛЬЗЯ просто покликать это диагноз уже, так что присоединяюсь к предыдущему оратору
#59 by fisher
2 Хотел дать ссылку, не могу найти... На в своё время выкладывалась статья и было описание их продукта, который для SQL версии модифицировал запросы 1С к справочникам, которые в отдельных случаях могли быть неоптимальны.
#60 by Иван_1с
Жаль,а то меня тут уже заклевали :)
#61 by fisher
2 Заклевали совершенно справедливо. Ибо после прочтения ветки вспоминается присловье: хуже дурака только дурак с иницинативой. Без обид :) Заклевали не потому, что этого нельзя сделать принципиально, а потому, что вы пытаетесь микроскопом гвозди забивать, удалять гланды через ж..., и т.п :)
#62 by Иван_1с
А что тут трудного,в перехвате запросов?Помоему перепись самих запросов(1с++) как и есть забивка гвоздей микроскопом
#63 by insider
если запрос неоптимально написан, то его надо переписать, с 1с++ это возможно, а ты решаешь вопрос ректально
#64 by fisher
2 Я не знаю, насколько трудно перехватывать запросы, я не системный программист. Но дело даже не в перехвате, а в том, что таким путем можно решить только отдельные локальные проблемы, типа той, что уже упомянута. Ты что, считаешь, что 1С преобразовывает свой запрос в SQL-запрос, который ты сможешь оптимизировать и вернуть то, что 1С сможет обработать без модификации кода 1С? Вынужден тебя огорчить. Дело обстоит намного хуже чем ты думаешь. Для этого тебе прийдется практически переписать саму 1С. И я далеко не уверен, что результат будет лучше, чем сейчас :) Запусти ради интереса профайлер во время выполнения какого-нибуть запроса 1С. И попытайся проанализировать все что гонит 1С на SQL-сервер. Потом прикинь, что из этого ты сможешь оптимизировать. Я думаю, все вопросы отпадут сами собой.
#65 by Иван_1с
Пример: открываем справочник с сортировкой по реквизиту.Вы знаете какие 1с запросы посылает? В хинтах указание индекса, а сортировка по другим полям...В итоге получается ручная пересортировка всего и вся.Вот недавно тут парень жаловался,что SQL  со справочниками стала жутко тормозить.Самое прикольное никто ничего дельного сказать не смог...И чем тут 1с++ поможет? Тема достаточно интересна, если конечно человек понимает, что такое индекс,поле, сортировка и т.д.
#66 by insider
что такое профайлер знаешь?
#67 by Иван_1с
я два дня в профайлере сижу, и там можно более половины переделать. Насчет возврата: ведь я не полностью забираю запросы, я их модифицирую и пусть дальше плывут к SQL, выполняются и возвращаются к 1С
#68 by Иван_1с
а ты?
#69 by insider
тебе это покажется странным, но знаю...
#70 by Иван_1с
insider,если не знаешь ответа на вопрос, то не надо писать,убеждая всех, что 1с++ тут поможет
#71 by Иван_1с
Я понял:1с++ это круто, спасибо,пожалуйста,по теме
#72 by fisher
2 Если не ошибаюсь, запросы именно такого рода корректировал упомянутый мной ПП. Вроде траблы были только в том случае, когда для этого реквизита кроме галки сортировки стоит галка отбора. Реально отбор используется чрезвычайно редко. Поэтому лучше эту галку вообще не ставить. 2 Успехов. О результатах доложишь. Только этим уже занимались люди с квалификацией повыше твоей в разы. Можешь попытаться у них проконсультироваться.
#73 by insider
не сделаешь ты так и не вернешь 1С то, чего она не ожидает получить (70,71) хорошо, не буду, я слишком мало знаю. буду читать твои ветки и учиться (надеюсь ты не против?)
#74 by Иван_1с
-2 Так поэтому я тут и пытаюсь их найти...
#75 by Иван_1с
-1 втом-то и прикол, что результат абсолютно одинаковый,только выборка происходит плохо,очень плохо.Я же не хочу часть запросов грохать(как у 1с++),пусть будет весь набор(1с вокруг основного создает целый выводок мелких), только вот основной запрос можно подправить
#76 by Иде я
Ты определись - тебе перхватывать нужно либо со стороны клиента. Либо со стороны сервера. Если с сервера - тебе на sql.ru
#77 by Иван_1с
Со стороны сервера, но на sql.ru врядли помогут(я уже запости).Никто из шарящих с такими программами как 1с( за которыми надо исправлять) не связывается...
#78 by MMF
всякая кухарка мнит себя способной управлять государством: " А что тут трудного,в перехвате запросов?", мало перехватить (хотя это тоже требует навыков), нужно проанализировать, парсинг запросов - нехилая задача.
#79 by val
Имхо, это развод. Новая Света.
#80 by fisher
2 Так ты признайся, в твоем примере с тормозами в форме списка справочника с сортировкой по реквизиту, галка "Отбор" у этого реквизита в конфигураторе стоит или нет?
#81 by Иван_1с
Нет,стоит сортировка
#82 by insider
щас тебя тоже ламером назовут :) точно, как я сразу не догадался!
#83 by Иде я
фиг с ним с анализом. Как результаты возвращать и обрабатывать ? Там же мягко говоря нетравиально... Зато Света нынче подросла... Еще и пример запостит как это сделать
#84 by Иван_1с
Хотя бы хинты убрать
#85 by MMF
ну дык кто тебе не дает воплотить твою гениальную идею в жизнь? Примеры перехвата тебе показали, по синтаксическому анализу - полно сведений. Есть готовые грамматики для sql-92, есть грамматики для select tsql-2000. Работай. А то странная позиция: "да фигли там делать, только я не знаю нифига".
#86 by Иван_1с
Примеры перехвата мне не показали и все кроме fisher, говорят,что это невозможно( а кто и чтоэто глупо)
#87 by MMF
это возможно, показывать не буду. Ромикс приводил простенькую ВК с примером перехвата вызова API. Это не то, что тебе нужно, но направление верное. Следуй заветам Ильича и все получится.
#88 by Иван_1с
согласен, что romix один из немногих адекватных челов, но Дельфи я не знаю и это логично(что я не все знаю).И не поверю,что это единстивенный способ.
#89 by Sadovnikov
Появилось предложение: фразу "Здраствуй, Света!" изменить на "Здраствуй, Ваня!!!"
#90 by MMF
"И не поверю,что это единстивенный способ" Конечно, это классика кун-фу программирования: Сначала ты не знаешь, что нельзя делать то-то Потом знаешь, что нельзя делать то-то Потом ты понимаешь, что иногда таки можно делать то-то Ну а потом ты понимаешь, что помимо того-то существует еще шестьдесять шесть способов добиться желаемого, и все из них практически равноправны. Когда тебя спрашивают "как мне добиться желаемого", ты быстро перебираешь в уме эти шестьдесять шесть способов, прикидываешь то общее, что в них есть, вздыхаешь и говоришь: "вообще-то, главное — гармония." На вопрос обиженных учеников: "а как ее добиться?", ты говоришь: "никогда не делайте то-то".
#91 by КонецЦикла
неси зачотку!
#92 by fisher
2 Если уберешь хинты, то скорее всего ничего не изменится. Хинты - это не прямое указание оптимизатору запросов а всего лишь подсказка. Если использовать её неоптимально, она использована не будет.
#93 by Advan
Нет это всетаки света в другом обличии
#94 by insider
поддерживаю! :)
#95 by Иван_1с
ап
#96 by France
одумайся, отрок...
#97 by orefkov
Делай так: 1С работает со скулем через odbc32.dll. Напиши свою odbc32.dll, положив ее в каталог BIN. Тогда вместо штатной odbc32.dll будет загружаться твоя. В своей дллке ты должен сделать те же самые экспортируемые методы, как и в штатной odbc32.dll. В их реализации ты должен: Вызовы неинтересных для тебя методов перенаправлять в штатную odbc32.dll, а вот то что тебе интересно, как-то обработать.
#98 by orefkov
+97 Уф, надеюсь, это тебя пока займет делом.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С