Всем привет! Я новичок в 1С разработке, пытаюсь научиться)
Получила задание создать внешнюю обработку, которая программно добавляет в документ "Акт сверки взаиморасчетов" дополнительные сведения.

Пытаюсь сделать что-то такое:

```1c
    &НаСервере
    Процедура СоздатьДопСведенияНаСервере()

    Набор = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей();

    //Набор.Отбор.Объект.Установить("АктСверкиВзаиморасчетов");
    //Набор.Отбор.Свойство.Установить(Свойство);

    НоваяСтрокаНабора = Набор.Добавить();
    НоваяСтрокаНабора.Объект = Документы.АктСверкиВзаиморасчетов;
    НоваяСтрокаНабора.Свойство = "Свойство";
    НоваяСтрокаНабора.Значение = "лалала";

    Набор.Записать();
    КонецПроцедуры

    &НаКлиенте
    Процедура СоздатьДопСведения(Команда)
    СоздатьДопСведениияНаСервере();
    КонецПроцедуры
```

Пишет ошибку:
Запись не верна! Значение поля "Объект" не может быть пустым!: ДополнительныеСведения: , (Регистр сведений: Дополнительные сведения; Номер строки: 1)

Понимаю, что как-то не так устанавливаю Объект, Свойство и Значение. Мудрые люди, подскажите, пожалуйста, как это правильно сделать)
---
Куда-то вы пошли не туда.

Вам надо
1. программно добавить элемент в ПВХ.ДополнительныеРеквизитыИСведения,
2. добавить элемент в Справочник.НаборыДополнительныхРеквизитовИСведений

и всё это правильно заполнить. А регистр сведений для вашей задачи вам не нужен.
---
НоваяСтрокаНабора.Объект = Документы.АктСверкиВзаиморасчетов; А давайте вместе посмотрим, какой тип имеет измерение "Объект" в регистре сведений "ДополнительныеСведения", и сравним его с тем типом, который имеет значение "Документы.АктСверкиВзаиморасчетов" (подсказка - он имеет тип ДокументМенеджер).

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

Вам надо
1. программно добавить элемент в ПВХ.ДополнительныеРеквизитыИСведения,
2. добавить элемент в Справочник.НаборыДополнительныхРеквизитовИСведений

и всё это правильно заполнить. А регистр сведений для вашей задачи вам не нужен.
---
Да нет же. Это все уже есть. Просто автору хочется заполнять существующее ДопСведение автоматически. Программно.
---
ПВХ.ДополнительныеРеквизитыИСведения
Здравствуйте! Вы правильно поняли мой вопрос, спасибо большое за ваш ответ!
Я совсем новичок, и сейчас пытаюсь сделать так, как вы сказали.
Я хочу добавить доп. сведение для документа ПоступлениеТоваровУслуг. Я правильно понимаю, что для начала мне надо включить этот документ в Тип значения характеристик? Если да, то подскажите, пожалуйста, как это сделать программно)
---
Все, я сама разобралась, как это сделать! Спасибо вам огромное еще раз!
Если вдруг кому понадобится, вот так все работает
---
нм=ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ЭтотОбъект.Номер, Истина, Истина);
 ДополнительныеСведения = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("№ счета 1С (Печатный)", Истина);

  МенеджерЗаписи = РегистрыСведений.ДополнительныеСведения.СоздатьМенеджерЗаписи();
  МенеджерЗаписи.Объект = ЭтотОбъект.Ссылка;
  МенеджерЗаписи.Свойство = ДополнительныеСведения;
  МенеджерЗаписи.Значение = нм;
  МенеджерЗаписи.Записать(Истина);

Записывает, при записи документа, дополнительные сведения .....
---
Программно "Добавление дополнительных сведений"

```1c
    ИмяРеквизита="TOS_Test";
    //включим константу использования
    Если Не Константы.ИспользоватьДополнительныеРеквизитыИСведения.Получить() Тогда
    Константы.ИспользоватьДополнительныеРеквизитыИСведения.Установить(Истина);
    КонецЕсли;

    //попробуем найти реквизит по наименованию
    ДопРеквизитСсылка = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(ИмяРеквизита);
    Если НЕ ЗначениеЗаполнено(ДопРеквизитСсылка) Тогда
    //если не нашли реквизит - будем его создавать
    ДопРеквизитОбъект = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.СоздатьЭлемент();
    ДопРеквизитОбъект.Наименование = ИмяРеквизита;
    ДопРеквизитОбъект.ТипЗначения = Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(250));
    ДопРеквизитОбъект.Виден = Истина;
    ДопРеквизитОбъект.Доступен = Истина;
    ДопРеквизитОбъект.Заголовок = ИмяРеквизита;
    ДопРеквизитОбъект.ИдентификаторДляФормул = ИмяРеквизита;
    ДопРеквизитОбъект.Имя = СтрЗаменить(ИмяРеквизита," ",");
    ДопРеквизитОбъект.НаборСвойств = Справочники.НаборыДополнительныхРеквизитовИСведений.Документ_ЗаказНаряд;
    ДопРеквизитОбъект.ЭтоДополнительноеСведение = Истина;
    ДопРеквизитОбъект.ВидСвойств = Перечисления.ВидыСвойств.ДополнительныеСведения;
    //зададим имя нового реквизита
    ДопРеквизитОбъект.Записать();
    ДопРеквизитСсылка = ДопРеквизитОбъект.Ссылка;
    КонецЕсли;

    //добавим наш реквизит в набор дополнительных реквизитов ЗаказНаряд
    НаборДополнительныхРеквизитов = Справочники.НаборыДополнительныхРеквизитовИСведений.Документ_ЗаказНаряд.ПолучитьОбъект();
    Если НаборДополнительныхРеквизитов.ДополнительныеСведения.Найти(ДопРеквизитСсылка, "Свойство") = Неопределено Тогда
    //добавим реквизит в набор
    Стр = НаборДополнительныхРеквизитов.ДополнительныеСведения.Добавить();
    Стр.Свойство = ДопРеквизитСсылка;
    НаборДополнительныхРеквизитов.Записать();
    КонецЕсли;
```