есть справочник Запчасти с реквизитами наименование и обозначение
есть регистр. как в регистре сделать что бы при выборе запчасти (СправочникСсылка.Запчасти)
в реквизит обозначение заносились данные из справочника

```1c
    &НаКлиенте
    Процедура ЗапчастьПриИзменении(Элемент)
    Зч=Элементы.Запчасть.ТекущиеДанные;
    Обознач=ПодставитьОбозначение(Элементы.Запчасть);
    Элементы.Обозначение=Обознач;

    КонецПроцедуры

    &НаСервере
    Функция ПодставитьОбозначение(Наименование)
    Спр = Справочники.Авиотехника.НайтиПоНаименованию(Наименование);
    Возврат Спр.Обозначение;
    КонецФункции
```
---
вот! на самом деле нет смысла его хранить когда можно вытащить из справочника. Представьте есть запасная часть "Двигатель", обозначение "ДВ", вот вы добавили запись в регистр и сохранили - в регистре у вас обозначение будет храниться "ДВ", далее заходим в справочник запасной части берем элемент "Двигатель" и меняем обозначение на "ДВИГ" и что получается - в справочнике зап. частей одно обозначение в регистре сведений другое!! Что одно другому противоречит. НЕт смысла хранить в регистре если его можно вытащить из ссылки на зап. часть.

Но если все же надо то пишите так в регистре сведений. У вас два элемента и два реквизита ЗапаснаяЧасть и Обозначение

```1c
    &НаКлиенте
    Процедура ЗапаснаяЧастьПриИзменении(Элемент)
    ЗапаснаяЧастьПриИзмененииНаСервере()
    КонецПроцедуры

    &НаСервере
    Процедура ЗапаснаяЧастьПриИзмененииНаСервере()
    Если значениезаполнено(Запись.ЗапаснаяЧасть) Тогда
    Запись.Обозначение = Запись.ЗапаснаяЧасть.Обозначение
    ИНаче
    Запись.Обозначение = "
    Конецесли
    КонецПроцедуры
```

Но все же мой совет не хранить данный реквизит, это не много не верный подход, хотя кто знает вашу конечную цель
---
скриншот формы не помешает для уточнения
---
Спр = Справочники.Авиотехника.НайтиПоНаименованию(Наименование); Похоже, вы опечатались в слове "Автотехника". Если вы хотите делать запись в регистр при изменении значения реквизита формы, скорее всего вы нарушаете принцип работы платформы. Переменная Зч создаётся, но не используется.

```1c
    Обознач=ПодставитьОбозначение(Элементы.Запчасть);
    Элементы.Обозначение=Обознач;
```

равносильно

```1c
    Элементы.Обозначение=ПодставитьОбозначение(Элементы.Запчасть);
```
---
(2)
---
А весь кусок кода можно?
Не совсем понятно что хотите сделать

Скрин действительно не помешал бы
---
прислала скрин повыше
хочу что бы при выборе одного реквизита выпал и другой
---
то есть у вас справочник Запасные части с реквизитами, наименование и обозначение, нужно в регистре при выборе значения из справочника запасные части поле Обозначение заполнялось само?? Если так, то даже программировать не нужно. Достаточно на форме записи регистра, добавить элемент Поле а путь к данным у этого поля выбрать (откроется окно выбора): ЗапасныеЧасти.Обозначение (через плюсик нажать и выбрать нужно поле). И оно будет автоматом заполняться при выборе
---
так данные лежат в справочнике. мне нужно перенести данные из справочника в регистр
---
если у вас реквизит Обозначение находится в справочнике Запасные части и вы хотите что на форме записи регистра при выборе запасные части отражалось поле Обозначение - то сделайте как я вам выше написал. Там программировать не нужно это механизм платформы, но если конечно же у вас управляемые формы
---
да оно так работает
но как его сохранять это поле в реквизит обозначение?
---
вот! на самом деле нет смысла его хранить когда можно вытащить из справочника. Представьте есть запасная часть "Двигатель", обозначение "ДВ", вот вы добавили запись в регистр и сохранили - в регистре у вас обозначение будет храниться "ДВ", далее заходим в справочник запасной части берем элемент "Двигатель" и меняем обозначение на "ДВИГ" и что получается - в справочнике зап. частей одно обозначение в регистре сведений другое!! Что одно другому противоречит. НЕт смысла хранить в регистре если его можно вытащить из ссылки на зап. часть.

Но если все же надо то пишите так в регистре сведений. У вас два элемента и два реквизита ЗапаснаяЧасть и Обозначение

```1c
    &НаКлиенте
    Процедура ЗапаснаяЧастьПриИзменении(Элемент)
    ЗапаснаяЧастьПриИзмененииНаСервере()
    КонецПроцедуры

    &НаСервере
    Процедура ЗапаснаяЧастьПриИзмененииНаСервере()
    Если значениезаполнено(Запись.ЗапаснаяЧасть) Тогда
    Запись.Обозначение = Запись.ЗапаснаяЧасть.Обозначение
    ИНаче
    Запись.Обозначение = "
    Конецесли
    КонецПроцедуры
```

Но все же мой совет не хранить данный реквизит, это не много не верный подход, хотя кто знает вашу конечную цель
---
спасибо!
---
да не зачто
---
простите что беспокою
теперь мне нужно что бы в документе закупка запчастей
при выборе запчасти так же выпадало обозначение
и рассчитать необходимосоть закупки( например на складе есть 1 деталь,а нам для ремонта нужны 2 значит заказать нужно одну норма для ремонта есть в справочнике запчасти а остатки товаров хранятся в регистре накопления "Остатки запчастей")
---
ну вот про обозначение, аналогично как в регистре делали, тоже самое и в документе можно реализовать.

касательно расчета: тоже достаточно легко реализовать, например, добавить форму подбора и расчета. То есть открывается форма подбора с остатками + к ней добавляем нормы, далее это все в документ закупки подставляем
---
что то не выходит код
как с регистром пыталась, но тоже ошибку пишет
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.