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

Как задать Владельца для подчиненного справочника?

Автор david fr, 07 сен 2018, 21:05

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

david fr

Здравствуйте.
Заполняю Справочник "Запчасти", он подчинен другому справочнику "Номенклатор". Где взять ссылку на Владельца?

&НаКлиенте
Процедура Заполнить(Команда)
   ЗаполнитьНаСервере();
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьНаСервере()
   
      Выборка = Справочники.ВидыЗапчастей.Выбрать();
   Пока Выборка.Следующий()Цикл
      
   Запчасть = Справочники.Запчасти.СоздатьЭлемент();
   Запчасть.Наименование = Выборка.Наименование;
   Запчасть.Вид = Выборка.Ссылка;
   Запчасть.Владелец = Запчасть.Владелец.Ссылка; // ЗДЕСЬ
   Запчасть.Записать();
   КонецЦикла;


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

alexandr_ll

Цитата: david fr от 07 сен 2018, 21:05
Здравствуйте.
Заполняю Справочник "Запчасти", он подчинен другому справочнику "Номенклатор". Где взять ссылку на Владельца?

&НаКлиенте
Процедура Заполнить(Команда)
   ЗаполнитьНаСервере();
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьНаСервере()
   
      Выборка = Справочники.ВидыЗапчастей.Выбрать();
   Пока Выборка.Следующий()Цикл
      
   Запчасть = Справочники.Запчасти.СоздатьЭлемент();
   Запчасть.Наименование = Выборка.Наименование;
   Запчасть.Вид = Выборка.Ссылка;
   Запчасть.Владелец = Запчасть.Владелец.Ссылка; // ЗДЕСЬ
   Запчасть.Записать();
   КонецЦикла;


КонецПроцедуры
Либо задать реквизитом в обработке, либо найти по наименованию, коду, реквизиту справочника.

david fr

alexandr_ll, Спасибо за ответ.
Только не знаю как его применить.

Я нахожусь в модуле формы списка подчиненного справочника. И надо найти ссылку на Владельца для программного заполнения подчиненного справочника

ААА = Элементы.Список.ТекущиеДанные.Ссылка;  Пробую обратиться таким образом, получаю сообщение об ошибке

{Справочник.Запчасти.Форма.ФормаСписка.Форма(4)}: Значение не является значением объектного типа (Ссылка)
   

alex0402

взведите галку использовать всегда напротив Ссылка в реквизитах формы.
Спасибо за Сказать спасибо

david fr

alex0402, Спасибо.
галку "использовать всегда" поставил.
Эффекта нет.
Где то в модуле бы вытащить этого Владельца,
Я ж из него попадаю в подчиненный справочник, значит где-то он есть!

Doreng

Цитата: david fr от 07 сен 2018, 21:05
   Запчасть = Справочники.Запчасти.СоздатьЭлемент();
   Запчасть.Наименование = Выборка.Наименование;
   Запчасть.Вид = Выборка.Ссылка;
   Запчасть.Владелец = Запчасть.Владелец.Ссылка; // ЗДЕСЬ
   Запчасть.Записать();
   КонецЦикла;


КонецПроцедуры
Запчасть.Владелец = Справочники.Номенклатура.Найти() Или НоменклатураСсылка
Помните, что элемент до записи не имеет ссылки

wise

(4) Вам НАДО свойства формы списка "ПараметрОтборПоВладельцу"
:-)
{значит где-то он есть}
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

david fr

Doreng, Подобные варианты я пробовал. И ничего.
Запчасть.Владелец = Справочники.Номенклатура.НайтиПоРеквизиту("Ссылка", ???); и еще 2 десятка

Вот модуле объекта этот Владелец вытаскивается без проблемм:
ДанныеЗаполнения.Владелец

Наверное есть какое-то стандартное обращение к нему и из модуля формы?!
Добавлено: 20 сен 2018, 17:41


wise, Как обратиться к  "ПараметрОтборПоВладельцу"???

alex0402

Цитата: david fr от 20 сен 2018, 17:37Запчасть.Владелец = Справочники.Номенклатура.НайтиПоРеквизиту("Ссылка", ???);

ЦитироватьНайтиПоРеквизиту(<ИмяРеквизита>, <ЗначениеРеквизита>, <Родитель>, <Владелец>)
Параметры:

<ИмяРеквизита> (обязательный)

Тип: Строка.
Имя реквизита, как он задан в конфигураторе, по значению которого осуществляется поиск. Тип значения произвольный, кроме ХранилищеЗначения и строк произвольной длины.
<ЗначениеРеквизита> (обязательный)

Тип: Произвольный.
Значение реквизита, по которому должен выполняться поиск.
<Родитель> (необязательный)

Тип: СправочникСсылка.
Родитель, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике.
<Владелец> (необязательный)

Тип: СправочникСсылка.
Владелец, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике.
Возвращаемое значение:

Тип: СправочникСсылка.
Ссылка на найденный элемент справочника. Если не существует ни одного элемента с требуемым значением реквизита, то будет возвращена пустая ссылка.

первый параметр - имя реквизит, второй - значение. Ссылку или по ссылке искать нет смысла. Ссылку возвращает метод НайтиПоРеквизиту
Спасибо за Сказать спасибо

wise

(7) в модуле ФормыСписка { Параметры.Отбор }
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Теги:

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

Рейтинг@Mail.ru

Поиск