Имя: Пароль:
1C
 
Почему не выдает ошибку синтаксиса?
🠗 (Волшебник 31.03.2025 15:08)
0 program345
 
31.03.25
14:52
Функция ВыбратьКаталогВДиалоге() Экспорт 
    Перем ИмяКаталога;
	
	Проводник = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
	Если Проводник.Выбрать() Тогда
		//ИмяКаталога = Проводник.Каталог;	
		//ЭтотОбъект.ИмяКаталога = Проводник.Каталог;
	//Иначе ИмяКаталога ="";
		
	КонецЕсли;
	
	Возврат ИмяКаталога;

КонецФункции // ()



Синтаксический контроль в общем модуле (только Клиент) не дает ошибку, хотя переменная ИмяКаталога не определена. Почему?
1 program345
 
31.03.25
14:37
В едт отловит?
2 H A D G E H O G s
 
31.03.25
14:38
Потому что она определена.
3 mikecool
 
31.03.25
14:40
(2) +1
4 mikecool
 
31.03.25
14:40
думал тут что-то интересное, а тут...
5 skafandr
 
31.03.25
14:41
(0) Присвоение переменной после возврата это конечно сильно. Но с точки зрения синтаксиса все хорошо ;-)
6 PLUT
 
31.03.25
14:43
потому что это фича 1С, а в EDT отловит? - да х.й его знает...


вот тут про сорта "типизаций" https://infostart.ru/1c/articles/2016652/
7 Волшебник
 
31.03.25
14:48
(0) Ты уже заебал своими тупыми вопросами (с) shuhard
8 program345
 
31.03.25
14:54
(2) Походу да, определена. Если Её закоментить, то будет ошибка.
9 PLUT
 
31.03.25
15:02
(8) сбой матрицы

в (0) уже текст функции поменялся
10 ads55
 
31.03.25
15:03
(5) Потому что вычисление происходит справа-налево.
Знак "=" есть жи, брат. Значит определена. :)
11 ads55
 
31.03.25
15:05
(8) Ты же локальную переменную в начале функции определил.
12 Мультук
 
гуру
31.03.25
15:06
(11)

Он уже всё поменял.


2 Волшебник -- закрой или удали плиз эту бесполезную тему.
13 Волшебник
 
31.03.25
15:08
(12) закопал
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой