|
Сравнение в условие ЕСЛИ | ☑ | ||
---|---|---|---|---|
0
XiPyPg2012
09.10.13
✎
10:34
|
Как в условие сравнить со списком значений
ВидДоговораСоглашения = новый СписокЗначений; ВидДоговораСоглашения.Добавить(Справочники.ПЛ_ВидыВзаиморасчетов.Растениеводство); ВидДоговораСоглашения.Добавить(Справочники.ПЛ_ВидыВзаиморасчетов.СтроительнаяТехника); если не (ТекущийОбъект.Договор.ПЛ_ВидВзаиморасчетов в ВидДоговораСоглашения и ТекущийОбъект.Соглашение.ПЛ_ВидВзаиморасчетов в ВидДоговораСоглашения) тогда - как это сделать правильно??? Потому что, вот это сказали не красиво и надо переделать - Если не(ТекущийОбъект.Договор.ПЛ_ВидВзаиморасчетов = Справочники.ПЛ_ВидыВзаиморасчетов.Растениеводство ИЛИ ТекущийОбъект.Договор.ПЛ_ВидВзаиморасчетов = Справочники.ПЛ_ВидыВзаиморасчетов.СтроительнаяТехника ИЛИ ТекущийОбъект.Соглашение.ПЛ_ВидВзаиморасчетов = Справочники.ПЛ_ВидыВзаиморасчетов.Растениеводство ИЛИ ТекущийОбъект.Соглашение.ПЛ_ВидВзаиморасчетов = Справочники.ПЛ_ВидыВзаиморасчетов.СтроительнаяТехник) Тогда |
|||
1
Зойч
09.10.13
✎
10:35
|
Лучше Соответствие делать
|
|||
2
Maxus43
09.10.13
✎
10:36
|
чойто некрасиво и неправильно то? Эстеты чтоли?
|
|||
3
XiPyPg2012
09.10.13
✎
10:40
|
а смысл
Соответствие = новый Соответствие; Соответствие.Вставить(Растениеводство,Справочники.ПЛ_ВидыВзаиморасчетов.Растениеводство); Соответствие.Вставить(СтроительнаяТехника,Справочники.ПЛ_ВидыВзаиморасчетов.СтроительнаяТехника); для каждого СтрокаСоответствия из Соответствие цикл если не (ТекущийОбъект.Договор.ПЛ_ВидВзаиморасчетов =СтрокаСоответствия.Значение или ТекущийОбъект.Соглашение.ПЛ_ВидВзаиморасчетов = СтрокаСоответствия.Значение) тогда как-то не лучше |
|||
4
Rie
09.10.13
✎
10:42
|
(3) Лучше. Соответствие - один раз сделал, дальше пользуешься.
Кроме того, не надо перебирать строки соответствия. Индексатор используй. |
|||
5
Rie
09.10.13
✎
10:43
|
+(4) Со стандартными методами соответствия - оно и чуток быстрее будет. Поскольку там - хеш-таблица внутри.
|
|||
6
Defender aka LINN
09.10.13
✎
10:44
|
ВидДоговораСоглашения.НайтиПоЗначению<>Неопределено
|
|||
7
bugz2003
09.10.13
✎
10:44
|
ВидДоговораСоглашения = новый СписокЗначений;
ВидДоговораСоглашения.Добавить(Справочники.ПЛ_ВидыВзаиморасчетов.Растениеводство); ВидДоговораСоглашения.Добавить(Справочники.ПЛ_ВидыВзаиморасчетов.СтроительнаяТехника); Если ВидДоговораСоглашения.НайтиПоЗначению(екущийОбъект.Договор.ПЛ_ВидВзаиморасчетов) <> Неопределено |
|||
8
XiPyPg2012
09.10.13
✎
10:44
|
можешь переделать как с индексатором, я соответствием никогда не пользовался
|
|||
9
XiPyPg2012
09.10.13
✎
10:45
|
(7) Спасибо.
|
|||
10
Зойч
09.10.13
✎
10:47
|
Соответствие.Вставить(Растениеводство,Справочники.ПЛ_ВидыВзаиморасчетов.Растениеводство, ИСТИНА);
Если Соответствие[ТекущийОбъект.Договор] <> Неопределено |
|||
11
XiPyPg2012
09.10.13
✎
10:48
|
(10) спасибо
|
|||
12
XiPyPg2012
09.10.13
✎
10:49
|
Соответствие.Вставить(Растениеводство,Справочники.ПЛ_ВидыВзаиморасчетов.Растениеводство, ИСТИНА);
Соответствие.Вставить(СтроительнаяТехника,Справочники.ПЛ_ВидыВзаиморасчетов.СтроительнаяТехника, ИСТИНА); Если Соответствие[ТекущийОбъект.Договор.ПЛ_ВидыВзаиморасчетов] <> Неопределено или [ТекущийОбъект.Соглашение.ПЛ_ВидыВзаиморасчетов] <> Неопределено - так что-ли? |
|||
13
XiPyPg2012
09.10.13
✎
11:13
|
слишком много фактических параметров пишет
|
|||
14
Rie
09.10.13
✎
11:15
|
(13) Как определил Соответствие?
|
|||
15
Rie
09.10.13
✎
11:18
|
+(14) Хм... Несущественно.
У метода Вставить - 2 параметра. У тебя указано 3. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |