|
v7: ОЛЕ, реквизиты неопределенного вида
| ☑ |
0
Shrike
21.06.12
✎
01:15
|
Для счДок = 1 По БазаОле.Метаданные.Документ(ВидДокумента).РеквизитШапки() Цикл
Ид = БазаОле.Метаданные.Документ(ВидДокумента).РеквизитШапки(счДок).Идентификатор;
РеквизитШаблон = ДокШаблон.ПолучитьАтрибут(Ид);
Док.УстановитьАтрибут(Ид,РеквизитШаблон);
КонецЦикла;
Заполняет все реквизиты шапки за исключением двух, неопределенного вида, с типом "справочник". РеквизитШаблон - значение реквизита подключаемой базы, ОЛЕ объект, не пустое. ЧЯДНТ?
|
|
1
Азат
21.06.12
✎
01:36
|
а может неопределенного типа и надо сделать "НазначитьТип"?
|
|
2
Shrike
21.06.12
✎
01:40
|
(1) Нет, именно вида.
|
|
3
Партизан
21.06.12
✎
01:40
|
(0) идентификатор можно получить и без обращения к метаданным
>> РеквизитШаблон - значение реквизита подключаемой базы, ОЛЕ объект, не пустое.
реквизит подключаемой ОЛЕ базы присваиваем напрямую локальной базе?
|
|
4
Shrike
21.06.12
✎
01:47
|
(3) В подключаемой базе есть справочник "Шаблоны документов" с реквизитами, ссылками на заполненные документы. Подключаюсь к ОЛЕ базе, считываю реквизиты документов, там их же создаю и заполняю.
|
|
5
Партизан
21.06.12
✎
01:50
|
Док - это в базе ОЛЕ ?
|
|
6
Shrike
21.06.12
✎
01:51
|
Да
|
|
7
Партизан
21.06.12
✎
01:52
|
(6) тогда и именовать надо правильно: ДокОЛЕ, а то получается непонятный гуанокод
попробуй так тогда:
РеквизитШаблон = ДокШаблон.ПолучитьАтрибут(Ид).ТекущийЭлемент();
|
|
8
Shrike
21.06.12
✎
02:00
|
(7) Спасибо!
|
|
9
Ёпрст
21.06.12
✎
09:07
|
(2) врешь ведь.
Назначать вид вовсе не обязательно для реквизитов с типом без вида.
Главное, назначить тип для реквизитов неопределенного типа.
|
|
10
Pro-tone
21.06.12
✎
09:13
|
(0) а если будет тип значения не примитивный, а скажем "Справочник" или "Документ"? в общем (0) код требует доработки
|
|
11
Shrike
21.06.12
✎
10:21
|
(9) Да вроде я и не пытаюсь назначить вид.
|
|
12
Ёпрст
21.06.12
✎
10:22
|
(11) тогда всё и так работает
|
|