|   |   | 
| 
 | Привязка сотрудника к пользователю | ☑ | ||
|---|---|---|---|---|
| 0
    
        yuran9393 29.05.23✎ 12:08 | 
        Всем привет, подскажите пожалуйста, есть справочник "Предопределнные элементы" в нем есть сотрудник "Тест" (предопределенный элемент).
 Есть заведенный пользователь 1СТест у которого реквизит сотрудник пустой. Необходима внешняя обработка, которая добавит привязку сотрудника "Тест" к пользователю 1СТест. Подскажите пожалуйста как поучить значение по предопределенному элементу и как реализовать? | |||
| 1
    
        Волшебник 29.05.23✎ 12:10 | 
        Плохая структура базы.
 Лучше наоборот: в справочнике "Сотрудники" завести предопределённый элемент "Тест", тогда обращение будет тривиальным: Справочники.Сотрудники.Тест | |||
| 2
    
        yuran9393 29.05.23✎ 12:13 | 
        Пока только такая есть, так обратиться нельзя? Справочники.ПредопределенныеЭлементы.Тест ?     | |||
| 3
    
        Волшебник 29.05.23✎ 12:14 | 
        (2) Можно. Но структура базы уродская. За такое могут и побить.     | |||
| 4
    
        Мультук 29.05.23✎ 12:15 | 
        (3) 
 P.S. Цифры в его нике -- это номер реинкарнации | |||
| 5
    
        yuran9393 29.05.23✎ 12:17 | 
        Подскажи как можно привязать в таком случае сотрудника к пользователю?     | |||
| 6
    
        yuran9393 29.05.23✎ 13:09 | 
        СотрудникСсылка = Справочники.ПредопределенныеЭлементы.Тест;        
 ПользовательСсылка = Справочники.Пользователи.НайтиПоНаименованию("1СТест"); НаимСотрудника = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СотрудникСсылка, "СсылкаНаЭлемент"); ПользовательОбъект = ПользовательСсылка.ПолучитьОбъект(); ПользовательРеквизит = ПользовательОбъект.Сотрудник; Если НЕ ЗначениеЗаполнено(ПользовательРеквизит) Тогда ПользовательРеквизит = НаимСотрудника; ПользовательИзменен = Истина; КонецЕсли; Если ПользовательИзменен Тогда ПользовательОбъект.Записать(); КонецЕсли; | |||
| 7
    
        Волшебник 29.05.23✎ 13:21 | 
        (6) 
 ПользовательОбъект.Сотрудник = СотрудникСсылка; ПользовательОбъект.Записать(); | |||
| 8
    
        yuran9393 29.05.23✎ 13:53 | 
        СотрудникСсылка = Справочники.ПредопределенныеЭлементы.СлужебныйСотрудник1cService;    
 ЗначениеСотрудника = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СотрудникСсылка, "СсылкаНаЭлемент"); //Получаем значение пред эл-та ПользовательСсылка = Справочники.Пользователи.НайтиПоНаименованию("1CTester"); ПользовательОбъект = ПользовательСсылка.ПолучитьОбъект(); Если НЕ ЗначениеЗаполнено(ПользовательОбъект.Сотрудник) Тогда //ПользовательРеквизит = ЗначениеСотрудника; ПользовательОбъект.Сотрудник = ЗначениеСотрудника; ПользовательИзменен = Истина; ИначеЕсли КонецЕсли; Если ПользовательИзменен Тогда ПользовательОбъект.Записать(); КонецЕсли; Так все работает,спасибо | |||
| 9
    
        yuran9393 29.05.23✎ 13:57 | 
        СотрудникСсылка = Справочники.ПредопределенныеЭлементы.Тест;
 ЗначениеСотрудника = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СотрудникСсылка, "СсылкаНаЭлемент"); ПользовательСсылка = Справочники.Пользователи.НайтиПоНаименованию("1СТест"); ПользовательОбъект = ПользовательСсылка.ПолучитьОбъект(); Если НЕ ЗначениеЗаполнено(ПользовательРеквизит) Тогда ПользовательОбъект.Сотрудник = ЗначениеСотрудника; ПользовательИзменен = Истина; КонецЕсли; Если ПользовательИзменен Тогда ПользовательОбъект.Записать(); КонецЕсли; | |||
| 10
    
        Fish 29.05.23✎ 14:14 | 
        (9) А вот это зачем?
 ЗначениеСотрудника = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СотрудникСсылка, "СсылкаНаЭлемент"); | |||
| 11
    
        uno-group 29.05.23✎ 14:30 | 
        (3) Как по мне наоборот. 1 сотрудник может работать под несколькими пользователями и такая структура позволяет сделать кучу пользователей не размножая сотрудников.     | |||
| 12
    
        yuran9393 29.05.23✎ 15:00 | 
        А вот это зачем?
 ЗначениеСотрудника = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СотрудникСсылка, "СсылкаНаЭлемент"); - Получаем значение предопределенного элемента | |||
| 13
    
        Fish 29.05.23✎ 15:09 | 
        (12) Ты же уже получил его строкой выше.     | |||
| 14
    
        Fish 29.05.23✎ 15:10 | 
        +(13) Или у тебя в предопределённых элементах справочника ПредопределенныеЭлементы есть реквизит с типом "сотрудники"? А нафига такая конструкция?     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |