Имя: Пароль:
1C
1C 7.7
v7: ПолучитьВремя() по OLE
, ,
0 Andreyyy
 
01.11.12
22:16
Есть такая конструкция:
ДокOLE.ПолучитьВремя(База.EvalExpr("глЧасы"), База.EvalExpr("глМинуты"), База.EvalExpr("глСекунды"));

Выдает:
Неизвестная ошибка

Как можно получить время документа по OLE ?
1 zladenuw
 
01.11.12
22:42
а в евалах что возвращает ?
2 zladenuw
 
01.11.12
22:43
3 Andreyyy
 
01.11.12
23:14
Если так:

лчЧасы = 0 ;
лчМинуты = 0 ;
лчСекунды = 0 ;
   
ладДок.ПолучитьВремя(лчЧасы,лчМинуты,лчСекунды);

то в переменных нули.
4 zladenuw
 
01.11.12
23:24
(1) ДокОле. у тебя вообще что и что Евалки возвращают.
5 Злопчинский
 
01.11.12
23:44
глЧасы, глМинуты, глСекунды - у тебя должны быть переменные, описанны в глобальном модуле базыОЛе со словом Экспорт.
соответсвенно можно сделать так:
.
ДокOLE.ПолучитьВремя(База.глЧасы, База.глМинуты, База.глСекунды);
.
где База - ссылка на оле-базу.
6 viktor_vv
 
01.11.12
23:46
(4)+1. Покажи как ДокОле получаешь.
7 Andreyyy
 
01.11.12
23:47
(5) Переменные описаны. Так не пробовал. Уже заепся и тупо справочник сооответствий доков и времени завел и заполнил в базе оле.
8 zladenuw
 
01.11.12
23:48
(5) а разве Евалом. не получаем переменные ?
9 Злопчинский
 
01.11.12
23:48
..далее, если тебе эти ЧЧ, ММ, СС нужны в текущей базе то к ним так и обращаться: База.глЧасы, База.глМинуты, База.глСекунды
.
если эти перем енные испоьзуются часто далеее (в цикле), то лучше их перекинуть в локальные переменные чтобы их не читать каждый раз из оле

ЧЧ = База.глЧасы;
10 viktor_vv
 
01.11.12
23:48
(7) Да ну нафик, там вроде никаких проблем нету.
11 Andreyyy
 
01.11.12
23:49
(6) ДокOLE = База.CreateObject("Документ." + Док.Вид());
       Если ДокOLE.НайтиПоНомеру(Док.НомерДок, Док.ДатаДок) = 1 Тогда
12 viktor_vv
 
01.11.12
23:50
(9) Да не надо там этого всего. Функция ПолучитьВремя() возвращает примитивные типы, они нормально по ОЛЕ ходят.
13 viktor_vv
 
01.11.12
23:51
(11) А так что вернет?

ВремяДокОле = ДокОле.ПолучитьВремя();
Сообщить(ВремяДокОле) ;
14 Andreyyy
 
01.11.12
23:51
(12) Нули возвращало, наверно надо было пробовать через "ТекущийДокумент()". Мозг уже закипает.
15 Злопчинский
 
01.11.12
23:52
..далее, если тебе эти ЧЧ, ММ, СС нужны в текущей базе то к ним так и обращаться: База.глЧасы, База.глМинуты, База.глСекунды
.
если эти перем енные испоьзуются часто далеее (в цикле), то лучше их перекинуть в локальные переменные чтобы их не читать каждый раз из оле

ЧЧ = База.глЧасы;
.
когда ты в своем коде напсиал
База.EvalExpr("глЧасы")
- ты вычислил значение переменной глЧасы из базы оле... и все
.
прочищает здесь: http://www.mista.ru/articles1c/ole.htm
16 Злопчинский
 
01.11.12
23:52
(13) верент строку времени нормально
17 Злопчинский
 
01.11.12
23:52
(14) пиши на [email protected] bl и пароль на тим - подключусбь - смогу помогу чем могу немного
18 Злопчинский
 
01.11.12
23:53
(12) функция возвращает строку-время, а вот в параметрах возвращает разделно часы/итд, но переменные туда надо подсунуть ОЛЕШНЫЕ
19 viktor_vv
 
01.11.12
23:54
(14) Таки да, может по ссылке сделать. Типа

ТекДокОЛЕ = ДокОЛЕ.ТекущийДокумент();
лчЧасы = 0 ;
лчМинуты = 0 ;
лчСекунды = 0 ;
   
ВремяОле = ТекДокОЛЕ.ПолучитьВремя(лчЧасы,лчМинуты,лчСекунды);

Сообщить(ВремяОле);
20 Злопчинский
 
01.11.12
23:54
(8) нет. получаешь ЗНАЧЕНИЕ. надеюсь переменную от значени я, котрое хранится впеременной - отличаешь..?
21 Злопчинский
 
01.11.12
23:55
(19) ставлю шоколодку что не прокатит - см.18
22 viktor_vv
 
01.11.12
23:55
(18) Ну не знаю, из восьмерки к семерке делал без всяких олешных переменных. В (2) рабочий код был.
23 zladenuw
 
01.11.12
23:57
(20) пока еще да :)
24 Злопчинский
 
01.11.12
23:57
(22) возможно яошибасюь.. настаивать не стану...
25 Andreyyy
 
01.11.12
23:59
Всем спасибо за помощь, попробую варианты.
26 Злопчинский
 
02.11.12
00:02
(25) делай как в (5) и (9) - прокатит стопудово
27 viktor_vv
 
02.11.12
00:12
Да, согласен. Из семерки в семерку вариант (2) и (3) не канает. Строку возвращает, а в переменных нули :(.
28 Злопчинский
 
02.11.12
00:13
(27) высылай шоколадку ;-)
29 Злопчинский
 
02.11.12
00:14
(27) грубо говоря - получается ты в оле пытаешься пропихнуть чужое адресное пространство.. наступает коллапс..?
30 viktor_vv
 
02.11.12
00:16
(28) :)).

Так может тогда не мучаться, да распарсить ту строку.
31 Злопчинский
 
02.11.12
00:21
(27) грубо говоря - получается ты в оле пытаешься пропихнуть чужое адресное пространство.. наступает коллапс..?
.
(30) угу.
(30) хрен ли угукать.. шоколадку пакуй диечелем! ;-)
32 viktor_vv
 
02.11.12
00:23
(31) Давай СМС'кой отправлю :).
Будете у нас в Киеве, милости просим :).
33 Злопчинский
 
02.11.12
00:24
(32) О! сало в шоколади! ;-)
34 Злопчинский
 
02.11.12
00:25
(32) тады ужо стопудово лучше шматочек сальца хорошого - я это дело люблю! (в Киеве учился 5 лет)
35 Andreyyy
 
06.11.12
02:21
Вобщем только распарсить пришлось, по другому не захотело работать.
(9) В переменных пусто.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн