|
Запись значения в дополнительный реквизит документа в 1С 8.3 | ☑ | ||
---|---|---|---|---|
0
maxikat
23.01.15
✎
11:16
|
Добрый день!
Требуется записать в РТУ название сайта в дополнительный реквизит "сайт-источник". ПИшу так: Док = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); .... ЗаписатьРеквизит(Док, "Сайт-источник", Почта); &НаСервере Процедура ЗаписатьРеквизит(ДокОбъект, ИмяРеквизита, ЗначениеРеквизита) ДопРекв_Ссылка = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Заголовок",ИмяРеквизита); Если ДопРекв_Ссылка.Пустая() Тогда Сообщить("Не найден доп. реквизит "+ИмяРеквизита+", значение не установлено!"); Возврат; КонецЕсли; СтрДопРеквизиты = ДокОбъект.ДополнительныеРеквизиты.Найти(ДопРекв_Ссылка, "Свойство"); Если СтрДопРеквизиты = Неопределено Тогда СтрДопРеквизиты = ДокОбъект.ДополнительныеРеквизиты.Добавить(); КонецЕсли; СтрДопРеквизиты.Свойство = ДопРекв_Ссылка; СтрДопРеквизиты.Значение = ЗначениеРеквизита; ДокОбъект.Записать(); КонецПроцедуры Все равно не записывает. |
|||
1
Maxus43
23.01.15
✎
11:17
|
отладчик что говорит?
|
|||
2
Maxus43
23.01.15
✎
11:20
|
||||
3
maxikat
23.01.15
✎
11:20
|
(1) Все эти строки замечательно проходит и в значении показывает, что записал. Но при открытии документа Сайт-источник пуст.
|
|||
4
maxikat
23.01.15
✎
11:55
|
(2) Спасибо большое за совет. Но все равно почему-то не получается.
Написала так: ЗаписатьРеквизит(Док.Ссылка, "Сайт-источник", Почта); &НаСервере Процедура ЗаписатьРеквизит(Док, ИмяРеквизита, ЗначениеРеквизита) ДопРекв_Ссылка = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Заголовок",ИмяРеквизита); Если ЭлПВХ_Ссылка.Пустая() Тогда Сообщить("Не найден доп. реквизит "+ИмяРеквизита+", значение не установлено!"); Возврат; КонецЕсли; ТабЗнач = Новый ТаблицаЗначений; ТабЗнач.Колонки.Добавить("Свойство"); ТабЗнач.Колонки.Добавить("Значение"); НоваяСтрока = ТабЗнач.Добавить(); НоваяСтрока.Свойство = ДопРекв_Ссылка; НоваяСтрока.Значение = ЗначениеРеквизита; УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(Док, ТабЗнач); Док.ПолучитьОбъект().Записать(); КонецПроцедуры Что еще может быть не так? |
|||
5
maxikat
23.01.15
✎
13:09
|
Никто не может подсказать? Вроде все просто, но не заполняется. Где еще нужно что-то прописать?
|
|||
6
Maxus43
23.01.15
✎
13:11
|
УправлениеСвойствами.ЗаписатьСвойстваУОбъекта - есть такая процедура в твоей конфе?
|
|||
7
maxikat
23.01.15
✎
13:15
|
(6) Да, процедура такая есть. Он туда заходит, все прописывает. Причем если смотреть в отладчике в Дополнительных реквизитах документа, то отображается, что в Сайте-источнике запись есть, какая мне надо. А как только открываю сам документ в Предприятии, то там в этом реквизите пусто. Тогда непонятно, куда он все это записывает? И записывает ли?
|
|||
8
Maxus43
23.01.15
✎
13:31
|
эх, нет у меня конфы на 8.3 под рукой с доп реквизитами... не должно быть там проблем, может при открытии очищает? А если руками на форме заполнить и записать - не исчезает?
|
|||
9
maxikat
23.01.15
✎
13:54
|
Ситуация становится совсем забавной. Потому что я прописала в одной файле все руками, в другом программно. Там, где руками, все отображается, а программно пусто. НО! В консоле запросов в обоих файлах Дополнительные реквизиты заполнены одинаково! Как такое может быть?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |