Имя: Пароль:
1C
1С v8
опять про COMОбъекты
0 lamme
 
22.09.11
03:23
подключаюсь к бух базе 1С82
делаю бух запрос к  подключенной базе
запрос = connection.NewObject("Запрос");

       Запрос.Текст =   Запрос_ОборотыПоКассе();
       Запрос.УстановитьПараметр("ДатаЗапроса",ЭлементыФормы.ВыбДата.Значение);

хочу итоги запроса получить в неую ТЗ.
В результате такого
RRRRR = запрос.Выполнить().Выгрузить();
RRRRR - это ComОбъект

Через отладчик вижу - что в свойствах объекта есть и количество()
и те значения - результаты запроса.

Вопрос1
- как все таки получить данные из RRRRR в таблицу значений
Вопрос2
- после того как база открыта методом Connect- по идее ее надо бы ДисConnect
как правильно закрыть подключение к базе
1 skunk
 
22.09.11
03:44
1)у тебя и так таблицазначений ... только удаленная ...

2)обнулить все переменные ...
2 lamme
 
22.09.11
03:46
(1)

1) но вот так вот
RRRRR.выбратьСтроку() = не рабоатет. Само собой - что ругается

2) понял
3 lamme
 
22.09.11
03:47
вернее - не ругается
оно просто не показывается - как должно было бы показаться
при Тз.ВыбратьСтроку()
4 skunk
 
22.09.11
03:49
(3)потому как удаленное ... видимость в истину
5 skunk
 
22.09.11
03:49
для удаленной
6 skunk
 
22.09.11
03:50
strParametr = "File=C:\developer\shop\Спринфилд;Usr=Admin;Pwd=1"
oleBase.Connect(strParametr)
oleBase.Visible = true
7 lamme
 
22.09.11
03:56
пардон
но чего то туплю и не понимаю.

Вот так вот
connection = buh.Connect("File="""+Сокрлп(Стр.ПутьКБазе)+""";Usr="""+сокрлп(Стр.ИмяПользователя)+""";pwd="""+сокрлп(Стр.Пароль)+""";");

работает и подключается.

Вот так вот
connection = buh.Connect("File="""+Сокрлп(Стр.ПутьКБазе)+""";Usr="""+сокрлп(Стр.ИмяПользователя)+""";pwd="""+сокрлп(Стр.Пароль)+""";");

buh.Visible = true

не подключается
8 lamme
 
22.09.11
03:57
где
buh = Новый COMObject("V82.COMConnector");
9 lamme
 
22.09.11
03:59
(6)
а еще ..
Если оно удаленно - то его где-то можно посмотреть?
10 lamme
 
22.09.11
03:59
ругается на
buh.Visible{(1)}: Поле объекта не обнаружено (Visible)
11 lamme
 
22.09.11
04:09
да ладно.
шут с ним - с показать на экране.

Как эту виртуальню таблицу - скопировать с лоальное базу
чтобы с ней можно было работать .. эм.. локально что ль ...
т.е. что то типа такого надо

Тз = новый ТаблицаЗначений();
Тз  = К.Выгрузить();
или
Тз  = К.Скопировать();
12 DJ Anthon
 
22.09.11
04:12
connection.visible, наверное...
13 lamme
 
22.09.11
04:13
(12)
пробовал
не хотит
14 DJ Anthon
 
22.09.11
04:13
(11) выгрузи в строку )))) только объекты похерятся...
15 ZanderZ
 
22.09.11
04:15
какой Visible  у ComConnector ??? Application запускай тогда уж
16 lamme
 
22.09.11
04:15
(14)
это как - выгрузить в строку ?
объекты как таковые не нужны. максимум что надо
сокрлп(Наименование) и числа к этому наименованию
т.е. ссылочную целостность - пока не кретично
17 lamme
 
22.09.11
04:15
(критично .. пардон)
18 lamme
 
22.09.11
04:15
(17)
блин
(НЕ крИтично)
19 ZanderZ
 
22.09.11
04:17
(0) простой обход выборки и добавление в ТЗ не катит ?
20 DJ Anthon
 
22.09.11
04:19
(15) ой, а слона-то я и не заметил
21 lamme
 
22.09.11
04:20
(19)
катит.
но .. как-то .. чую - не красиво это.
но пока -за неимением лучшего - на этом и остановлюсь
22 DJ Anthon
 
22.09.11
04:20
если для отладчика, выборка и Сообщить() тебя спасет
23 lamme
 
22.09.11
04:23
(22)
ага
24 skunk
 
22.09.11
06:38
(21)по оле только простые данные ... так что ... обход
25 Andy13
 
22.09.11
08:32
(10) В случае OLE - соединения может и прокатило бы. СОМ - соединение по умолчанию не имеет визуальных форм. Ну и при копировании таблиц - не забывай что корректно могут быть перенесены только простые значения. Ссылки на любые объекты базы нельзя.