Имя: Пароль:
1C
 
#Если <---> Тогда <---> #КонецЕсли В чем смысл данной конструкции?
0 sema76
 
06.04.16
13:31
Есть процедура в общем модуле. Процедура вызывается подпиской на событие, событие обработка проведения.

#Если Нужно Тогда
Источник = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
#КонецЕсли
1 Волшебник
 
модератор
06.04.16
13:33
Это директивы препроцессора
2 sema76
 
06.04.16
13:40
(1) Это я понимаю. Слово Нужно нигде не определено. Думаю выражение "#Если Нужно Тогда" будет всегда "Ложь". И что тогда. Я не понимаю смысла этой вставки.

Процедура ОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт

........

#Если Нужно Тогда
Источник = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
#КонецЕсли

..........
..........

КонецПроцедуры
3 portowyi
 
06.04.16
13:41
(0) Блок кода внутри конструкции никогда не выполнится, но от переменной "Источник" ты сможешь пользоваться контекстной подсказкой.
4 sema76
 
06.04.16
13:45
(3) А если бы этой конструкции не было, что это бы изменило?
5 Drac0
 
06.04.16
13:46
(4) Для переменной Источник не работала бы контекстная подсказка. ЛОгично же.
6 Одинесю
 
06.04.16
13:46
(5) Что за подсказка?
7 Маратыч
 
06.04.16
13:48
(6) Прикалываетесь вы тут штоле...

Когда точку ставишь после инициализированной переменной, вываливается подсказка.
8 ДенисЧ
 
06.04.16
13:48
(6) Ctrl-Space
9 Маратыч
 
06.04.16
13:48
+(7) Если у переменной есть методы/свойства, ессно.
10 1cVandal
 
06.04.16
13:49
(5) (7) Обычно делаю подобное вначале, потом удаляю, нафига овно за собой в коде оставлять?
11 Одинесю
 
06.04.16
13:49
(7) Нафига она здесь?
12 Маратыч
 
06.04.16
13:49
(10) Да хз вообще, нафейхоа этот финт ушами.
13 sema76
 
06.04.16
13:50
(5) А как это связано с СоздатьДокумент() ?
14 Тролль главный
 
06.04.16
13:51
ладно это, оно будет исключено из кода, а вот народ иногда такое вставляет:

Если Ложь Тогда
Источник = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
КонецЕсли
15 Маратыч
 
06.04.16
13:51
(13) Можно экспортные методы документа посмотреть, например.
16 Тролль главный
 
06.04.16
13:52
(13) теперь редактор знает, что Источник это ДокументОбъект.ПоступлениеТоваровУслуг
17 Одинесю
 
06.04.16
13:54
(15) Понятно, тогда скорее всего забыли убрать.
18 sema76
 
06.04.16
13:56
(16) Понятно. (Хитро.)
19 George Wheels
 
06.04.16
13:56
(17) #Если Нужно Тогда
это чтобы было неважно забыл удалить или нет.
20 Mikeware
 
06.04.16
13:57
(14) так еще ж семерочный прикол....
21 Одинесю
 
06.04.16
13:59
Это как заменяет ДокументОбъект.ПоступлениеТоваровУслуг на Источник, чтобы не писать долго?
22 Одинесю
 
06.04.16
13:59
как бы*
23 Поpyчик-4
 
06.04.16
14:01
(0) Ещё бывает так

#Если Ложь Тогда
     Источник = ................;
#КонецЕсли
24 Одинесю
 
06.04.16
14:01
(23) См. (14)
25 Drac0
 
06.04.16
14:02
(21) Нет. "Источник" - это аргумент функции или процедуры, а его тип задать в 1С нельзя (увы :( ), поэтому приходится делать так, чтобы было удобнее писать код.
26 George Wheels
 
06.04.16
14:02
Процедура ОбработатьИсточник(Источник)

КонецПроцедуры

Какого типа будет Источник? Это будет известно только при передаче параметра. Поэтому чтобы удобнее было писать в Конфигураторе такая конструкция.
27 Одинесю
 
06.04.16
14:05
(25) (26) Понятно, спасибо.
28 Cyberhawk
 
06.04.16
14:09
Это "лайфхак" для контекстной подсказки, сам постоянно использую такую конструкцию:

#Если _ Тогда
#КонецЕсли
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.