Добавить программно дополнительные сведения в документ 1С 8.3 БП

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

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

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

	Набор = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей();
	
	//Набор.Отбор.Объект.Установить("АктСверкиВзаиморасчетов");
	//Набор.Отбор.Свойство.Установить(Свойство);
	
	НоваяСтрокаНабора = Набор.Добавить();
	НоваяСтрокаНабора.Объект = Документы.АктСверкиВзаиморасчетов;
	НоваяСтрокаНабора.Свойство = "Свойство";
	НоваяСтрокаНабора.Значение = "лалала";
	
	Набор.Записать();
КонецПроцедуры 


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


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

Понимаю, что как-то не так устанавливаю Объект, Свойство и Значение. Мудрые люди, подскажите, пожалуйста, как это правильно сделать)
По теме из базы знаний
Найденные решения
8. tetraren 26 01.11.20 00:45 Сейчас в теме
Куда-то вы пошли не туда.

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

и всё это правильно заполнить. А регистр сведений для вашей задачи вам не нужен.
rondamize; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. FatPanzer 31.10.20 19:08 Сейчас в теме
(1)
НоваяСтрокаНабора.Объект = Документы.АктСверкиВзаиморасчетов;
А давайте вместе посмотрим, какой тип имеет измерение "Объект" в регистре сведений "ДополнительныеСведения", и сравним его с тем типом, который имеет значение "Документы.АктСверкиВзаиморасчетов" (подсказка - он имеет тип ДокументМенеджер).

В Измерение "Объект" надо записывать ссылку того конкретного экземпляра документа, для которого вы и формируете эти допсведения....
3. rondamize 31.10.20 19:16 Сейчас в теме
(2) Здравствуйте, спасибо за ответ!
А не знаете, можно ли это сделать не для какого-то конкретного документа, а чтобы вообще когда я создаю новый Акт сверки взаиморасчетов, у него всегда было вот это дополнительное сведение?
Знаю, что это можно сделать в пользовательском режиме, но мне нужно такое провернуть в большом количестве конфигураций, поэтому нужна именно обработка
4. FatPanzer 31.10.20 19:21 Сейчас в теме
(3)
у него всегда было вот это дополнительное сведение?
Конечно. Создавайте его программно после записи нового документа...
5. rondamize 31.10.20 19:30 Сейчас в теме
(4) Думаю, я поняла вашу идею)
Но мой вопрос вот в чем: мы можем в пользовательском режиме зайти и добавить в раздел Реализация(акты, накладные) сведение один раз и навсегда. А потом заполнять его вручную в разных документах.
(Если это важно для понимания, то контекст такой: задача в том, чтобы добавить в документы доп. сведение (строку), где бухгалтер сможет отмечать, что в документе есть ошибки)
Можно ли то же самое сделать в конфигураторе?)
Прикрепленные файлы:
6. FatPanzer 31.10.20 19:39 Сейчас в теме
(5)
Можно ли то же самое сделать в конфигураторе?
Тут есть два варианта ответа:
1. Нет, конечно. Механизм допсведений придуман и реализован именно для того, чтобы не заморачиваться с конфигуратором, но при этом иметь возможность именно в пользовательском режиме заносить такие сведения при наличии необходимости.
2. Да, конечно. Добавьте такой реквизит к самом документу и разместите его на форме (хоть в наглую, хоть через расширение конфигурации).
7. rondamize 31.10.20 20:12 Сейчас в теме
(6) Окей, спасибо большое) Видимо, придется вручную создавать..
8. tetraren 26 01.11.20 00:45 Сейчас в теме
Куда-то вы пошли не туда.

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

и всё это правильно заполнить. А регистр сведений для вашей задачи вам не нужен.
rondamize; +1 Ответить
9. FatPanzer 01.11.20 01:03 Сейчас в теме
(8) Да нет же. Это все уже есть. Просто автору хочется заполнять существующее ДопСведение автоматически. Программно.
ybatiaev; +1 Ответить
10. rondamize 18.11.20 17:06 Сейчас в теме
(8)
ПВХ.ДополнительныеРеквизитыИСведения

Здравствуйте! Вы правильно поняли мой вопрос, спасибо большое за ваш ответ!
Я совсем новичок, и сейчас пытаюсь сделать так, как вы сказали.
Я хочу добавить доп. сведение для документа ПоступлениеТоваровУслуг. Я правильно понимаю, что для начала мне надо включить этот документ в Тип значения характеристик? Если да, то подскажите, пожалуйста, как это сделать программно)
Прикрепленные файлы:
11. rondamize 18.11.20 22:53 Сейчас в теме
(8) Все, я сама разобралась, как это сделать! Спасибо вам огромное еще раз!
Если вдруг кому понадобится, вот так все работает
Прикрепленные файлы:
HIVvich; tetraren; +2 Ответить
12. swi76 03.05.21 13:31 Сейчас в теме
(11)

нм=ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ЭтотОбъект.Номер, Истина, Истина);
ДополнительныеСведения = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("№ счета 1С (Печатный)", Истина);

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

Записывает, при записи документа, дополнительные сведения .....
ybatiaev; nord; TSSV; mk126; YanTsys; korpas; +6 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот