Нужна помощь

  • Автор темы Voldemar
  • Дата начала
V

Voldemar

#1
Помогите пожалуйста не опытному пользователю.
Создается 3х уровневый справочник (К примеру перечень машиин)
Каталог - Производитель (Хонда, Мазда, ВАЗ);
Подкаталог - Тип кузова (седан, хетчбэк)
И наименование конкретной модели (СIVIC 5D)

Как сделать так, чтобы при заполнении журнала, в название конкретной модели не нужно было вбивать заново Производителя и Тип, Но при выборе у меня получалась полная строка : =Хонда Хетчбек CIVIC 5D. Т.Е. Названия каталога и подкаталога должны добавляться к модели при ее выборе!
Зарание благодарен всем!
 

vbs

Well-known member
18.02.2007
1 708
1
#2
ПолноеНазваниеМодели = Модель.Родитель.Родитель.Наименование+" "+Модель.Родитель.Наименование+" "+Модель.Наименование - если в справочнике ВСЕГДА 3 уровня

Зарание - слово плохое
 
V

Voldemar

#3
Я понял, что совсем нихрена не понимаю и явно не верно поставил вопрос.Давайте, если можно по факту - ПринтСкрин прилогается.

Мы имеем:

- Поле ввода "ВидТехники" подчиненное справочнику "СписокТехники"

- В справочнике каталог "Принтер", подкаталог "SAMSUNG" и собственно конретная модель "ML-1640"

НУЖНО чтобы при выборе "ML-1640" в Поле ввода отображалось Все - "Принтер SAMSUNG ML-1640" Как мне этого добиться. если можно по подробнее!
 

Вложения

vbs

Well-known member
18.02.2007
1 708
1
#4
Если речь о справочнике, добавляешь в форму списка колонку типа "текст" и для нее в закладке "дополнительно"
прописываешь :
Модель.Родитель.Родитель.Наименование+" "+Модель.Родитель.Наименование+" "+Модель.Наименование
где Модель - элемент низшего уровня справочника "СписокТехники"
по подробнее - слово плохое
 

vitfil

IT-интегратор
02.04.2004
2 062
0
#5
Вставлю свои 5 рубликов...
Я бы повесил колонку, для которой прописал бы функцию:
Код:
Функция ПолучитьНужноеНаименование()
Если ТекущийЭлемент().Выбран() = 0 Тогда
Возврат "";
КонецЕсли;
Если ТекущийЭлемент().ЭтоГруппа() = 1 Тогда
Возврат ТекущийЭлемент().Наименование;
КонецЕсли;
ТекЭлем = ТекущийЭлемент();
Стр = СокрЛП(ТекЭлем.Наименование);
Пока ПустоеЗначение(ТекЭлем.Родитель) = 0 Цикл
ТекЭлем = ТекЭлем.Родитель;
Стр = СокрЛП(ТекЭлем.Наименование) + " " + Стр;
КонецЦикла;
Возврат Стр;
КонецФункции
Вот что-то где-то так... И мне будет совершенно монопенисуально, на каком уровне находится элемент.
 
V

Voldemar

#6
Может я опять что то не понимаю или не правильно объясняю. но мне нужно чтобы полноя строка была не в самом журнале, а в Документе (в поле "Вид Техники")после выбора из журнала.
 
H

Hryv

#7
в форме документа в таблице сделай поле и заполняй как vitfil посоветовал
только надо переделать примерно так
Код:
Функция ПолучитьНужноеНаименование()
ТекЭлем = Номенклатура; // или как там реквизит в документе называется
Если ПустоеЗначение(ТекЭлем) = 1 Тогда
Возврат "";
КонецЕсли;
Стр = СокрЛП(ТекЭлем.Наименование);
Пока ПустоеЗначение(ТекЭлем.Родитель) = 0 Цикл
ТекЭлем = ТекЭлем.Родитель;
Стр = СокрЛП(ТекЭлем.Наименование) + " " + Стр;
КонецЦикла;
Возврат Стр;
КонецФункции