Имя: Пароль:
1C
 
Синтаксический контроль модулей
0 dauster
 
27.07.09
10:34
Добрый день.
Платформа 8.1.14.72
В конструкции вида

#Если Клиент Тогда
   //здесь работает синтаксический контроль  
#ИначеЕсли Сервер Тогда
   здесь может быть все, что угодно, т.к. синтаксический контроль не работает
#КонецЕсли

в коде, предназначенном для сервера синтаксическая проверка модулей не работает.

Баг или фича платформы? (причем в конструкции #Если Сервер Тогда #КонецЕсли - синтаксис проверяется)
1 quest
 
27.07.09
10:36
третий вариант - не знание возможностей конфигуратора.
2 Jolly Roger
 
27.07.09
10:37
(0) фича, фича... смотри настройки конфигуратора...
3 dauster
 
27.07.09
10:47
(1,2) а подскажите, где это можно настроить, а то не могу найти.

в конфигураторе, через меню "Конфигурация"->"Проверка конфигурации" ошибка фиксируется, а вот через Ctrl+F7 не могу заставить работать синтаксис-контроль.
4 dauster
 
27.07.09
10:57
+(3) и потом мне непонятно, ведь как я писал в (0) в конструкции

#Если Сервер Тогда
  ...
#КонецЕсли

синтаксис-контроль по Ctrl+F7 работает, т.е. проверяется код, предназначенный для выполнения на сервере 1с.

Он не проверяется именно в случае, описанном в (0) - когда проверок несколько.

Кстати, для кода

#Если Сервер Тогда
  //здесь работает синтаксический контроль  
#ИначеЕсли Клиент Тогда
  здесь может быть все, что угодно, т.к. синтаксический контроль не работает
#КонецЕсли

синтаксический контроль во второй проверке также не отработает.
5 Lenny
 
27.07.09
11:27
(0) в настройках конфигуратора есть флаг "синтаксический контроль на сервере", выставь его
6 dauster
 
27.07.09
11:32
(5) см. (3,4)

Синтаксический контроль модулей по Ctrl+F7 в блоках проверки выполнения кода на сервере и на клиенте не работает начиная со второго условия.

т.е. в нижеописанном коде возникает та же проблема, что и в (0)

#Если Сервер Тогда
   //здесь работает синтаксический контроль  
#ИначеЕсли Клиент Тогда
   здесь может быть все, что угодно, т.к. синтаксический контроль не работает
#КонецЕсли
7 Defender aka LINN
 
27.07.09
11:37
Похоже, что таки бага.
А версия платформы какая?
8 dauster
 
27.07.09
11:38
Платформа 8.1.14.72
9 mikecool
 
27.07.09
11:40
вот так-так... только поставил ее :(
10 Defender aka LINN
 
27.07.09
11:41
(9) Не переживай, у меня на 11.67 то же самое :)
11 Господин ПЖ
 
27.07.09
11:43
а если заменить на два отдельных условия - "если клиент" и "если сервер" - работает?
12 dauster
 
27.07.09
11:44
(11) да
13 dauster
 
27.07.09
11:46
обнаружил, когда по распределенке послал очередное обновление и у меня слетела работа регламентного задания, т.к. в коде поставил лишнюю скобку и система меня не оповестила.
14 Jolly Roger
 
27.07.09
13:25
(13) включи все три галки и не парь мосх...
15 dauster
 
27.07.09
14:55
(14) можно конкретнее, где и какие галки поставить?
16 dauster
 
27.07.09
15:04
(14) Если речь про Сервис->Параметры->Тексты модулей->Проверка, то там стоят все галки и на решение описанной проблемы никак не влияют.
Такое ощущение, что вы даете советы, не удосужившись вникнуть в суть вопроса и прочитать посты внимательнее.
17 Jolly Roger
 
27.07.09
15:38
18 dauster
 
27.07.09
16:13
(17) может, версия платформы отличается.
мой скрин:

http://www.onlinedisk.ru/view/186361
19 Jolly Roger
 
27.07.09
16:21
(18) нет, просто конфигуратор не переваривает порядок отличный от клиент, сервер...
20 dauster
 
27.07.09
16:33
(19) похоже, проблема глубже.
кстати, попробовал воспроизвести изначальную ошибку из (0) более широко:

#Если Клиент Тогда
  //здесь работает синтаксический контроль  
#ИначеЕсли Сервер Тогда
  здесь может быть все, что угодно, т.к. синтаксический контроль не работает
#КонецЕсли


В итоге:

модуль приложения: ошибок не обнаружено
общий модуль: ошибки
модуль объекта: ошибки
модуль формы объекта: ошибок не обнаружено.

короче, ошибка проявляется в зависимости от места расположения.
21 Jolly Roger
 
27.07.09
16:35
(20) а подумать?
22 dauster
 
27.07.09
17:01
(21) признаю, что в (20) я уже начал рубить с плеча и отпостился неподумав про то, что пример некорректен.

Кстати, не знал, что от порядка проверки Клиент/Сервер может зависить - будет проверяться синтаксис блока или нет (к (19)).
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн