|
Установить Параметр запроса 1С в VBA | ☑ | ||
---|---|---|---|---|
0
Алексей777
23.07.11
✎
09:13
|
Всем привет!
Dim V8 As Object Dim Org As Object Set V8= CreateObject("V82.COMConnector") Set Con = V8.Connect("Srvr=""servak:1941"";Ref=""Basa"";Usr=""Пользователь"";Pwd=""Пароль""") Set Zapr = Con.NewObject("Запрос") Zapr.Текст = Range("K1").Value До этого момента все ок, а вот как установить параметр запроса? Zapr.УстановитьПараметр (???) |
|||
1
Grusswelle
23.07.11
✎
09:41
|
.ЦстановитьПараметр("НаименованиеПараметра", ЗначениеПараметра);
|
|||
2
skunk
23.07.11
✎
10:09
|
(1)невзлетит ... если тип агрегатный
|
|||
3
Алексей777
23.07.11
✎
10:25
|
(2) а как тогда взлетит :)?
|
|||
4
skunk
23.07.11
✎
13:43
|
попробовать через глобальные переменные ... а устанавливать командой выполнить
|
|||
5
Алексей777
28.07.11
✎
16:30
|
(4)т.е. типа
Con.Выполнить("Zapr.УстановитьПараметр("",)") ? |
|||
6
skunk
28.07.11
✎
16:35
|
неа ...
Сон.глЧтоТо = Сон.NewObject("Запрос") Сон.Параметр = Сон.ЧтоТамНайтиПоКоду; Сон.Выполнить("глЧтоТо.УстановитьПараметр(""Парамметр"", Параметр)") глЧтоТо и Параметр - глобальные переменные |
|||
7
DmitrO
28.07.11
✎
16:41
|
(2)неправда, все взлетит
|
|||
8
Алексей777
01.08.11
✎
08:32
|
(7)
Set V8= CreateObject("V82.COMConnector") Set Con = V8.Connect("Srvr=""servak:1941"";Ref=""Basa"";Usr=""Пользователь"";Pwd=""Пароль""") Sprav = Con.Справочники.Валюты возникает ошибка: объект не поддерживает это свойство или метод |
|||
9
Алексей777
01.08.11
✎
09:10
|
(6)
Public par As Object Public zap As Object Sub Сделать() Set V8= CreateObject("V82.COMConnector") Set Con = V8.Connect("Srvr=""servak:1941"";Ref=""Basa"";Usr=""Пользователь"";Pwd=""Пароль""") Con.zap = Con.NewObject("Запрос") уже здесь возникает ошибка: объект не поддерживает это свойство или метод End Sub |
|||
10
ptiz
01.08.11
✎
09:13
|
(9) Надо передавать ВСЕ параметры. В данном случае - текст запроса.
|
|||
11
ptiz
01.08.11
✎
09:13
|
+(10)
и Con.zap =... точно не взлетит |
|||
12
Алексей777
01.08.11
✎
09:18
|
(10)Надо передавать ВСЕ параметры - в смысле параметры соединения:
"Srvr=""servak:1941"";Ref=""Basa"";Usr=""Пользователь"";Pwd=""Пароль""" ? Они правильны. |
|||
13
DmitrO
01.08.11
✎
10:18
|
Set Connector = CreateObject("V82.COMConnector")
Set База = Connector.Connect("Srvr=MyServer;Ref=MyDatabase;") Set БазаЗапрос = База.NewObject("Запрос") БазаЗапрос.Текст = "выбрать первые 20 Наименование из Справочник.Номенклатура где ВидНоменклатуры = &ВидНоменклатуры" БазаЗапрос.УстановитьПараметр "ВидНоменклатуры", База.Перечисления.ВидыНоменклатуры.Продукция Set БазаВыб = БазаЗапрос.Выполнить() и так далее, х..ли тут сложного? |
|||
14
DmitrO
01.08.11
✎
10:34
|
(13)+ продолжение примера
Set БазаВыб = БазаЗапрос.Выполнить().Выбрать() Y = 10 Do While БазаВыб.Следующий() Cells(Y, 1).Value = БазаВыб.Наименование Y = Y + 1 Loop |
|||
15
Алексей777
01.08.11
✎
12:41
|
Спасибо всем!
(14) :) получилось |
|||
16
Алексей777
01.08.11
✎
17:33
|
(14), дружище! А вот если, нужно установить в параметр массив в составе которого ссылки на элементы справочника, тогда механизм
БазаЗапрос.УстановитьПараметр "ВидНоменклатуры", База.Перечисления.ВидыНоменклатуры.Продукция не сработает, в любом случае нужно как-то заполнить массив объектами; |
|||
17
Rovan
гуру
01.08.11
✎
17:35
|
(16) Set Массив1С = База.NewObject("Массив")
|
|||
18
Алексей777
01.08.11
✎
17:44
|
сори, друзья, чего-то тупанул; просто если использовать конструкцию:
Set Массив1С = База.NewObject("Массив") Массив1С.Добавить (Con.Справочники.Организации.НайтиПоНаименованию("Организация")), то все работает; а вот если: Set Массив1С = База.NewObject("Массив") орг = Con.Справочники.Организации.НайтиПоНаименованию("Организация") Массив1С.Добавить(орг), то не работает. Но это я так, в свое оправдание :) |
|||
19
DmitrO
02.08.11
✎
22:39
|
Set орг = Con.Справочники.Организации.НайтиПоНаименованию("Организация")
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |