|
v7: Как РассчитатьРегистрыНА() через ОЛЕ, если заранее не известно имя регистра? | ☑ | ||
|---|---|---|---|---|
|
0
vSobolev
13.07.12
✎
17:57
|
Классический пример расчета остатков регистра по ОЛЕ:
Рег = БазаОЛЕ.createobject("Регистры"); ВремРег=Рег.Товары; ВремРег.ВременныйРасчет(1); Рег.РассчитатьРегистрыНА(ТекДата); А если заранее не известны имена регистров, надо тупо перебрать все регистры по Метаданным, тогда как получить ВремРег? Для Сч=1 по Метаданные.Регистр() Цикл Идентификатор = Метаданные.Регистр(Сч).Идентификатор; ВремРег = ???; КонецЦикла; |
|||
|
1
дущ
13.07.12
✎
18:04
|
Ну этааа... сейчас не помню, но попробуй так
Рег = СоздатьОбъект("Регистры." + ИмяРега); Рег.РассчитатьРегистрыНа(ТекДата); |
|||
|
2
Rie
13.07.12
✎
18:04
|
ПолучитьАтрибут(...)
|
|||
|
3
vSobolev
13.07.12
✎
18:10
|
Рег = СоздатьОбъект("Регистры." + ИмяРега);
Рег.РассчитатьРегистрыНа(ТекДата); Здесь мы имеем объект - регистр, а у регистра нет метода РассчитатьРегистрыНа(ТекДата), соответственно, возвращается ошибка "Поле агрегатного объекта не обнаружено (РассчитатьРегистрыНа)" |
|||
|
4
vSobolev
13.07.12
✎
18:13
|
ПолучитьАтрибут(...) - а как это можно использовать???
|
|||
|
5
Z1
13.07.12
✎
18:14
|
(0) Вызывай глобальную процедуру по OLE
Вот только как передавать обратно то что рассчитал уже не помню В крайнем случае точно через файл получиться. |
|||
|
6
vSobolev
13.07.12
✎
18:17
|
(5) Но прежде чем вызвать глобальную процедуру, надо во всех регистрах признак временного расчета установить. А как это сделать через метаданные?
|
|||
|
7
Rie
13.07.12
✎
18:20
|
(4)
Регистры = БазаОЛЕ.CreateObject("Регистры"); Рег = Регистры.ПолучитьАтрибут(ИмяМоегоРегистра); |
|||
|
8
Rie
13.07.12
✎
18:21
|
(6)
После (7) Рег.ВременныйРасчет(1); |
|||
|
9
vSobolev
13.07.12
✎
18:22
|
(7)(8) Спасибо, сейчас попробую
|
|||
|
10
Serginio1
13.07.12
✎
18:23
|
8+ и закинуть в список.
|
|||
|
11
Serginio1
13.07.12
✎
18:25
|
10 а может и не надо.
|
|||
|
12
vSobolev
13.07.12
✎
19:02
|
Всем участникам спасибо, все работает.
|
| Форум | Правила | Описание | Секции | Поиск |