Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 дек 2024, 13:44

Подставить данные в реквизит формы

Автор cannabis_86, 27 июн 2011, 13:24

0 Пользователей и 1 гость просматривают эту тему.

cannabis_86

Здравствуйте, 1с 8.2 управляемое приложения, конфа своя.
Есть справочники - физлица и сотрудники.
В справочнике сотрудники имеется ссылка на справочник физлица.
Хочу чтобы в форме элемента справочника сотрудники отображалась некая инфа из справочника физлица по ссылке с возможностями изменения.
Написал такой код, но он что-то не работает(((, подскажите как быть?
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если Не Параметры.Ключ.Пустая() Тогда
        СпрФизЛицо = Объект.ФизЛицо;
    КонецЕсли;
КонецПроцедуры

СпрФизЛицо - это реквизит формы типа справочник.физлица.ссылка
На форме имеются элементы - СпрФизЛицо.Фамилия и т.п. из справочника физлица по ссылке.

cannabis_86

Точнее данные добавляются в форму, но редактирование их запрещено( как быть с этим?

cannabis_86

Вроде как-то получилось, но хочется знать вашего мнения, правильно ли я делаю? Я использую вместо ссылки на объект сам объект.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Не Параметры.Ключ.Пустая() Тогда
ЭтотОбъект=РеквизитФормыВЗначение("СпрФизЛицо");
ЭтотОбъект = Объект.ФизЛицо.ПолучитьОбъект();
ЗначениеВРеквизитФормы(ЭтотОбъект,"СпрФизЛицо");
КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
ЗаписьПоФизЛицу();
КонецПроцедуры

&НаКлиенте
Процедура ФизЛицоПриИзменении(Элемент)
ИзменитьФизЛицо();
КонецПроцедуры

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

&НаСервере
Процедура ЗаписьПоФизЛицу()
ЭтотОбъект=РеквизитФормыВЗначение("СпрФизЛицо");
ЭтотОбъект.Записать();
КонецПроцедуры


Тут осталась еще маленькая проблемка: при изменении объекта справочник.физлица сам объект изменяется, но вот ссылка на данные объект остается старой. Они изменяется только при повторном выборе( Как тут ее обновить? Нужно что-то типа Обновить данные формы или как?

Шурыгин Иван Сергеевич

вы когда меняете физ лицо, вызывайте лучше форму редактирования физ. лица. либо... обновляйте форму, после изменения физ лица. самое простое, Форма.Обновить();
===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск