В документе есть дополнительный реквизит нужно чтобы при создании нового документа этот реквизит был заполнен по умолчанию одним из значений этого реквизита.
(1) Полагаю только доработкой конфигурации.
Добавить регистр сведений "ЗначенияДопРеквизитовПоУмолчанию" (ТипДокумента, ДопРеквизит, Значение)
Добавить Подписку на событие "ОбработкаЗаполнения" и там прописать заполнение по данным регистра.
Если с документом работаем через форму, то все просто. В процедуре "ПриОткрытии" делаем свои черные дела по заполнению реквизитов. Или "ПриСозданииНаСервере", если есть ссылочные значения, что будет наверное правильнее. То есть с работой через форму вообще никаких проблем: А = Б и погнали.
Если создаем вне формы, то увы, все сложнее. В модуле объекта документа есть обработчики "ПриУстановкеНовогоНомера", "ПередЗаписью". Если со вторым все понятно, то по первому у меня сомнения: будет ли оно работать при первом назначении номера, или же он только для смены уже назначенного. Вообще можно в модуле объекта документа создать свою процедуру "ТипаНазначитьЗначенияСвоимРеквизитам", экспортную естественно, и в ней все это делать. А уже в исходном коде, где надо создать документ, вызывать ее после получения объекта. Типа Документ = Документы.МойДок.СоздатьДокумент(); Документ.ТипаНазначитьЗначенияСвоимРеквизитам(); .. и далее уже делаем свои черные делишки.
А вообще, на ваш вопрос можно было бы наиболее полно ответить "ДА" и на этом закончить =)
рос можно было бы наиболее полно ответить "ДА" и на этом закончить =)
))
В конфигурации уже живого места нет от дороботок :)
Я не пойму как добраться до нужного мне значения и подставить его в доп реквизит.
Реквизиты заполняются при создании формы
Если ИмяПВХ = Неопределено Тогда
ИмяПВХ = ИмяРеквизита;
КонецЕсли;
НоваяСтрока = ТабличноеПоле.Добавить();
НоваяСтрока.ИмяРеквизита = ИмяРеквизита;
НоваяСтрока.ЗначениеДляПравогоИЛевого = ЗначениеДляПравогоИЛевого;
НоваяСтрока.ПредставлениеПараметра = ПредставлениеПараметра;
Если ЗначениеДляПравогоИЛевого Тогда
НоваяСтрока.ЗначениеПравыйГлаз = Объект[ИмяРеквизита+"П"];
НоваяСтрока.ЗначениеЛевыйГлаз = Объект[ИмяРеквизита+"Л"];
Иначе
НоваяСтрока.Значение = Объект[ИмяРеквизита];
КонецЕсли;
НоваяСтрока.Владелец = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения[ИмяПВХ];
Показать
Но их значения пустые как на скрине в первых строчках, вот я и не могу понять как подставить значение чтобы при открытии формы было как на скрине только в последних строчка. (заполнено)
(8) а смысл создавать регистр с данными если они(данные) итак есть в базе, вопрос в том как до них добраться и присвоить.
https://yadi.sk/i/OQqQEbn53F5HUF На скрине таблица из дополнительных реквизитов которая заполняется при создании формы. Видно что есть поле "Орбита" с 2 столбика - это 2 реквизита обьекта с типом значения "СправочникСсылка.ЗначенияСвойствОбъектов". Как присвоить одно из этих значений? НайтиПоНаименованию не подходит - не присваивает.
Если ЗначениеДляПравогоИЛевого Тогда
НоваяСтрока.ЗначениеПравыйГлаз = Объект[ИмяРеквизита+"П"];
НоваяСтрока.ЗначениеЛевыйГлаз = Объект[ИмяРеквизита+"Л"];
Если Объект.Ссылка.Пустая() Тогда
Если НоваяСтрока.ИмяРеквизита = "Орбита" Тогда
НоваяСтрока.ЗначениеПравыйГлаз = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Норма",,,ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.Орбита);
НоваяСтрока.ЗначениеЛевыйГлаз = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Норма",,,ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.Орбита);