Имя: Пароль:
1C
1C 7.7
v7: Владелец формы списка справочника - пустое значение
, , ,
0 tovarz
 
01.02.19
08:41
Здравствуйте
Как можно получить владельца формы списка подчиненного справочника при его открытии, если в подчиненном справочнике еще нет элементов?
Пробовал так
Процедура ПриОткрытии()
        Использоватьвладельца();
    сообщить(Владелец.Наименование);
конецпроцедуры
Но "Владелец.Наименование" выходит как пустое значение.
1 Смотрящий
 
01.02.19
08:46
ИспользоватьВладельца(<?>,);
Синтаксис:
ИспользоватьВладельца(<Владелец>,<ФлагИзменения>)
Назначение:
Установить владельца для формы списка подчиненного справочника. Возвращает значение текущего владельца для справочника (на момент до исполнения метода).
Параметры:
<Владелец> - значение элемента связанного справочника, которому подчинен данный справочник.
<ФлагИзменения> - необязательный параметр. Этим флагом регулируется возможность интерактивного изменения владельца. 1 - пользователь может изменить владельца интерактивно, 0 - пользователь не может интерактивно изменить владельца. Значение по умолчанию: 1.
Замечание:
Данный метод доступен в контексте Модуля формы списка справочника. Действие данного метода относится ко всему текущему подчиненному справочнику, который доступен в локальном контексте Модуля формы списка справочника. При добавлении нового элемента текущего справочника данный параметр также будет являться свойством нового элемента.
2 skafandr
 
01.02.19
08:48
(0)что за бред
Владелец есть реквизит элемента подчиненного справочника,"нет ножек - нет конфеток"
3 tovarz
 
01.02.19
08:51
(2) А как тогда 1с-ка получает наименование владельца в заголовке окна открытой формы списка? Там ведь указан владелец
4 Смотрящий
 
01.02.19
08:52
(3) Возвращает значение текущего владельца для справочника (на момент до исполнения метода)

ТекВладелец = ИспользоватьВладельца();
Сообщить("" + ТекВладелец);
5 Карст
 
01.02.19
08:55
продам СП , дорого ))))
ЗЫ (0) в результате то что нужно ? если открыть справочник уже по владельцу то в открытие передавай владельца через параметр формы
6 Salimbek
 
01.02.19
08:56
(4) А зачем так сложно? Может проще просто:
Сообщить(Владелец);

(0) Странный код. Вы сначала присваиваете пустого Владельца через "ИспользоватьВладельца" без параметров, а потом удивляетесь, почему он у вас пустой.
7 Смотрящий
 
01.02.19
08:58
(6) Потому что если нет элементов подчиненного справочника в форме списка Владелец будет выдавать пустое значение
8 Salimbek
 
01.02.19
09:01
+(6) Кстати, а 1С-ка у вас не ругается на использование этой функции без параметров? А то, <Владелец> - не отмечено, что "Необязательный параметр"
9 tovarz
 
01.02.19
09:02
(5) на форме элемента справочника-владельца есть поле ввода типа "справочник", который является подчиненным; имеет кнопку выбора. Насколько я знаю, ОткрытьФорму можно вешать на кнопку, а не на поле ввода.
(6) И просто Владелец пробовал, тоже пусто.
10 skafandr
 
01.02.19
09:02
(7) человек в (6)правду говорит. Типа такого должно быть

Процедура ПриОткрытии()    
        ТоварВладелец = Форма.Параметр;
    ИспользоватьВладельца(ТоварВладелец);
КонецПроцедуры
11 tovarz
 
01.02.19
09:04
(10) невозможно вроде передать параметр в форму, если она открывается из поля ввода? только по кнопке вроде
12 Смотрящий
 
01.02.19
09:04
(10) Человек в (6) может говорить, может молчать. Реальность в (7)
13 Salimbek
 
01.02.19
09:07
(9) Ну это смотря как открываешь свою форму. И потом, вы же пишете "Как получить" - вот получить - оно так. А если надо _Установить_ то это немного другая задача.
(12) Да я не спорю, в тонкости этого Кунг-Фу я уже дано не вдавался. Однако ж, пока что вообще не факт, что товарищ из (0) вообще каким-либо образом связывал свои формы.
14 Svetka
 
01.02.19
09:08
(0) делаешь на форме реквизит диалога текстовый и в свойствах (вкладка дополнительно) пропиши  Владелец.Наименование
15 skafandr
 
01.02.19
09:09
(12) Надо быть скромнее,особенно когда неправы
В списке подчиненного справочника может не быть элементов,главное для этого списка определить владельца.
Чтобы не было пустопорожней болтовни я сейчас на эту ситуацию смотрю.
16 tovarz
 
01.02.19
09:10
Я так понял, при отсутствии элементов в форме списка Владелец всегда пустой и никак это не обойти?
17 Смотрящий
 
01.02.19
09:11
(13) Через (10) они вяжуться.
Свойство Владелец в списке справочника подчиненого это неявный вызов ТекущийЭлемент().Владелец
Нет текущего элемента, т.к. справочник пустой - нет и значения поля Владелец
(15) Надо. Но неохота
18 Salimbek
 
01.02.19
09:18
(17) Подтверждаю.
В форме списка подчиненного:
//===========================================================
Процедура ПриОткрытии()
    Сообщить("Просто так: "+Владелец);
    Сообщить("Не просто так: "+ИспользоватьВладельца());
КонецПроцедуры // ПриОткрытии
---
Выдает:
Просто так:
Не просто так: 18 Горшок 19
---
В форме элемента Владельца перед этим:
//==========================================================
Процедура ПриОткрытии()
    Подчиненный.ИспользоватьВладельца(ТекущийЭлемент());
КонецПроцедуры // ПриОткрытии
19 tovarz
 
01.02.19
09:24
(4) вот я туплю. Спасибо, это работает
Программист всегда исправляет последнюю ошибку.