Имя: Пароль:
1C
1С v8
Передать параметр в форму в виде владельца объекта
0 Eastert
 
02.08.18
10:35
Добрый день, нужно из одного справочника - "стеллаж" открыть форму другого справочника - деталь". У детали стандартное поле владелец имеет тип Справочник.Стеллаж, также у детали на форме есть соответствующее поле формы владелец, и нужно туда передать стеллаж, из которого открывается эта форма детали.

Я делаю так:
в форме Стеллажа:

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

В форме детали:

    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
        
        ЗначениеВРеквизитФормы(Параметры.Основание, "Владелец"); // вот тут рукается
        
    КонецПроцедуры

Ошибка:
Ошибка при вызове метода контекста (ЗначениеВРеквизитФормы) ЗначениеВРеквизитФормы(Параметры.Основание, "Владелец");
по причине:
Недопустимое значение параметра (параметр номер '2')

Как при в СозданииНаСервере присвоить полю формы объект который есть в параметрах этой формы?
1 BobCat
 
02.08.18
10:40
Объект.Ссылка передай
2 Eastert
 
02.08.18
10:41
(1) та же ошибка
3 YaFedor
 
02.08.18
10:44
А какие реквизиты есть у формы? Дай скрин посмотреть
4 palsergeich
 
02.08.18
10:44
Один из параметров метода ОткрытьФрому - владелец. Засуньте туда ЭтаФорма.
5 BobCat
 
02.08.18
10:45
Зачем вообще значение в реквизит формы переводишь ? Тебе в отбор списка надо ссылку подставить
6 YaFedor
 
02.08.18
10:45
(4) это же просто владелец формы, а не владелец нового, создаваемого объекта
7 palsergeich
 
02.08.18
10:46
Из формы можно вытащить что угодно.
ну или да, отбор.
8 Eastert
 
02.08.18
10:46
9 Eastert
 
02.08.18
10:47
параметр формы основание заполнен нужным стеллажном, здесь все хорошо, нужно просто этот параметр присвоить полю формы
при открытии либо при созданиинасервре
10 palsergeich
 
02.08.18
10:47
Есть еще такая штука как заполнять из данных заполнения. Если нужно просто владельца засунуть, то православнее востпользоваться ей
11 Eastert
 
02.08.18
10:47
(9) в поел формы владелец
12 YaFedor
 
02.08.18
10:47
(8) У формы всего один реквизит "Объект"

Тогда уж:

Объект.Владелец = Параметры.Основание
13 palsergeich
 
02.08.18
10:48
14 palsergeich
 
02.08.18
10:50
Почитай и пойми что там написано. Для твоей задачи это именно то что нужно
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс