всем привет. у меня есть обработка Регистрация клиента, туда пишу фио и телефон, после нажатия на кнопку Зарегистрировать автоматически создается пользователь в справочнике Пользователи (пишется фио) и клиент в справ Контрагенты (фио и телефон). в справ Пользователи есть реквизит Клиент (тип - ссылка на справ Контр-ы). как сделать так, чтобы после создания пользователя и клиента заполнялся реквизит Клиент в справ Пользователи теми же фио, что и созданный клиент в Контрагентах? на скрине код из обработки, написала строку НовыйПользователь.Клиент = Наименование;, но не работает
---
Сначала вы создаете контрагента НовыйКлиент , затем уже создаете пользователя НовыйПользователь, в котором НовыйПользователь.Клиент = НовыйКлиент;
Затем уже БизнесПроцесс
---
в вашем скрине
нужно создание клиента поднять выше создания пользователя.

и строку: НовыйПользователь.Киент = Наименование;
изменить на: НовыйПользователь.Киент = НовыйКлиент.Ссылка;
НовыйКлиент на данный момент уже должен быть записан. в этом случае ссылка у него будет.

PS. ну и при создании новых элементов по хорошему нужно искать уже созданных таких же иначе дублей наплодите.

PPS. надо понимать, что 1с в переменных содержит и операция присваивания корректно работает с совместимыми типами.
в частности переменная Наименование - содержит тип строка. а реквизит НовыйПользователь.Киент - содержит ссылочный тип справочникссылка.Контрагент.
соответственно когда вы туда "пихаете" - строку произойдет неявное преобразование типов. и из строки получим пустую ссылку (справочникссылка.Контрагент.ПустаяСсылка)
---
А у реквизита клиент какой тип? Ссылка?
---
да, ссылка на справочник контрагенты
---
Нужно создать новый элемент так же как и пользователя, записать и подставить ссылку на контрагента а не его наименование
---
```1c
    НовПользователь = Справочники.пользователи.СоздатьЭлемент();
    НовПользователь.Наименование = ....

    Клиент = Справочники.Контрагенты.СоздатьЭлемент();

    .....
    Записать

    НовПользователь.Клиент = Клиент;
```
---
НовПользователь.Клиент = Клиент;

если так пишу, то возникает ошибка, якобы переменная клиент не определена, ошибка возникает со строчкой НовыйПользователь.Клиент = Наименование и без нее
---
Ну так вы ничего из того что я вам предложил не использовали
Присвойте сперва переменной "Клиент" - новое значение, по вашей задаче ссылку на новый элемент справочника Контрагенты, а потом эту ссылку подставляйте
---
просто я не понимаю, как можно присвоить ссылку переменной. писала что то типа клиент = новыйклиент.получить ссылку или этот объект и плюс минус похожий код, но не получается
---
в вашем скрине
нужно создание клиента поднять выше создания пользователя.

и строку: НовыйПользователь.Киент = Наименование;
изменить на: НовыйПользователь.Киент = НовыйКлиент.Ссылка;
НовыйКлиент на данный момент уже должен быть записан. в этом случае ссылка у него будет.

PS. ну и при создании новых элементов по хорошему нужно искать уже созданных таких же иначе дублей наплодите.

PPS. надо понимать, что 1с в переменных содержит и операция присваивания корректно работает с совместимыми типами.
в частности переменная Наименование - содержит тип строка. а реквизит НовыйПользователь.Киент - содержит ссылочный тип справочникссылка.Контрагент.
соответственно когда вы туда "пихаете" - строку произойдет неявное преобразование типов. и из строки получим пустую ссылку (справочникссылка.Контрагент.ПустаяСсылка)
---
Сначала вы создаете контрагента НовыйКлиент , затем уже создаете пользователя НовыйПользователь, в котором НовыйПользователь.Клиент = НовыйКлиент;
Затем уже БизнесПроцесс