Заполнить значение доп реквизита при открытии формы. v 8.3

1. Artem1405 25 05.03.17 10:33 Сейчас в теме
В документе есть дополнительный реквизит нужно чтобы при создании нового документа этот реквизит был заполнен по умолчанию одним из значений этого реквизита.

Кто нибудь решал подобную задачу?

https://yadi.sk/i/Hb_jctnm3F4ASh
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. cmax 105 05.03.17 11:13 Сейчас в теме
(1) Полагаю только доработкой конфигурации.
Добавить регистр сведений "ЗначенияДопРеквизитовПоУмолчанию" (ТипДокумента, ДопРеквизит, Значение)
Добавить Подписку на событие "ОбработкаЗаполнения" и там прописать заполнение по данным регистра.
2. vadim1011985 100 05.03.17 10:59 Сейчас в теме
дополнительный реквизит добавлен в конфигурацию ? или добавляли через режим предприятия ?
4. Euroset1 11 05.03.17 13:26 Сейчас в теме
Если с документом работаем через форму, то все просто. В процедуре "ПриОткрытии" делаем свои черные дела по заполнению реквизитов. Или "ПриСозданииНаСервере", если есть ссылочные значения, что будет наверное правильнее. То есть с работой через форму вообще никаких проблем: А = Б и погнали.

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

А вообще, на ваш вопрос можно было бы наиболее полно ответить "ДА" и на этом закончить =)
5. Artem1405 25 05.03.17 14:25 Сейчас в теме
(4)
рос можно было бы наиболее полно ответить "ДА" и на этом закончить =)
))
В конфигурации уже живого места нет от дороботок :)
Я не пойму как добраться до нужного мне значения и подставить его в доп реквизит.
Реквизиты заполняются при создании формы
Если ИмяПВХ = Неопределено Тогда
		ИмяПВХ = ИмяРеквизита;
	КонецЕсли;
	
	НоваяСтрока = ТабличноеПоле.Добавить();
	НоваяСтрока.ИмяРеквизита              = ИмяРеквизита;
	НоваяСтрока.ЗначениеДляПравогоИЛевого = ЗначениеДляПравогоИЛевого;
	НоваяСтрока.ПредставлениеПараметра    = ПредставлениеПараметра;
	
	Если ЗначениеДляПравогоИЛевого Тогда
		НоваяСтрока.ЗначениеПравыйГлаз = Объект[ИмяРеквизита+"П"];
		НоваяСтрока.ЗначениеЛевыйГлаз  = Объект[ИмяРеквизита+"Л"];
	Иначе
		НоваяСтрока.Значение = Объект[ИмяРеквизита];
	КонецЕсли;
	
	НоваяСтрока.Владелец = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения[ИмяПВХ];
Показать

Но их значения пустые как на скрине в первых строчках, вот я и не могу понять как подставить значение чтобы при открытии формы было как на скрине только в последних строчка. (заполнено)
8. cmax 105 05.03.17 16:05 Сейчас в теме
(5) А чем не устраивает мой вариант?
Вполне рабочий вариант с минимальными изменениями, а точнее даже без изменения типовых объектов конфигурации.
9. Artem1405 25 05.03.17 17:47 Сейчас в теме
(8) а смысл создавать регистр с данными если они(данные) итак есть в базе, вопрос в том как до них добраться и присвоить.

https://yadi.sk/i/OQqQEbn53F5HUF
На скрине таблица из дополнительных реквизитов которая заполняется при создании формы. Видно что есть поле "Орбита" с 2 столбика - это 2 реквизита обьекта с типом значения "СправочникСсылка.ЗначенияСвойствОбъектов". Как присвоить одно из этих значений? НайтиПоНаименованию не подходит - не присваивает.
11. Artem1405 25 05.03.17 18:35 Сейчас в теме
(4)
НужноеЗначение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Норма",,,ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.Орбита);

Разобралкя как получить значение допреквиита, по точке останова в выражении именно то что нужно, но..
 Объект.ОрбитаЛ=НужноеЗначение;

При открытии формы, или даже по кнопке на форме не присваивается значение.
6. Artem1405 25 05.03.17 14:27 Сейчас в теме
Вернее не реквизиты заполняются а заполняется табличка из дополнительных реквизитов с пустыми значениями.
7. Artem1405 25 05.03.17 14:28 Сейчас в теме
Конфигурация - Розница аптека 2.1 от Рарус.
10. Artem1405 25 05.03.17 17:50 Сейчас в теме
Объект.ОрбитаЛ = Справочники.ЗначенияСвойствОбъектов.НайтиПо.... Как найти?
12. user_2010 904 05.03.17 22:04 Сейчас в теме
13. Artem1405 25 06.03.17 18:57 Сейчас в теме
(12) Пробовал записывать не помогает
в выражении значение присвоено:
https://yadi.sk/i/sSRi7uwA3F9Jr7
Но в документе не заполняется
https://yadi.sk/i/y-W3GbFs3F9KBz
14. Artem1405 25 06.03.17 19:14 Сейчас в теме
Видимо проблема в том что реквизиты заполняются при создании формы. Значение присваивается объекту но на форме их нет даже после записи.
15. Artem1405 25 24.03.17 21:32 Сейчас в теме
Если ЗначениеДляПравогоИЛевого Тогда
		НоваяСтрока.ЗначениеПравыйГлаз = Объект[ИмяРеквизита+"П"];
		НоваяСтрока.ЗначениеЛевыйГлаз  = Объект[ИмяРеквизита+"Л"];
				Если Объект.Ссылка.Пустая() Тогда
			Если НоваяСтрока.ИмяРеквизита = "Орбита" Тогда
				НоваяСтрока.ЗначениеПравыйГлаз = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Норма",,,ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.Орбита);
				НоваяСтрока.ЗначениеЛевыйГлаз = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Норма",,,ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.Орбита);


Победил!)
Оставьте свое сообщение

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