Имя: Пароль:
1C
1C 7.7
v7: Запутался меж двух ЕСЛИ
,
0 crisalis
 
18.04.14
14:20
Доброе время суток, запутался меж двух ЕСЛИ помогите пожалуйста:

Пока Ит.ПолучитьСубконто(2) = 1 Цикл

ТекАгент = Ит.Субконто(2).ИСУП_Менеджер;
ТекКанал = Ит.Субконто(2).ИСУП_КаналПродаж;

Если (ТекКанал = ВыбКанал) ИЛИ (?(ВыбКлиент.ЭтоГруппа() = 0 , ТекАгент = ВыбКлиент , ТекАгент.Родитель = ВыбКлиент)) Тогда
а = 1;
Иначе
а = 0;
КонецЕсли;
КонецЦикла;


Что не так ? Помогите !!! (Не хочется дублировать код) Вот ошибка:
Если (ТекКанал = ВыбКанал) ИЛИ (?(ВыбКлиент.ЭтоГруппа() = 0 , ТекАгент <<?>>= ВыбКлиент , ТекАгент.Родитель = ВыбКлиент)) Тогда
{D:\DataBases\ServidarCH\EXTFORMS\RPADD.GRP\ВзаиморасчетыНалБНал_AGENTS_v1.ert(366)}: Ожидается символ ','
При проверке модуля обнаружены синтаксические ошибки!
1 Wobland
 
18.04.14
14:20
вставь запятую и покажи второе если
2 Wobland
 
18.04.14
14:21
>ТекАгент = ВыбКлиент

не умеет семёрка булево
3 crisalis
 
18.04.14
14:23
(2) И что придется повторять код ?
4 Wobland
 
18.04.14
14:23
(3) придётся его написать
5 Зойч
 
18.04.14
14:23
Если ТекАгент = ВыбКлиент ИЛИ ТекАгент.Родитель = ВыбКлиент
6 crisalis
 
18.04.14
14:24
(5) ВыбКлиент может быть и элементом
7 vi0
 
18.04.14
14:25
(0) не читабельно, конечно
8 elCust
 
18.04.14
14:27
6 лет стажа. Ужасть.
9 crisalis
 
18.04.14
14:32
(4) Вот так будет правильно ???

Пока Ит.ПолучитьСубконто(2) = 1 Цикл

Если ВыбКлиент.Выбран() = 1 Тогда
Если ВыбКлиент.ЭтоГруппа() = 1 Тогда
ТекАгент = Ит.Субконто(2).ИСУП_Менеджер.Родитель;
Иначе
ТекАгент = Ит.Субконто(2).ИСУП_Менеджер;
КонецЕсли;
КонецЕсли;
ТекКанал = Ит.Субконто(2).ИСУП_КаналПродаж;

Если (ТекКанал = ВыбКанал) ИЛИ (ТекАгент = ВыбКлиент) Тогда
а = 1;
Иначе
а = 0;
КонецЕсли;
КонецЦикла;



(8) Не умничай всезнайка.
10 Wobland
 
18.04.14
14:33
мы тут ещё и каждый чих утверждать будем?
11 vi0
 
18.04.14
14:37
Ит.Субконто(2).ИСУП_Менеджер.Родитель
так делать плохо
12 vi0
 
18.04.14
14:37
и все остальные реквизиты субконтов через точку тоже плохо
13 vi0
 
18.04.14
14:38
покажи лучше весь код
14 crisalis
 
18.04.14
14:42
(13) Спасибо, вроде заработало как я написал в (9). Код не буду показывать так как его много.
15 crisalis
 
18.04.14
14:45
(11) (12) Знаю что плохо но другой возможности нет.
Программист всегда исправляет последнюю ошибку.