Как в справочнике на ФормеЭлемента по нажатию на кнопке открыть этот элемент для редактирования в регистре сведений? В регистре этот элемент содержит поле ссылка на данный элемент справочника. Обычные формы

```1c
    Процедура КнопкаХарактеристикиОбъектаНажатие(Элемент)
    Структура = Новый Структура("ОбъектОИС", Ссылка);
    ОткрытьФорму("РегистрСведений.ИнформационныеСистемы.ФормаЗаписи", Структура);
    КонецПроцедуры
```

Открывает форму "Запись" регистра с пустыми полями
---
и у него только 1 измерение "ОбъектОИС"?
для однозначного определения записи должны быть указаны все измерения.
А код в общем такой:

```1c
    РС = РегистрыСведений.ИнформационныеСистемы.СоздатьМенеджерЗаписи();
    РС.ОбъектОИС = Ссылка;
    РС.Прочитать();
    Форма = РС.ПолучитьФорму();
    Форма.Открыть();
```

Но если в существующей записи измерений заполнено несколько, а указываете только одно, то запись не будет найдена и откроется форма для ввода новой записи.
---
как себе это представляете?
РС независимый Непериодический? сомневаюсь.
Если не так, тогда там может быть неограниченное кол-во записей с элементов этого справочника. Что 1С должна открыть?
РС это просто таблица.
---
РС независимый Непериодический? сомневаюсь.
Независимый Непериодический

Если не так, тогда там может быть неограниченное кол-во записей с элементов этого справочника. Что 1С должна открыть?
В непериодическом такой элемент только один. 1С должна открыть запись в котором поле ОбъектОИС = Ссылка (из этой формы элемента)

как себе это представляете?

```1c
    КлючЗаписи = РегистрыСведений.ИнформационныеСистемы.СоздатьКлючЗаписи(Новый Структура("ОбъектОИС", Ссылка));
    ПараметрыФормы = Новый Структура("Ключ, ЗакрыватьПриЗакрытииВладельца", КлючЗаписи, Истина);
    ОткрытьФорму("РегистрСведений.ИнформационныеСистемы.ФормаЗаписи", ПараметрыФормы);
```
---
и у него только 1 измерение "ОбъектОИС"?
для однозначного определения записи должны быть указаны все измерения.
А код в общем такой:

```1c
    РС = РегистрыСведений.ИнформационныеСистемы.СоздатьМенеджерЗаписи();
    РС.ОбъектОИС = Ссылка;
    РС.Прочитать();
    Форма = РС.ПолучитьФорму();
    Форма.Открыть();
```

Но если в существующей записи измерений заполнено несколько, а указываете только одно, то запись не будет найдена и откроется форма для ввода новой записи.
---
1 измерение
---
Пример из СП

```1c
    Функция ПолучитьКлючЗаписи(ТутСтруктура)
    Отбор = Новый Структура;
    Отбор.Вставить("Подразделение", ВыбПодразделение);
    Отбор.Вставить("Должность", ВыбДолжность);
    Рег = РегистрыСведений.СведенияОШтатныхЕдиницах;
    КлючЗаписи = Рег.СоздатьКлючЗаписи(Отбор);
    Возврат КлючЗаписи;
    КонецФункции
```

Вам нужно создать ключ записи по набору измерений в этом регистре, тогда в

```1c
    ОткрытьФорму("РегистрСведений.ИнформационныеСистемы.ФормаЗаписи", Новый Структура("Ключ", ПолучитьКлючЗаписи(ТутСтруктура));
```

где ПолучитьКлючЗаписи - функция возвращающая ключ
ТутСтруктура - структура с ключами, соответствующими измерениям в вашем регистре
---
```1c
    НЗ=РегистрыСведений.Регистр1.СоздатьНаборЗаписей();
    НЗ.Отбор.Измерение1="абцд";
    НЗ.Прочитать();

    Если НЗ.Количество()=1 тогда
    Ключ=новый Структура("Измерение1,Ресурс1");
    ЗаполнитьЗначениеСвойств(Ключ,НЗ[0]);
    ОткрытьФорму("РегистрСведений.Регистр1.ФормаЗаписи", Ключ);
```
---
```1c
    НЗ=РегистрыСведений.ИнформационныеСистемы.СоздатьНаборЗаписей();
    НЗ.Отбор.ОбъектОИС=Ссылка;
    НЗ.Прочитать();

    Если НЗ.Количество()=1 тогда
    Ключ=новый Структура("ОбъектОИС",Ссылка);
    ЗаполнитьЗначениеСвойств(Ключ,НЗ[0]);
    ОткрытьФорму("РегистрСведений.ИнформационныеСистемы.ФормаЗаписи", Ключ);
    КонецЕсли;
```

{Справочник.ОбъектыОИС.Форма.ФормаЭлемента.Форма(720,3)}: Процедура или функция с указанным именем не определена (ЗаполнитьЗначениеСвойств)
  <<?>>ЗаполнитьЗначениеСвойств(Ключ,НЗ[0]); (Проверка: Толстый клиент (обычное приложение))
---
ЗаполнитьЗначениеСвойств ЗаполнитьЗначенияСвойств, прошу прощения, ошибся
---
```1c
    НЗ=РегистрыСведений.ИнформационныеСистемы.СоздатьНаборЗаписей();
    НЗ.Отбор.ОбъектОИС.Установить(Ссылка);
    НЗ.Прочитать();

    Если НЗ.Количество()=1 тогда
    Ключ=новый Структура("ОбъектОИС",Ссылка);
    ЗаполнитьЗначенияСвойств(Ключ,НЗ[0]);
    ОткрытьФорму("РегистрСведений.ИнформационныеСистемы.ФормаЗаписи", Ключ);
    КонецЕсли;
```

Открывается пустая форма, при заполнении создается новый элемент, а мне нужно редактировать старый
---
вариант 2

```1c
    Форма = ПолучитьФорму("РегистрСведений.Регистр1.ФормаЗаписи");
    Форма.Запись.Измерение1= "абцд";
    Форма.Запись.Ресурс1= 12345;
    Форма.Открыть();
```
---
в 1 варианте ты работаешь с точно существующим значением РС, во втором случае - можешь случайно/специально создать новую, смотри по своей задаче