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

Какой нужен признак для отбора свойств из ПВХ?

Автор dart909, 30 июл 2015, 11:21

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

dart909

Добрый день вопрос такой. Есть два справочника Сотрудники и Транспорт. Есть ПВХ Свойства со след. наимен: ЦветАвто, ГодВыпуска, ВозрастСотрудника, СтажСотрудника. Вопрос такой, как сделать чтобы при открытии формы элемента справочника Сотрудника вывелись только свойства касающиеся Сотрудника и аналогично при открытии Транспорт вывелись свойства для Транспорт. Какой признак должен быть?

cska-fanat-kz

осталось только съясновидеть как связаны ПВХ и справочники...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

dart909

Цитата: cska-fanat-kz от 30 июл 2015, 11:38
осталось только съясновидеть как связаны ПВХ и справочники...

Вот код:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   ПолучитьСведенияПоТранспортномуСредству() ;
   МояТаблица = Таблица.Выгрузить();
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |  СвойстваТС.Ссылка КАК Ссылка,
   |  ЗначенияСвойствТранспортногоСредства.Значение КАК ТипЗ
   |ИЗ
   |  РегистрСведений.ЗначенияСвойствТранспортногоСредства КАК ЗначенияСвойствТранспортногоСредства
   |
   |ПРАВОЕ СОЕДИНЕНИЕ
   |     ПланВидовХарактеристик.СвойстваТС КАК СвойстваТС
   |ПО СвойстваТС.Ссылка = ЗначенияСвойствТранспортногоСредства.ВидСвойства И
   |  ЗначенияСвойствТранспортногоСредства.ТранспортноеСредство = &ТранспортноеСредство
   |";
   Запрос.УстановитьПараметр("ТранспортноеСредство",Объект.Ссылка);
   
   РезультатЗапроса = Запрос.Выполнить();
   ВыборкаДетальныеЗаписи = РезультатЗапроса.Выгрузить();
   Для каждого Строка из ВыборкаДетальныеЗаписи Цикл
       НоваяСтрока = Таблица.Добавить();
       НоваяСтрока.МоеЗначение =  Строка.ТипЗ;
       НоваяСтрока.Свойство = Строка.Ссылка;   
   КонецЦикла;
КонецПроцедуры

&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
   Для Каждого СтрокаТаблицы ИЗ Таблица Цикл

   Набор = РегистрыСведений.ЗначенияСвойствТранспортногоСредства.СоздатьНаборЗаписей();
   Набор.Отбор.ВидСвойства.Установить(СтрокаТаблицы.Свойство);
   Набор.Отбор.ТранспортноеСредство.Установить(Объект.Ссылка);
      НоваяЗапись = Набор.Добавить();   
      НоваяЗапись.ВидСвойства = СтрокаТаблицы.Свойство;
      НоваяЗапись.Значение = СтрокаТаблицы.МоеЗначение;
      НоваяЗапись.ТранспортноеСредство = Объект.Ссылка;
      Набор.Записать();
   КонецЦикла;
      
   Набор.Записать();

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

cska-fanat-kz

у вас есть отдельный регистр сведений ЗначенияСвойствТранспортногоСредства
и отдельный регистр ЗначенияСвойствСотрудника?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

dart909

Цитата: cska-fanat-kz от 30 июл 2015, 11:50
у вас есть отдельный регистр сведений ЗначенияСвойствТранспортногоСредства
и отдельный регистр ЗначенияСвойствСотрудника?

Нет у меня только один регистр сведений ЗначенияСвойствТранспортногоСредства с измерением Транспортноесредство у него составной тип (СправочникСсылкаюТранспортныСредства и СправочникСсылка.Сотрдуники) Просто изначально работало только для Транспортного средства, а теперь хочу сдлеать и для Сотрудника еще не успел переименовать(

cska-fanat-kz

тогда проверяете на тип значение измерения ТранспортноеСредство
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

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

Рейтинг@Mail.ru

Поиск