![]() |
![]() |
![]() |
|
Как обработать все документы и установить значение реквизита | ☑ | ||
---|---|---|---|---|
0
УПП
23.03.06
✎
10:17
|
Мне надо восстановить значения реквизиты у тех документов у которых есть реквихит ЗАВЕРШЕНИЕ, и изменить его на истина.
|
|||
1
Андрюха
23.03.06
✎
10:19
|
Выбирай все документы и через Метаданные смотри есть у них такой реквизит или нет.
|
|||
2
УПП
23.03.06
✎
10:19
|
я делаю так:
Для каждого Документ Из Документы Цикл Метаданные = Документ.Метаданные(); Если ЕстьРеквизитДокумента(Документ.Завершение,Метаданные) Тогда Документ.Завершение = Истина; КонецЕсли; КонецЦикла; Пишет не найден метод Метаданные(), а почему? |
|||
3
УПП
23.03.06
✎
10:20
|
(1) так?
Для каждого Документ Из Документы Цикл Метаданные = Документ.Метаданные(); Если ЕстьРеквизитДокумента(Метаданные.Завершение,Метаданные) Тогда Документ.Завершение = Истина; КонецЕсли; КонецЦикла; |
|||
4
УПП
23.03.06
✎
10:21
|
а почему?
{Форма.Форма(6)}: Метод объекта не обнаружен (Метаданные) Метаданные = Документ.Метаданные(); |
|||
5
vde69
23.03.06
✎
10:26
|
А ты посмотри в отладчике тип значения Документ
подсказка, нужен еще один цикл |
|||
6
УПП
23.03.06
✎
10:27
|
(5) Ну да, тип ДокументМенеджер, а у тетого типа нет такого метода Метаданные(). А как теперь получить тип ДокументОбъект?
|
|||
7
Seed
23.03.06
✎
10:32
|
2УПП: как переменную Документ объявляешь?
|
|||
8
УПП
23.03.06
✎
10:40
|
(7) Нет
|
|||
9
УПП
23.03.06
✎
10:43
|
Как перебрать документы с типом ДокументОбъект?
|
|||
10
vde69
23.03.06
✎
10:43
|
читай подсказку (5) или в поиск
|
|||
11
Seed
23.03.06
✎
10:51
|
Попробуй так:
Метаданные = Документ.ПустаяСсылка().Метаданные(); Если ЕстьРеквизитДокумента("Завершение",Метаданные) Тогда |
|||
12
vasinok
23.03.06
✎
10:58
|
Для Каждого Документ Из Метаданные.Документы Цикл
Если ЕстьРеквизитДокумента("Завершение", Документ) Тогда ДокВыборка = Документы[Документ.Имя].Выбрать(); Пока ДокВыборка.Следующий() Цикл ДокВыборка.Завершение = Истина; КонецЦикла; КонецЕсли; КонецЦикла; |
|||
13
УПП
23.03.06
✎
11:01
|
(12) ДокВыборка.Завершение = Истина; Поле объекта не доступно для записи
|
|||
14
vasinok
23.03.06
✎
11:04
|
ДокВыборка.ПолучитьОбъект().Завершение =
|
|||
15
vde69
23.03.06
✎
11:09
|
ладно, не буду мучить
Для каждого элемент Из Документы Цикл Выборка = Элемент.Выбрать(); Пока Выборка.Следующий() Цикл Если не Выборка.Проведен Тогда Продолжить; КонецЕсли; |
|||
16
agarych
23.03.06
✎
11:14
|
А если попробывать через попытку... Если нет такого реквизита, то бдет отрабатывать исключение...
|
|||
17
agarych
23.03.06
✎
11:15
|
эээ... сорри, я думал про v7 разговор
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |