Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как узнать полный путь для нового элемента справочника
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Sede
Добрый день.
1с 7.7
Подскажите пожалуйста:
В справочнике создается новые элемент, необходимо узнать полный путь к месту где этот элемент создается в виде (Номенклатура\Товары\Электроника\Запчасти).
ПолноеНаименование() - делает то что нужно, но для "не существующего" элемента не знаю как прицепить.

Если можно приведите код, или хотя бы укажите в каком направлении искать ответ.
vadim007
ПолныйКод

Определить полный код элемента справочника.
Синтаксис:
ПолныйКод()
Англоязычный синоним:
FullCode
Возвращаемое значение:
Строковое значение, содержащее полный код выбранного элемента справочника.
Описание:
Метод ПолныйКод возвращает строку, содержащую полный код выбранного элемента справочника (с кодами групп всех вышестоящих уровней, разделенными символом "/").
Пример:
ПолнКод = Спр.Подразделения.ПолныйКод();
Sede
Цитата(vadim007 @ 13.07.15, 12:58) необходимо зарегистрироваться для просмотра ссылки
ПолныйКод

Определить полный код элемента справочника.
Синтаксис:
ПолныйКод()
Англоязычный синоним:
FullCode
Возвращаемое значение:
Строковое значение, содержащее полный код выбранного элемента справочника.
Описание:
Метод ПолныйКод возвращает строку, содержащую полный код выбранного элемента справочника (с кодами групп всех вышестоящих уровней, разделенными символом "/").
Пример:
ПолнКод = Спр.Подразделения.ПолныйКод();


Не то что мне нужно, ПолноеНаименование() как раз то что надо. Может плохо объяснил:
в справочнике ТМЦ в какойто-то там группе открываю форму создания нового товара. Как узнать где именно открыта эта форма. Тобись где появится элемент(товар) после его создания.
vadim007
А то что в окне нового элемента справочника выводится путь, куда новый элемент "ляжет" - не подходит?
Sede
Цитата(vadim007 @ 13.07.15, 15:03) необходимо зарегистрироваться для просмотра ссылки
А то что в окне нового элемента справочника выводится путь, куда новый элемент "ляжет" - не подходит?


Подходит! Но нужен именно в программном коде для обработки. По этому пути будет формироваться название товара (например Товар\Стиральный порошок\Ariel в реквизит впишется название - Стиральный порошок Ariel..)
Как-то так.
vadim007
Может это:

Заголовок

Установка заголовка окна формы.
Синтаксис:
Заголовок(<Название>, <Режим>)
Англоязычный синоним:
Caption
Параметры:

<Название> Строковое выражение — новый заголовок окна формы.
<Режим> Числовое выражение: 0 — выводит заданный заголовок вместо стандартного заголовка окна; 1 — выводит заданный загловок вместе со стандартным заголовком окна.
Возвращаемое значение:
Текущий заголовок окна формы, установленный этой функцией.
Описание:
Метод Заголовок позволяет установить новый заголовок окна формы. Доступ к данному методу возможен только в контексте Модуля формы.
Пример:
Форма.Заголовок("Накладная №" + Док.НомерДок, 0 );


По моему, вот это как раз:

ИспользоватьРодителя

Установить родителя для формы списка справочника.
Синтаксис:
ИспользоватьРодителя(<Родитель>, <ФлагИзменения>)
Англоязычный синоним:
UseParent
Параметры:

<Родитель> Необязательный параметр. Выражение со значением группы справочника- нового родителя. Если параметр не задан, то значение родителя не меняется.
<ФлагИзменения > Необязательный параметр. Этим флагом регулируется возможность интерактивного изменения родителя. 1 — пользователь может изменить родителя интерактивно, 0 — пользователь не может интерактивно изменить родителя. Если параметр не задан, то значение флага не меняется.
Возвращаемое значение:
Значение родителя для формы списка справочника (до применения метода).
Описание:
Метод ИспользоватьРодителя устанавливает группу справочника в качестве родителя для формы списка справочника.
Данный метод доступен в контексте Модуля формы списка справочника (см. «Виды программных модулей»). Действие данного метода относится ко всему текущему справочнику, который доступен в локальном контексте Модуля формы списка справочника.

При добавлении нового элемента текущего справочника данный параметр также будет являться свойством нового элемента.
Пример:
ИспользоватьРодителя(ВыбГруппаСотр, 1);
Sede
Заголовок не помешал бы, но насколько понимаю с описания он устанавливает значение заголовка а не считывает.

ИспользоватьРодителя - получается делать рекурсивную функцию, чтобы получить всю иерархию как вариант...

наглядный пример не помешал бы..

Модуль Формы элемента справочника:

Процедура ПриОткрытии()
Место=****// - абракадабра..
Сообщить("Товар создается в"+Место);
КонецПроцедуры

Вот в абркадабре как обработать? 64000000.gif
nysysimara
В форме элемента справочника
Процедура ВводНового(ПризнакКопирования)    
      Сообщить("Товар создается в "+Родитель.ПолноеНаименование());
КонецПроцедуры
Sede
Цитата(nysysimara @ 14.07.15, 8:08) необходимо зарегистрироваться для просмотра ссылки
В форме элемента справочника
Процедура ВводНового(ПризнакКопирования)    
      Сообщить("Товар создается в "+Родитель.ПолноеНаименование());
КонецПроцедуры


Большое спасибо. То что надо. 12201689.gif
vadim007
Эх, какие мы быстрые:

Родитель

Значение родительской группы элемента справочника.
Синтаксис:
Родитель
Англоязычный синоним:
Parent
Описание:
Атрибут Родитель предоставляет доступ к значению родительской группы выбранного элемента справочника.
Данный атрибут может быть изменен только для объектов, созданных функцией СоздатьОбъект.
Пример:
Функция ДатьРодителя(Элем)
// Справочник Товаров многоуровневый
// Получая в параметре функции значение товара,

// надо выдать имя группы товара
Спр = СоздатьОбъект("Справочник.Товары");
Спр.НайтиЭлемент(Элем);
Если Спр.Уровень() > 1 Тогда
Спр.НайтиЭлемент(Спр.Родитель);
Возврат "Этот товар принадлежит группе " + Спр.Наименование;
Иначе
Возврат "Это товар первого уровня - нет родителя!";
КонецЕсли;
КонецФункции
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.