PDA

Просмотр полной версии : Перезапись объекта справочника



DenisSt
07.02.2017, 21:27
Есть два справочника "Клиенты" и "Антропометрические данные". При том,что второй подчинен первому.
На форме справочника "Антропометрические Данные" есть реквизит "Владелец" и реквизит "Вес". Я хочу,чтобы при записи объекта "антропометрические данные" перезаписывался объект справочника "Клиенты" с уже новым "Весом".


&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
ПередЗаписьюНаСервере(Объ� �кт.Вес, Объект.Владелец);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ПередЗаписьюНаСервере(Вес, Владелец)
Клиенты = Справочники.Клиенты;
НайденнаяСсылка = Клиенты.НайтиПоРеквизиту("ФамилияИО", Владелец);
НайденныйОбъект = НайденнаяСсылка.ПолучитьО� �ъект();
НайденныйОбъект.ВесКлиент� � = Вес;
НайденныйОбъект.Записать();

КонецПроцедуры


Проблема в том,что возвращается пустая ссылка

alexandr_ll
08.02.2017, 07:17
Есть два справочника "Клиенты" и "Антропометрические данные". При том,что второй подчинен первому.
На форме справочника "Антропометрические Данные" есть реквизит "Владелец" и реквизит "Вес". Я хочу,чтобы при записи объекта "антропометрические данные" перезаписывался объект справочника "Клиенты" с уже новым "Весом".


&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
ПередЗаписьюНаСервере(Объ� �кт.Вес, Объект.Владелец);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ПередЗаписьюНаСервере(Вес, Владелец)
Клиенты = Справочники.Клиенты;
НайденнаяСсылка = Клиенты.НайтиПоРеквизиту("ФамилияИО", Владелец);
НайденныйОбъект = НайденнаяСсылка.ПолучитьО� �ъект();
НайденныйОбъект.ВесКлиент� � = Вес;
НайденныйОбъект.Записать();

КонецПроцедуры


Проблема в том,что возвращается пустая ссылка

Владелец - это не реквизит, а свойство. Возвращает ссылку на элемент справочника Клиенты. Зачем его еще искать по реквизиту, когда ссылка и так есть? Неясно, зачем вы пытаетесь записать вес в справочник Клиенты, ведь это реквизит справочника Антропометрические данные? На мой взгляд вес клиента - величина не постоянная, и для нее лучше подходит регистр сведений.

avm3110
08.02.2017, 07:43
Владелец - это не реквизит, а свойство.
Ну если быть точным, то "владелец" это как раз реквизит - "стандартный реквизит" :blush:

avm3110
08.02.2017, 07:46
Проблема в том,что возвращается пустая ссылка
Это не бага, это фича (с) :-)
А что хотели иного? В контексте клиента такого понятия как "ссылка" - просто не существует, на клиенте доступны только примитивные типы данных.
Вот вы и передаете с при вызове из клиента - "пустую ссылку"