Переключение на Главную Страницу Страницы: 1 2 [3]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Загрузка 1cpp по ОЛЕ (число прочтений - 15378 )
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Загрузка 1cpp по ОЛЕ
Ответ #30 - 05. Июня 2007 :: 06:20
Печать  
+ метода ВыполнитьИнструкцию, кроме прочего, в том что в случае ошибки будет сформировано исключение.
  

1&&2&&3
Наверх
 
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Загрузка 1cpp по ОЛЕ
Ответ #31 - 05. Июня 2007 :: 06:58
Печать  
мда
ОГРОМНЫЙ СЕНКС
я понял одно, что то я не понимаю, часть то кода взял из примеров.
часть помогли, когда было кому Улыбка
теперь понять не могу нафига мне УстановитьТекстовыйПараметр() и как он работает Печаль
где бы еще найти подробную доку на эти вопросы мои Улыбка
НО что касается ODBCDatabase и ODBCRecordSet очень точно объяснил, за это еще отдельное спасибо.
действительно ODBCDatabase не нужно, если я по ОЛЕ сижу в базе, то она является текущей, значит ODBCRecordSet и нужен. Улыбка только получается для ODBCRecordSet не нужно передавать ни паролей, ни пользователя, все пашет под тем, под кем база (локальная на данный момент) пашет?
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Загрузка 1cpp по ОЛЕ
Ответ #32 - 05. Июня 2007 :: 07:18
Печать  
pavlo писал(а) 05. Июня 2007 :: 06:58:
только получается для ODBCRecordSet не нужно передавать ни паролей, ни пользователя, все пашет под тем, под кем база (локальная на данный момент) пашет?

именно.
ODBCRecordSet использует тоже соединение с сервером что и сам процесс 1cv7s (и неважно как запущен: как обычное приложение или как оле-сервер).
А процесс 1cv7s в свою очередь устанавливает соединение с сервером в момент запуска согласно параметров подключения указанных в конфигураторе.
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Загрузка 1cpp по ОЛЕ
Ответ #33 - 05. Июня 2007 :: 07:21
Печать  
После того как у тебя заработает через оле, могу рассказать про тот самый другой способ.
Если к этому времени ты его сам не найдешь в документации.
  

1&&2&&3
Наверх
 
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Загрузка 1cpp по ОЛЕ
Ответ #34 - 05. Июня 2007 :: 07:26
Печать  
ок, побежал делать то о чем ты говорил, а потом за вторым способом Улыбка
только вот не пойму про УстановитьТекстовыйПараметр() пока, чтобы попробовать первый твой вариант помощи Печаль
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Загрузка 1cpp по ОЛЕ
Ответ #35 - 05. Июня 2007 :: 07:41
Печать  
pavlo писал(а) 05. Июня 2007 :: 07:26:
только вот не пойму про УстановитьТекстовыйПараметр() пока, чтобы попробовать первый твой вариант помощи Печаль

а что не понятно?
метод сообщает ODBCRecordset о имени параметра и его значении. Этот текстовый параметр будет заменен на значение непосредственно в тексте запроса во время парсинга (до отправки на сервер)
Например:
ты пишешь
КредКод="123";
SS.УстановитьТекстовыйПараметр("КредКод", КредКод);
SS.ВыполнитьИнструкцию("
...
|or (ТипыЦен.code=:КредКод)
...
|");
после парсинга на сервер уходит:
or (ТипыЦен.code='123')

этот метод во-первых избавляет от плохочитаемых конструкций типа: "or (ТипыЦен.code='"+КредКод+"')"
во-вторых избавляет от управления типом параметра, а в случае с ссылочными типами от необходимости получения идентификатора. + модификаторы.
  

1&&2&&3
Наверх
 
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Загрузка 1cpp по ОЛЕ
Ответ #36 - 05. Июня 2007 :: 07:59
Печать  
написал вот так, пишет "Плохой тип переменной":

[code]      
       ТЗ2 = СоздатьОбъект("ТаблицаЗначений");
     SS2 = БазаОле.CreateObject("ODBCRecordSet");
     SS2.Отладка();

     ТекстЗапроса="
     |select 
     |  Номенклатура.code as Номен_Код
     |from $Справочник.Номенклатура as Номенклатура (nolock)
     |";
     SS2.ВыполнитьИнструкцию(ТекстЗапроса,ТЗ2);
     ТЗ2.ВыбратьСтроки();
     Пока ТЗ.ПолучитьСтроку() = 1 Цикл
           Сообщить(ТЗ2.ТекущаяСтрока());
     КонецЦикла;
[/code]
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Загрузка 1cpp по ОЛЕ
Ответ #37 - 05. Июня 2007 :: 08:51
Печать  
Тебе тут trad намекал, намекал на второй вариант....
Почитай в доке про метод "ПрисоединитьИБ" класса "ODBCDataBase" и будет тебе счастье!
  
Наверх
 
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Загрузка 1cpp по ОЛЕ
Ответ #38 - 05. Июня 2007 :: 09:25
Печать  
а в чем принципиальная разница?
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Загрузка 1cpp по ОЛЕ
Ответ #39 - 05. Июня 2007 :: 09:39
Печать  
разница в том, что:
не нужно заморачиваться оле-соединением (который к тому же достаточно долго устанавливается)
не нужно обеспечивать там загрузку 1cpp.dll
наверняка не будет проблемы описанной в #36
  

1&&2&&3
Наверх
 
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Загрузка 1cpp по ОЛЕ
Ответ #40 - 05. Июня 2007 :: 10:01
Печать  
понятно
только я так понимаю не ПрисоединитьИБ(), а Присоединить1С() ?
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Загрузка 1cpp по ОЛЕ
Ответ #41 - 05. Июня 2007 :: 10:18
Печать  
pavlo писал(а) 05. Июня 2007 :: 10:01:
понятно
только я так понимаю не ПрисоединитьИБ(), а Присоединить1С() ?

Нет, именно ПрисоединитьИБ. Читай доку.
  
Наверх
 
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Загрузка 1cpp по ОЛЕ
Ответ #42 - 05. Июня 2007 :: 10:38
Печать  
читал, просто оказалось что старая у меня была Подмигивание
сенкс
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Загрузка 1cpp по ОЛЕ
Ответ #43 - 05. Июня 2007 :: 10:48
Печать  
ВСЕМ ОГРОМНОЕ СПАСИБО!
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 
ОтправитьПечать