На PORTA.ru
ОГРОМНЫЙ выбор портативной техники:
MD-плееры CD-плееры MP3-плееры Кассетные плееры Диктофоны Радио Цифр. камеры Сотовые Дешевые ноутбуки |
||
Включить SQL Шаров
Обнаружен недокументированный метод ВключитьSQL(<?>). Метод можно использовать для объектов типа Регистр и Запрос, созданных функцией СоздатьОбъект. Метод имеет один необязательный параметр. Англоязычный синоним EnableSQL(<?>). Релиз 7.70.014, 7.70.015. Осталось выяснить что же он делает. Winter На самом деле этот метод я знаю (обнаружил его мой друг), ещё с четвёртого релиза. И он включает или выключает обработку запросов, с использыванием SQL технологий или по более простому варианту. По умолчанию SQL технологии используются. Например: Запрос = СоздатьОбъект("Запрос"); Запрос.ВключитьSQL(1); Запрос по оборотному регистру на 17-том релизе валится. ----------------------------------------------------------------- Запрос = СоздатьОбъект("Запрос"); Запрос.ВключитьSQL(0); А так выполняется. Это хорошее средство против обвалов SQL конфигураций, я его использую очень редко, только в тех случаях, когда не могу поднять нужный мне запрос штатными средствами. Хочу ещё не много дополнить статистикой. Время выполнения одного и того же запроса. Запрос.ВключитьSQL(1) -> 5.5 сек. Запрос.ВключитьSQL(0) -> 49.5 сек. Borges А если База ДБФ? Не прокатит ли этот метод для опеределения формата конфы? Например - выполнить запрос с включенным СКЛ-ем и выключенным - и посмотреть что будет - для ДБФ базы, по идее разницы во времени исполнения не должно быть? Gari Система сначала проверяет наличие файла DD, если его не находит - смотрит DDS, если и его не находит - спрашивает структуру базы. Dich Не слышал, чтобы конфы ДБФ и СКЛ форматом отличались. Борхес, это правда, или послепраздничный синдром? Тот Форматом они не отличаются, конечно. Но если конфа использует базу SQL, можно применять всякие егонные приемчики. Borges Не-не - просто тогда была эта ветка, и нужно было определить формат ИБ - или ДБФ или СКЛ - метод (5) был признан единственно верным, но не совсем надежным - а с методом (0) открывается новое поле для вождения вилами по воде. Журавлик А включать SQL через Попытку? Borges Не - так я понимаю, что и на ДБФ-базе (и даже на ДБФ-ехе-шнике) метод должен срабатывать, просто от него толку никакого не будет. А? Тот Метод абсолютно надежен. Поскольку если в базе есть dd, под SQL она ни за что не откроется. А интересно, этот флажок когда сбрасывается-устанавливается? Если он действует только в текущем запросе? Winter Это же метод конкретного объекта, а не системы. Запрос = СоздатьОбъект("Запрос"); Запрос.ВключитьSQL(1); Тот Да я понял. Хотел уточнить, но промазал по педалям. Вместо "Если" хотел написать "Или". Шаров Наименование метода найдено просмотром строковых ресурсов 1crcrus.dll. Дальше я просто применил метод к объектам, позволяющим извлекать данные (Регистр, Регистры, БухгалтерскиеИтоги, Операция, Запрос). Для всех, кроме Регистр и Запрос, была получена ошибка времени исполнения "Поле агрегатного объекта не обнаружено". Есть подозрение, что это тоже методы: 3486 References,Ссылки 3487 MetadataRefs,МетаданныеСсылки 3586 ServiceCell,СлужебнаяЯчейка Источник: Территория 1С -
Наверх -
|
В качестве благодарности за решение проблемы, щелкните здесь. Поддержите развитие сайта. Спасибо! |
Автор и разработчик: Кайгородов Андрей aka mszsuz. mszsuz@online.sinor.ru ICQ#33993114. Дата последнего обновления страницы: Friday 09.04.2004 16:52 |