Имя: Пароль:
1C
1С v8
Не могу проверить использование общего реквизита дока. Как?
0 Обработка
 
24.10.12
11:40
Хочу проверить использование общего реквизита у дока.

По умолчании у общего реквизита автоиспользование стоит не Использовать.
В состав включил почти все документы. Надо узнать при записи дока использует ли док общ реквизит.
Пока пишу так но это не решает проблему

МетаданныеИсточника = Источник.Метаданные();
           Использование = Метаданные.ОбщиеРеквизиты.ФлагМиграции.Состав.Найти(МетаданныеИсточника.Имя).Использование;
             Если Использование <> Неопределено  Тогда
               
           
             
           Иначе
               Если Не Источник.ФлагМиграции тогда
....
Нашел
v8: Проверить общий реквизит в документе
v8: Общие реквизиты 1с 8
v8: Свойство "Использование общего реквизита" в объекте

Но ничего не подходит. отладчиком походил.
1 Kashemir
 
24.10.12
11:46
А зачем на неопределено проверяешь ?

ИспользованиеОбщегоРеквизита (CommonAttributeUse)
ИспользованиеОбщегоРеквизита (CommonAttributeUse)
Значения

Авто (Auto)
Использовать (Use)
НеИспользовать (DontUse)

Описание:

Определяет вхождение связанного с элементом состава общего реквизита объекта метаданных в состав общего реквизита.

Доступность:

Сервер, толстый клиент, внешнее соединение.
2 Обработка
 
24.10.12
11:55
(1) Провобоал Метаданные.СвойстваОбъектов.ИспользованиеОбщегоРеквизита

ничего не дало.
3 Kashemir
 
24.10.12
11:56
(2) Ну и параметры Найти глянь, там не имя а объект метаданных нужно передавать.
4 Обработка
 
24.10.12
11:58
Метаданные.СвойстваОбъектов.ИспользованиеОбщегоРеквизита

не

МетаданныеИсточника.СвойстваОбъектов.ИспользованиеОбщегоРеквизита

тоже  не

даже пробовал Источник.СвойстваОбъектов.ИспользованиеОбщегоРеквизита

тоже не то.
5 Kashemir
 
24.10.12
11:59
(4) Объект уже смог корректно в составе коллекции общего реквизита найта ?
6 Jaap Vduul
 
24.10.12
12:02
(3)Имя тоже можно.
7 Обработка
 
24.10.12
12:02
(5) его значение равна ЭлементСоставаОбщегоРеквизита     и яем это сравниват?
8 Kashemir
 
24.10.12
12:04
(6) С чего вдруг ? Имя даже принадлежности к коллекции не несет
9 Jaap Vduul
 
24.10.12
12:06
(8)Продам синтакс-помощник. Дорого.
10 Обработка
 
24.10.12
12:09
Да вы уже подскажите мне как. Уже почти 2 часа парюсь
11 Обработка
 
24.10.12
12:10
Сейчас плюну на красоту или через попытку исключения оформлю. или явно пропищу имена всех доков. :(
12 Kashemir
 
24.10.12
12:14
(9) Имя объекта может повторяться для разных коллекций. Себе купи СП с описанием метода ПолноеИмя()
13 Jaap Vduul
 
24.10.12
12:19
(12) Ну и что с того, что может повторяться?
Это не отменяет возможности поиска по имени.
14 Kashemir
 
24.10.12
12:26
(11)    
Для каждого ОбРекв из Метаданные.ОбщиеРеквизиты Цикл
       Для каждого Док  Из Метаданные.Документы Цикл
           Эл =  ОбРекв.Состав.Найти(Док);
           Если Эл <> Неопределено Тогда
               Если Эл.Использование = Метаданные.СвойстваОбъектов.ИспользованиеОбщегоРеквизита.НеИспользовать Тогда
                   Сообщить("Документ " + Док + " НЕ использует реквизит " + ОбРекв.Имя);
               ИначеЕсли Эл.Использование = Метаданные.СвойстваОбъектов.ИспользованиеОбщегоРеквизита.Использовать Тогда
                   Сообщить("Документ " + Док + " использует реквизит " + ОбРекв.Имя);

               ИначеЕсли  Эл.Использование = Метаданные.СвойстваОбъектов.ИспользованиеОбщегоРеквизита.Авто Тогда
                   Если ОбРекв.АвтоИспользование = Метаданные.СвойстваОбъектов.АвтоИспользованиеОбщегоРеквизита.Использовать Тогда
                       Сообщить("Документ " + Док + " использует реквизит " + ОбРекв.Имя + " в авто режиме " );
                   Иначе
                       Сообщить("Документ " + Док + " НЕ использует реквизит " + ОбРекв.Имя + " в авто режиме " );
                   КонецЕсли;
               КонецЕсли;
           ИНаче
               Сообщить("Документ " + Док + " не использует реквизит " + ОбРекв.Имя);
           КОнецЕсли;
       КонецЦикла;
   КонецЦикла;
15 Kashemir
 
24.10.12
12:27
(13) Ясно, досвиданье.
16 Обработка
 
24.10.12
13:21
(15) Рахмат!
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn