|
Вывести полное наименование | ☑ | ||
---|---|---|---|---|
0
егаис
02.02.19
✎
16:28
|
Чую вопрос ламерский, но все же
Есть иерархический справочник (иерархия элементов) Сегмент. В справочнике Номенклатура есть реквизит с типом Спр.Сегмент. Возможно ли штатно в поле формы элемента Номенклатуры вывести полное наименование Сегмента с учетом иерархии? Пусть сегмент такой Сантехника, у него подчиненный Унитазы В поле номенклатуры надо вывести "Сантехника / Унитазы" |
|||
1
Конструктор1С
02.02.19
✎
16:33
|
ПолноеНаименование() ?
|
|||
2
jsmith82
02.02.19
✎
16:33
|
если только несколько полей (изменить форму)
ссылка.сегмент ссылка.сегмент.родитель |
|||
3
егаис
02.02.19
✎
16:36
|
(1) по сути да, но нужно изменить представление вывода во всех формах, где используется реквизит с типом Сегмент
|
|||
4
jsmith82
02.02.19
✎
16:37
|
ну штатно не получится
надо в модуль менеджера лезть |
|||
5
2S
02.02.19
✎
16:42
|
ОбновлениеТекстаРедактирования?
|
|||
6
егаис
02.02.19
✎
17:18
|
не работает ((
&НаКлиенте Процедура ПриОткрытии(Отказ) ... Если НЕ Объект.ТоварныйСегмент.Пустая() Тогда ОбновитьИнфорациюОТоварномСегменте(); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ОбновитьИнфорациюОТоварномСегменте() ПолноеНаименованиеСегмента = ПолучитьПолноеНаименованиеРеквизитаНаСервере(Объект.ТоварныйСегмент); Объект.ТоварныйСегмент = ПолноеНаименованиеСегмента; ЭтаФорма.ОбновитьОтображениеДанных(Элементы.ТоварныйСегмент); КонецПроцедуры &НаСервере Функция ПолучитьПолноеНаименованиеРеквизитаНаСервере(Реквизит) Возврат Реквизит.ПолноеНаименование(); КонецФункции что не так? |
|||
7
Sapiens_bru
02.02.19
✎
17:21
|
Вставь вот этот код в модуль менеджера справочника Сегменты
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Сегменты.Ссылка КАК Ссылка, | Сегменты.Наименование КАК Наименование |ИЗ | Справочник.Сегменты КАК Сегменты |ГДЕ | Сегменты.Ссылка = &Ссылка |ИТОГИ ПО | Ссылка ТОЛЬКО ИЕРАРХИЯ"; Запрос.УстановитьПараметр("Ссылка", Данные.Ссылка); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл Если Представление="" тогда Представление = Выборка.Наименование; Иначе Представление = ""+ Представление + " \ " + Выборка.Наименование; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
8
егаис
02.02.19
✎
17:24
|
(7) Это прелестно!
Не знал про такой метод в менеджере, често. Век живи, век учись, истинно Благодарю |
|||
9
Ёпрст
02.02.19
✎
18:05
|
(8) рано радуешься, эта шляпа будет потом везде так выводится
|
|||
10
Ёпрст
02.02.19
✎
18:05
|
оно точно надо ?
|
|||
11
Sapiens_bru
02.02.19
✎
18:46
|
(10) Ну не большая тема же. Можно же прочитать всю
|
|||
12
Ёпрст
02.02.19
✎
20:50
|
(11) к чему это ? Вы предложили не самое удачное решение. Врят ли автору нужно во всех местах, где будет реквизит данного типа в представлении видеть "иерархию"
|
|||
13
Sapiens_bru
02.02.19
✎
20:51
|
(12) Смотри (3)
|
|||
14
Ёпрст
02.02.19
✎
20:53
|
(13)а, не видел.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |