Имя: Пароль:
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 - соединения может и прокатило бы. СОМ - соединение по умолчанию не имеет визуальных форм. Ну и при копировании таблиц - не забывай что корректно могут быть перенесены только простые значения. Ссылки на любые объекты базы нельзя.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший