Имя: Пароль:
1C
 
Как в код вставить Объект "Отделку2" ?
0 Yrii-ay
 
27.10.16
09:37
В общем вопрос такой.Пользователь  может выбрать отделку1 или отделку2- нужно вписать в код( ниже) чтобы выбиралось как для первой так и для второй отделки. Справочники и реквизиты одинаковые для двух отделок.


Если Объект.МатериалОтделка1.ПринадлежитЭлементу ( Справочники.Номенклатура.НайтиПоКоду ("00000010366"))ИЛИ
             Справочники.Номенклатура.НайтиПоКоду("00000010366"  ) = Объект.МатериалОтделка1 Тогда
          Область.Параметры.Красочность =  Область.Параметры.Красочность +  ".Ламинация " ;
          КонецЕсли;
1 YFedor
 
27.10.16
09:39
ниче не понял, но ты держись там
2 Lexey_
 
27.10.16
09:40
(0) опять ты...ничего ж не понятно, если всё одинаковое, так тупо скопируй что там тебе надо и поменяй 1 на 2 в отделке своей
3 Yrii-ay
 
27.10.16
09:40
Если Объект.МатериалОтделка1+Отделка2.ПринадлежитЭлементу ( Справочники.Номенклатура.НайтиПоКоду ("00000010366"))ИЛИ
             Справочники.Номенклатура.НайтиПоКоду("00000010366"  ) = Объект.МатериалОтделка1 Тогда
          Область.Параметры.Красочность =  Область.Параметры.Красочность +  ".Ламинация " ;
          КонецЕсли;
4 Yrii-ay
 
27.10.16
09:41
копировал, не получается
5 Serg_1960
 
27.10.16
09:46
"Объект.МатериалОтделка1+Отделка2.ПринадлежитЭлементу(..."- оригинально мыслишь... но неверно.
6 Yrii-ay
 
27.10.16
09:47
Ну а как тогда, подскажите?
7 anatoly
 
27.10.16
09:49
вроде пятница только завтра...
8 Serg_1960
 
27.10.16
09:50
(6) Подскажу тогда, когда ты подскажешь.

У тебя в Объекте два реквизита - "Отделка1" и "Отделка2" и пользователь в любой из них может выбрать элемент номенклатуры с кодом "00000010366" и тебе нужно отловить этот момент? Так?
9 Yrii-ay
 
27.10.16
09:52
Да
10 Serg_1960
 
27.10.16
09:54
Ещё уточни: пользователь может выбрать сам элемент "00000010366" или элементы, у которых среди вышестоящих родителей есть родитель "00000010366". Так?
11 Yrii-ay
 
27.10.16
09:56
Да, все верно!
12 Serg_1960
 
27.10.16
09:59
Признак = Справочники.Номенклатура.НайтиПоКоду ("00000010366");

Если (Объект.МатериалОтделка1 = Признак ИЛИ Объект.МатериалОтделка1.ПринадлежитЭлементу(Признак))
   ИЛИ (Объект.МатериалОтделка2 = Признак ИЛИ Объект.МатериалОтделка2.ПринадлежитЭлементу(Признак)) Тогда
13 Yrii-ay
 
27.10.16
10:01
Не понимаю зачем я вообще пишу сюда..только время убиваю.
14 Yrii-ay
 
27.10.16
10:02
Serg_1960 Спасиббо!
15 Yrii-ay
 
27.10.16
10:03
мир не без добрых людей
16 Это_mike
 
27.10.16
10:04
(13) правильно! лучше убей себя. пользы больше будет...
17 Serg_1960
 
27.10.16
10:05
Эээ... словесное общение - это высшая ценность, которая отличает человека от остального животного мира... или объединяет его с ним.
18 singlych
 
27.10.16
10:07
(13) Формулируй вопросы как в (8) и (10), и люди к тебе потянутся. А то и сами вопросы отпадут.
19 Serg_1960
 
27.10.16
10:09
(офф) Эххх... давно не была на форуме Sova112 :)
20 Yrii-ay
 
27.10.16
10:32
Для второй отделки пишет- Элемент не найден
21 Serg_1960
 
27.10.16
10:35
А у тебя второй реквизит точно назван как "МатериалОтделка2" или может быть у него наименование другое, типа "Отделка2"?
22 Yrii-ay
 
27.10.16
10:37
Точно
23 Yrii-ay
 
27.10.16
10:38
Если я в коде убираю Отделку1-Отделка2 запускается,вместе не хотят
24 Yrii-ay
 
27.10.16
10:39
Если я в коде убираю Отделку1, то Отделка2 запускается,вместе не хотят
25 Serg_1960
 
27.10.16
10:41
Эээ... ну может быть проверку тогда на заполнение вставить, если заполняется только один из двух.

Если ЗначениеЗаполнено(Объект.МатериалОтделка1) И (Объект.МатериалОтделка1 = Признак ИЛИ Объект.МатериалОтделка1.ПринадлежитЭлементу(Признак)
   ИЛИ ЗначениеЗаполнено(Объект.МатериалОтделка2)...
26 Serg_1960
 
27.10.16
10:44
Тьфу, скобку забыл после (Признак)
27 Yrii-ay
 
27.10.16
10:48
Во,теперь как по маслу) Спасибо!
28 Yrii-ay
 
27.10.16
11:03
А если например: значение заполняется из трех и больше?
29 singlych
 
27.10.16
11:28
В Объект значение какого типа?
30 Serg_1960
 
27.10.16
11:31
(28) Тогда легче написать обход всех реквизитов по метаданным объекта с проверкой типа.

(29) Не смущай неокрепшие умы комплексным типом данных - всему своё время :)
31 Yrii-ay
 
27.10.16
11:39
Булево
32 singlych
 
27.10.16
11:50
(30) Не, я без задней мысли, а то вдруг там структура какая-нибудь?

(31) Я спрашиваю про тот Объект, который в "Объект.МатериалОтделка1" слева от точки.
33 singlych
 
27.10.16
11:52
Так то, если все имена реквизитов вида МатериалОтделкаN, можно и без метаданных обойтись.