|
Значение реквизита документа в обработке проведения по наименованию реквизита
| ☑ |
0
smirnoww
13.03.13
✎
15:45
|
Надо: в обработке проведения сделать цикл по реквизитам документа, и если наименование реквизита содержится в ПланеВидовХарактерстик, то сохранить значение реквизита в регистр.
Вопрос: Как в обработке проведения получить значение реквизита по наименованию?
Пытаюсь сделать как-то так:
----------
// Записываем реквизиты КЗ в регистр
Для каждого Реквизит Из Метаданные.Документ.ЗаявкаНаВключениеВПланКЗ.Реквизиты Цикл
// если реквизит есть в плане видов характеристик, то сохрание его в регистр
ТипРеквизита = ПланыВидовХарактеристик.РеквизитыКЗ.НайтиПоНаименованию(Реквизит.Имя, Истина)
Если ЗначениеЗаполнено(ТипРеквизита) Тогда
СохраняемыйРеквизит = РегистрыСведений.РеквизитыКонкурентнойЗакупки.СоздатьМенеджерЗаписи();
СохраняемыйРеквизит.ТипРеквизита = ТипРеквизита;
СохраняемыйРеквизит.ЗначениеРеквизита = ??? ;
СохраняемыйРеквизит.Записать();
КонецЕсли;
КонецЦикла;
-----------
|
|
1
salvator
13.03.13
✎
15:47
|
СохраняемыйРеквизит.ЗначениеРеквизита = ЭтотОбъект[Реквизит.Имя];
|
|
2
MSII
13.03.13
✎
15:48
|
ПрикладнойОбъект[Реквизит.Имя]
ПрикладнойОбъект - твой документ, значение реквизита которого тебе нужно
|
|
3
Лефмихалыч
13.03.13
✎
16:09
|
(0) юзай версионирование, не биби мозги. Хоть из той же БСП
|
|
4
smirnoww
13.03.13
✎
16:54
|
Спасибо!
Ссылка[Реквизит.Имя] тоже прокатило.
|
|
5
Волшебник
13.03.13
✎
16:55
|
(4) лучше ЭтотОбъект
|
|
6
Лефмихалыч
13.03.13
✎
16:56
|
(5) какая к хрену разница? Сразу после этого вызова у него все равно запрос в цикле. Одним больше, одним меньше...
|
|
7
samozvanec
13.03.13
✎
17:03
|
(6) ссылка - на объект в базе, объект - тот, что редактируется
|
|
8
Лефмихалыч
13.03.13
✎
17:05
|
(7) и дальше чо? ну уберешь ты один запрос в цикле, там дальше сразу другой. Половинчатая оптимизация.
|
|
9
samozvanec
13.03.13
✎
17:07
|
(8) значения реквизитов могут отличаться у ссылки и у объекта
|
|
10
samozvanec
13.03.13
✎
17:08
|
+(9) "могут" можно читать как "будут"
|
|