Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Запрос с параметром из MS Access с 1с через com соединение

Запрос с параметром из MS Access с 1с через com соединение
Я
   Nina2005
 
26.12.12 - 10:58
Надо в Access подключиться к 1с и выполнить запрос с параметром, подключение проходит успешно, затык на моменте установки параметра запроса
Set Соединение = CreateObject("V82.COMConnector")
    ПараметрСоединения = "Srvr=ehsw01:2541;Ref=УПП_Рабочая;Usr=ДляОбмена;Pwd=123;"
    Set База = Соединение.Connect(ПараметрСоединения)
    Set Запрос = База.NewObject("Запрос")
    
    Запрос.ТекстЗапроса = "ВЫБРАТЬ ВЫБОР КОГДА КонтактнаяИнформация.Объект ССЫЛКА Справочник.КонтактныеЛицаКонтрагентов ТОГДА КонтактнаяИнформация.Объект.Владелец ИНАЧЕ КонтактнаяИнформация.Объект КОНЕЦ КАК Наименование, КонтактнаяИнформация.CRM_НомерТелефона КАК НомерТелефона ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Тип = &Телефон"
    Запрос.УстановитьПараметр("Телефон",База.Перечисления.ТипыКонтактнойИнформации.Телефон)
    


В чём косяк?
 
 
   Конфигуратор1с
 
1 - 26.12.12 - 11:03
(0)А параметр не передавать, а задать через значение религия не позволяет?
   Конфигуратор1с
 
2 - 26.12.12 - 11:04
Запрос.ТекстЗапроса = "ВЫБРАТЬ ВЫБОР КОГДА КонтактнаяИнформация.Объект ССЫЛКА Справочник.КонтактныеЛицаКонтрагентов ТОГДА КонтактнаяИнформация.Объект.Владелец ИНАЧЕ КонтактнаяИнформация.Объект КОНЕЦ КАК Наименование, КонтактнаяИнформация.CRM_НомерТелефона КАК НомерТелефона ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Тип = Значение(Перечисление.ТипыКонтактнойИнформации.Телефон)"
   Конфигуратор1с
 
3 - 26.12.12 - 11:05
(0)ой, простите за (1), не глянул что с Леди общаюсь(((
   Nina2005
 
4 - 26.12.12 - 11:07
(3) через значение, это понятно, что работает. Мне не понятно почему через УстановитьПараметр не работает
   Конфигуратор1с
 
5 - 26.12.12 - 11:11
(4)В чем проявляется "не работает"?
   Nina2005
 
6 - 26.12.12 - 11:21
(5) VBA пишет "Syntax error"
   Nina2005
 
7 - 26.12.12 - 11:22
к сожалению в VBA познаний оч мало(((
   Конфигуратор1с
 
8 - 26.12.12 - 11:27
ОЛЕ = Новый COMОбъект("V82.ComConnector");

    Соединение = ОЛЕ.Connect(СтрокаПодключения); 
    
    Запрос = Соединение.NewObject("Запрос");
    
    Запрос.УстановитьПараметр("ТипНоменклатуры",Соединение.Перечисления.ТипыНоменклатуры.Товар);
    Запрос.текст = "ВЫБРАТЬ
                   |    ВидыНоменклатуры.Код
                   |ИЗ
                   |    Справочник.ВидыНоменклатуры КАК ВидыНоменклатуры
                   |ГДЕ
                   |    ВидыНоменклатуры.ТипНоменклатуры = &ТипНоменклатуры";
    Выборка = Запрос.Выполнить().Выбрать();               
    Пока Выборка.Следующий() Цикл 
        Сообщить(Выборка.КОд);
    КонецЦикла;    
В 1с работает
   Конфигуратор1с
 
9 - 26.12.12 - 11:29
(7)я с вба ваще не знаком, но может так надо
Set Параметр = База.Перечисления.ТипыКонтактнойИнформации.Телефон;
Запрос.УстановитьПараметр("Телефон",пАРАМЕТР); ?
   Nina2005
 
10 - 26.12.12 - 11:41
(7) не работает. ладно, чёрт с ним, сделаю через значение. спс, за участие.
 
 Рекламное место пустует
   Конфигуратор1с
 
11 - 26.12.12 - 11:49
   Конфигуратор1с
 
12 - 26.12.12 - 11:50
судя по примеру
Sub Excel_to_trade() 

Dim trade As Object
Dim Элемент As Object 

Set trade = CreateObject("V82.Application")                           'Создать Automation сервер
trade.Connect("File=""c:\InfoBases\Trade"";Usr=""Director"";")      'Соединиться с информационной базой
Set СправочникТоваров = trade.Справочники. Товары 


Вам таки надо попробовать соединение а не база 

Set Параметр = Соединение.Перечисления.ТипыКонтактнойИнформации.Телефон; 
Запрос.УстановитьПараметр("Телефон",пАРАМЕТР); ?
   Nina2005
 
13 - 26.12.12 - 11:56
заработало вот так вот
Запрос.УстановитьПараметр "Телефон", База.Перечисления.ТипыКонтактнойИнформации.Телефон
   Nina2005
 
14 - 26.12.12 - 11:56
о_О
   Конфигуратор1с
 
15 - 26.12.12 - 11:58
(13)VBA бессмысленное и беспощадное)))

Список тем форума
Рекламное место пустует  Рекламное место пустует
Ошибка? Это не ошибка, это системная функция.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует