Имя: Пароль:
1C
1С v8
Проверка существования общих реквизитов: простое решение
0 romix
 
09.10.14
22:08
Через метаданные не работает ни в какую, но есть способ через заполнение свойств структуры - может, кому пригодится:

Процедура ПриЗаписиДокументаИлиСправочника(Источник, Отказ, Замещение) Экспорт
    //Подписка на событие ПриЗаписиДокументаИлиСправочника
    
    сПроверка=Новый Структура("Редактор, ДатаРедактирования", "*", "*");
    ЗаполнитьЗначенияСвойств(сПроверка, Источник);
    Если сПроверка.Редактор<>"*" Тогда
        Источник.Редактор=ПараметрыСеанса.ТекущийПользователь;
    КонецЕсли;    
    Если сПроверка.ДатаРедактирования<>"*" Тогда
        Источник.ДатаРедактирования=ТекущаяДата();
    КонецЕсли;    
КонецПроцедуры
1 Banned
 
09.10.14
22:09
Per anus ad astra?
2 Banned
 
09.10.14
22:09
*an, excuse me
3 Эмбеддер
 
09.10.14
22:11
прикольно
4 Ненавижу 1С
 
гуру
09.10.14
22:15
ОбъектМетаданныхКонфигурация (ConfigurationMetadataObject)
ОбщиеРеквизиты (CommonAttributes)
Использование:

Только чтение.
Описание:

Тип: КоллекцияОбъектовМетаданных.
Коллекция объектов метаданных, которые описывают все общие реквизиты, определенные в конфигурации.

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

Сервер, толстый клиент, внешнее соединение.
5 romix
 
09.10.14
22:19
(4) Там сильно сложный пример кода, который у меня не взлетел. Да и иногда бывают реквизиты с тем же именем, но не общие...
6 Banned
 
09.10.14
22:21
(5) У тебя много чего не взлетает.
Вот и американцы... Но это уже оффтоп...
Просто имей в виду - All that is gold does not glitter
7 Ненавижу 1С
 
гуру
09.10.14
22:25
а так:

ЗаполнитьЗначенияСвойств(Источник, Новый Структура("Редактор, ДатаРедактирования", ПараметрыСеанса.ТекущийПользователь, ТекущаяДата()));
8 romix
 
09.10.14
23:31
(7) Согласен. ))
9 Адский плющ
 
10.10.14
00:40
Какая мерзость. Бросать подписку на что попало, а потом в ней копаться в этом гогне.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.