|
OFF: Где вы объявляете переменные? | ☑ | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0
ЗлобнийМальчик
15.02.13
✎
14:16
|
по работе пришлось читать очень много чужого кода. И я заметил одну особенность которуя я до этого не соблюдал. Все переменые вынесены в начало процедуры и по ходу процедуры не объявляются. Я в свое время читал книжку мак конелла совершенный код и там наоборот рекомендовалось переменные по ходу процедуры объявлять прямо рядом с местом использования.
А как делаете вы? |
|||||||||||||
1
Aleksey
15.02.13
✎
14:17
|
это как?
|
|||||||||||||
2
Wobland
15.02.13
✎
14:17
|
мак коннелы нам не указ. и потом, наверняка он про человечьи языки с нормальной типизацией
В начале процедуры |
|||||||||||||
3
ЗлобнийМальчик
15.02.13
✎
14:17
|
перем 1
перем 2 перем 3 перем 4 код код код перем 1 = перем 2 + перем 3 |
|||||||||||||
4
Eugene_life
15.02.13
✎
14:18
|
в зависимости от настроения.
|
|||||||||||||
5
Бешеная Нога
15.02.13
✎
14:19
|
всегда походу. пока я не понимаю необходимость размещения
Перем МояПеременная в начале процедуры По ходу процедуры |
|||||||||||||
6
Aleksey
15.02.13
✎
14:19
|
(3) Мы сейчас про переменные которые объявляются в разделе "перем" или просто присвоение по тексту, типа
спр=создатьОбъект() |
|||||||||||||
7
ЗлобнийМальчик
15.02.13
✎
14:19
|
(6) объявляются
|
|||||||||||||
9
Rie
15.02.13
✎
14:20
|
(0) А на каком языке пишешь-то? В 1Сике переменные можно только в начале процедуры объявлять. Иначе ругается - низзя, мол... И в разнообразных паскалях - то же самое. А ежели С или Java - тут есть варианты.
|
|||||||||||||
10
ЗлобнийМальчик
15.02.13
✎
14:22
|
(9) упс. Забыл я эту особенность одноэсии...
Я на абапе клепаю. Но в принципе пример той же С# или жабы меня устроил |
|||||||||||||
11
HeroShima
15.02.13
✎
14:23
|
(0) поближе к месту использования
По ходу процедуры |
|||||||||||||
12
Aleksey
15.02.13
✎
14:24
|
(10) ТОгда к чему весь этот опрос?
|
|||||||||||||
13
ЗлобнийМальчик
15.02.13
✎
14:27
|
(12) ну тогда ни о чем.
|
|||||||||||||
14
Rie
15.02.13
✎
14:27
|
(10) Совсем другая ситуация. В шарпе и жабе видимость переменных - не в процедуре, а в блоке {...}. Поэтому там вытаскивать в начало процедуры переменные, используемые лишь в каком-то конкретном блоке - смысла нет. А поскольку блоки - обычно небольшие, то и смысла нет заморачиваться этим вопросом.
|
|||||||||||||
15
Проггер
15.02.13
✎
14:28
|
Есть языки которым необходимо инициализация переменных для обозначения типа (delphi,vb). 1с к таким языкам не относится поэтому объявлять их можно поближе к месту использования
Другое |
|||||||||||||
16
Джордж1
15.02.13
✎
14:29
|
я так объявляю, причем вот так Паременная="";
По ходу процедуры |
|||||||||||||
17
milan
15.02.13
✎
14:30
|
А правильно ли я делаю ? может на самом деле переменные надо объявить в начала процедуры и тогда Движения.Записать() отработает в 100500 раз быстрее ?
По ходу процедуры |
|||||||||||||
18
IVT_2009
15.02.13
✎
14:30
|
Так удобней. За исключением тех что надо занулить в начале процедуры по каким то причинам.
По ходу процедуры |
|||||||||||||
19
Rie
15.02.13
✎
14:32
|
Господа! Поделитесь, пожалуйста, секретом, как вам удаётся _объявлять_ переменные в 1Сике "по ходу процедуры".
|
|||||||||||||
20
Сергей Д
15.02.13
✎
14:33
|
Привык к Паскалю. Нужно, чтобы все было в одном месте. Это дисциплинирует.
В начале процедуры |
|||||||||||||
21
orefkov
15.02.13
✎
14:33
|
(0)
Типа у нас есть выбор, где это делать? |
|||||||||||||
22
HeroShima
15.02.13
✎
14:36
|
(20) объявлять параметры циклов в разделе переменных - это они неподумавши
|
|||||||||||||
23
ЗлобнийМальчик
15.02.13
✎
14:36
|
(21) см (9)
|
|||||||||||||
24
Сергей Д
15.02.13
✎
14:40
|
(22) Почему же? Объявляю одну переменную и использую ее во всех циклах (если они не вложенные, конечно).
|
|||||||||||||
25
Эмбеддер
15.02.13
✎
14:41
|
Это вопрос про Си конечно?
|
|||||||||||||
26
HeroShima
15.02.13
✎
14:42
|
(24) а тут уже второй вопрос назревает об утилизации неиспользуемых переменных
|
|||||||||||||
27
HeroShima
15.02.13
✎
14:43
|
+(26) хорошим тоном считается одно объявление переменной = одна сущность
|
|||||||||||||
28
Сергей Д
15.02.13
✎
14:46
|
Вот за что я люблю Паскаль - так это за дисциплину. Все переменные - вместе. Константы - вместе. Не объявил - фиг используешь. И всегда определенность с типами. Не то что в современных языках.
|
|||||||||||||
29
Rie
15.02.13
✎
14:46
|
(26) Не назревает. Умный оптимизатор (если разработчики транслятора об этом позаботились) сам разберётся. Как в Delphi, к примеру, сделано. А если такового нет - то можно лишь посокрушаться.
|
|||||||||||||
30
Rie
15.02.13
✎
14:48
|
(28) В каких "современных языках"?
Если ты о cях, жабе или шарпе - так там тоже есть своя дисциплина. Просто чуток другая. Не лучше, не хуже - просто другая. |
|||||||||||||
31
HeroShima
15.02.13
✎
14:49
|
(29) так компилятор и с местами объявления может разобраться - вопрос о читабельности текста
(28) аду рекомендую |
|||||||||||||
32
MaxS
15.02.13
✎
14:50
|
Зависит от назначения переменной и области действия.
Чем шире область действия, тем выше она объявляется. Нельзя объявлять переменную внутри какого-нибудь условия, если она используется вне его. Другое |
|||||||||||||
33
Сергей Д
15.02.13
✎
14:50
|
(30) PHP, да и в 1С с типизацией беда. Бывает глядишь описание процедуры и думаешь: чего она такое возвращает?
|
|||||||||||||
34
Сергей Д
15.02.13
✎
14:56
|
В САП, кстати, тоже беда.
Пример. Есть переменная типа строка(50). Входной параметр процедуры строка(100). Напрямую передать нельзя. Нужно объявить переменную типа строка(100), ей присвоить значение переменной строка(50), а потом уже строку(100) передать в процедуру. Как говорит один наш сотрудник, "убил бы". |
|||||||||||||
35
Лефмихалыч
15.02.13
✎
14:57
|
это не трубопаскаль...
По ходу процедуры |
|||||||||||||
36
Rie
15.02.13
✎
15:01
|
(33) Так это - не проблема "места объявления переменных". Это - вопрос о статической и динамической типизации. И опять же - у каждой есть свои достоинства или недостатки. В (34) - как раз пример того, как излишняя строгость мешает. Когда идёт работа с _произвольной_ базой данных - то статическая типизация осложняет жизнь, поскольку какие там типы у полей - станет известно только после подключения к базе.
|
|||||||||||||
37
HeroShima
15.02.13
✎
15:01
|
(34) строгая типизация, чо
|
|||||||||||||
38
Сергей Д
15.02.13
✎
15:04
|
(37) Даже слишком.
Не, там можно описать тип параметра как "любая строка". Но далеко не везде это сделано. |
|||||||||||||
39
HeroShima
15.02.13
✎
15:06
|
(38) угу. если память мне ни с кем не изменила, в турбопаскале та же история была
|
|||||||||||||
40
H A D G E H O G s
15.02.13
✎
15:15
|
В зависимости от графика.
По четным дням - в начале процедуры, по нечетным - перед использованием, в выходные - прямо во время использования. Автор, ветка гениальна в своей глупости. Другое |
|||||||||||||
41
Сергей Д
15.02.13
✎
15:29
|
А в каких языках переменные описываются в конце процедуры, т.е. когда они уже не нужны?
|
|||||||||||||
42
HeroShima
15.02.13
✎
15:39
|
(41) теоритически, возможно в пределах блока где необходимо знать тип переменной
|
|||||||||||||
43
Nirvana
15.02.13
✎
18:14
|
Я использую неявное объявление переменных.
Пожалуй, стоит сказать за это спасибо разработчикам. По ходу процедуры |
|||||||||||||
44
Rie
15.02.13
✎
18:17
|
(43) На ситуацию, когда имя переменной внутри процедуры случайно совпало с именем глобальной переменной - не нарывались? Повезло, однако...
|
|||||||||||||
45
GROOVY
15.02.13
✎
18:18
|
Пофиг как вы объявляете переменные, компилятор полюбасу их сгенерит в таблицу переменных до начала интерпретации процедуры.
|
|||||||||||||
46
Nirvana
15.02.13
✎
18:23
|
(44) "Случайно" может совпасть только там, где имеет место бардак в названиях переменных. А при системном подходе к переменным совпадения исключаются за счёт различия в стандартах имён глобальных и локальных переменных.
|
|||||||||||||
47
shadowfiend10
15.02.13
✎
18:24
|
(44) Телепат/Снегопат покажут коли есть такая в глобальных или уже в объявленных, спасибо orefkov
|
|||||||||||||
48
orefkov
15.02.13
✎
18:48
|
(47)
Пожалуйста:) |
|||||||||||||
49
Rie
15.02.13
✎
18:59
|
(47) Вот именно, что "или". Некто правит (это существенно - код был написан год назад, теперь пришлось к нему вернуться; а память человеческая - небезгранична) _большую_ процедуру и пишет
МояПеременная = 1; Телепат подсказывает, что переменная - уже объявлена. Вот только где? В процедуре? В этом модуле? В Глобальном модуле? Да, выделит конечно цветом _в некоторых случаях_. Ко всему прочему не у всех стоит Телепат (например, процедуру приходится править не дома в комфортных условиях, а у заказчика, о всяких Телепатах и не слыхивавшего). |
|||||||||||||
50
EvgeniuXP
15.02.13
✎
19:00
|
в параметрах процедуры.
Другое |
|||||||||||||
51
Rie
15.02.13
✎
19:01
|
(46) А единороги кушают радугу и какают бабочками...
Оно понятно, что если ошибок нет - то их нет, и все счастливы. Но речь-то как раз и идёт о том, как их избежать. |
|||||||||||||
52
MMM9000
15.02.13
✎
19:03
|
понадобилась переменная объявляю и сразу использую, если сильно надо, делаю ёё уровня модуль объекта. Жаль, что в 1с8 убили глобальные переменные, в 7 активно их использовал.
По ходу процедуры |
|||||||||||||
53
Команданте
15.02.13
✎
19:05
|
Ессно
А ваще нужно функции укорачивать. Я их так укорачиваю, что у меня нет процедур длиннее одного монитора, грубо говоря, а ваще где-то 15 строк По ходу процедуры |
|||||||||||||
54
Тролль главный
15.02.13
✎
19:21
|
Все не читал, но есть что сказать
Процедура Тест() Перем А; А = 10; //я уверен, что идет присвоение локальной переменной //если же объявление выше убрать, то вдруг я реквизит изменил? |
|||||||||||||
55
fisher
15.02.13
✎
19:25
|
Титры должны идти в конце фильма.
В конце процедуры |
|||||||||||||
56
EvgeniuXP
15.02.13
✎
19:25
|
Процедура МояПроцедура(Знач Перем1, Знач Перем2, Знач Перем3 и т.д.)
|
|||||||||||||
57
Sakura
15.02.13
✎
19:25
|
Значимые - в начале.
Мелкие временные типа счетчика для цикла - можно и по ходу. Кмк, так проще разбираться, чем по ходу вникать в смысл появления новых переменных. В начале процедуры |
|||||||||||||
58
Тролль главный
15.02.13
✎
19:27
|
(57) это только в пьесах всех действующих лиц объявляют вначале)))
|
|||||||||||||
59
Sakura
15.02.13
✎
19:30
|
(58) да понятно, что можно по-разному)
но мне даже самой неудобно по ходу их создавать, тем более, что временным переменным я часто даю не особо осмысленные имена, и искать потом, а не объявлена ли у меня еще где переменная с именем tmp, например - не то, на что хочется тратить время))) |
|||||||||||||
60
Тролль главный
15.02.13
✎
19:32
|
(59) ну в сях разных вроде ругается, если область видимости перекрывается, если не ошибкой то предупреждением
|
|||||||||||||
61
vicof
15.02.13
✎
19:33
|
(59) f12 спасает
|
|||||||||||||
62
Sakura
15.02.13
✎
19:33
|
(60) я на С++ и пишу в основном)))
|
|||||||||||||
63
Тролль главный
15.02.13
✎
19:33
|
(62) я предугадывал это
|
|||||||||||||
64
aka MIK
15.02.13
✎
19:37
|
Так читабельнее. Исключение - для переопределения глобальных, но это очень редко, "ТемпТЗ" или "Сч" у меня в глобальных или в реквизитах не будет, да и подсвечиваются они (спасибо орефкову!)
По ходу процедуры |
|||||||||||||
65
orefkov
15.02.13
✎
19:47
|
(64)
Подсвечиваются - спасибо не мне. Metaeditor'у. |
|||||||||||||
66
sda553
15.02.13
✎
20:45
|
(0) Я считаю, что переменная должна объявляться и инициализироваться недалеко от первого использования. А то в сях раздражает мотать портянку с кодом туда сюда, когда в коде разбираешься
|
|||||||||||||
67
Nirvana
15.02.13
✎
22:16
|
(51) Элементарно избежать, если придерживаться разных стандартов в именах глобальных и локальных переменных. Понятно ли я выражаюсь, или ещё нужно объяснять, что такое "стандарт" в именах переменных?
|
|||||||||||||
68
HeroShima
15.02.13
✎
22:27
|
(67) кто сильнее, стандарт, или форсмажор?
|
|||||||||||||
69
Невский
15.02.13
✎
22:32
|
и это правильно
По ходу процедуры |
|||||||||||||
70
Рэйв
15.02.13
✎
22:36
|
(0)
Ламер. Там где это нужно Другое |
|||||||||||||
71
Sakura
15.02.13
✎
22:39
|
(63) когда на 1С кодила - так же делала
|
|||||||||||||
72
Рэйв
15.02.13
✎
22:40
|
+(70)В зависимости от области видимости. Если тебе это о чем то говорит:-)
|
|||||||||||||
73
Nirvana
15.02.13
✎
22:46
|
(68) Зависит от программиста, от того, насколько он организован.
|
|||||||||||||
74
sevenup
15.02.13
✎
23:33
|
(41) Когда пишу на asm, всегда объявляю в конце - после заверного ret
|
|||||||||||||
75
Индиго
16.02.13
✎
00:36
|
(74) пиндишь:-)
|
|||||||||||||
76
Hans
16.02.13
✎
00:41
|
Не знаю откуда у меня эта привычка, но я привык определять- присваивать начальные значения перед использованием переменной. наверное еще с турбо паскаля пошло.
По ходу процедуры |
|||||||||||||
77
Torquader
16.02.13
✎
00:58
|
В 1С нужно объявлять переменные, только если они передаются в функцию, так как иначе происходит ошибка.
Что касается наложения, то если все глобальные переменные начинать с буквы г, переменные модуля с буквы м, локальные с буквы л, а параметры процедуры или функции начинать с п, то никогда на наложение не нарваться. Чтобы не было проблем можно процедуры и функции тоже указывать с префиксом, так как имя переменной может совпасть с именем процедуры или функции. P.S. ещё можно в начале в префиксе указывать тип, например, спр для справочника и т.д. |
|||||||||||||
78
France
16.02.13
✎
01:45
|
(40) плюсЫл.
Рай, жгЫ дальЩЭ |
|||||||||||||
79
France
16.02.13
✎
01:46
|
77, врешь же
|
|||||||||||||
80
HeroShima
16.02.13
✎
10:05
|
(74) объявление переменной и выделение под неё памяти - разные вещи
|
|||||||||||||
81
i-rek
16.02.13
✎
10:22
|
я не люблю когда в начале процедуры объявляют.
считаю что это замусоривает код и делает чтение сложнее По ходу процедуры |
|||||||||||||
82
i-rek
16.02.13
✎
10:23
|
вот эту энергию которые люди прикладывают к размещению переменных в начале процедуры - пусть потратят на нормальные имена, содержащие в себе информацию о локальности/глобальности и типе
|
|||||||||||||
83
GANR
16.02.13
✎
14:47
|
как правило
По ходу процедуры |
|||||||||||||
84
Rie
16.02.13
✎
14:48
|
(82) Венгерская нотация хороша - когда типов немного. В противном случае для (к примеру) экспортируемой переменной модуля объекта, принимающей значения типа СправочникСсылка.Контрагенты и СправочникСсылка.Организации - префикс будет несколько монструозным. Либо же будет простым - но не будет содержать нужной и полезной информации.
На мой взгляд, проблема в том, что конфигуратор 1С, в отличие от многих более других IDE, не даёт грамотных подсказок - насчёт типа и т.д. (Очень жаль, что ЗАО "1С" не привлекло orefkov'а к работе над Intellisense). Ну а раз так - то явное описание - которое можно сопроводить комментарием и на которое можно быстро прыгнуть по F12 - весьма небезполезно. В остальном же - эта ветка сильно напоминает спор между "остроконечниками" и "тупоконечниками". |
|||||||||||||
85
Rie
16.02.13
✎
14:54
|
+(84) Ну и - всё сильно зависит от того, на каком языке человек пишет. В C-подобных языках есть возможность _объявлять_ переменные "по ходу процедуры". А в паскалях , васиках и 1Сиках - такой возможности просто нет.
Причём "по ходу процедуры" - это сильно неправильное название. Например, int a = f(x); if (a == 0) { int i = 1; // здесь переменная i существует } else { int j = 0; // а вот здесь переменная j есть, а переменная i - тю-тю } Console.Out.WriteLine(i.ToString()+" "+j.ToString()); // и получите ошибку - поскольку тут ни i, ни j не существуют |
|||||||||||||
86
Torquader
17.02.13
✎
01:20
|
(84) Так в префикс мы в любом случае пишем "спр", а какого вида справочник - будет ясно из названия переменной.
В восьмёрке с типами вообще перемудрили - видимо - создатели почитали описания ядра NT, где для каждого объекта создаётся специальный объект "Тип", описывающий характеристики объекта. |
|||||||||||||
87
DGorgoN
17.02.13
✎
12:29
|
(19) СуммаПоСтроке=0;
|
|||||||||||||
88
mikecool
17.02.13
✎
12:30
|
(0) переменные следует объявлять в той области видимости, в которой они будут использоваться
|
|||||||||||||
89
Rie
17.02.13
✎
12:31
|
(87) Это - не _объявление_ переменной.
|
|||||||||||||
90
mikecool
17.02.13
✎
12:32
|
(89) Почему? 1с объявляет переменную в месте ее первого использования, если она не была объявлена ранее
|
|||||||||||||
91
Эльниньо
17.02.13
✎
12:37
|
(88) Казалось бы. Но сотню постов чего-то обсуждают же.
|
|||||||||||||
92
mikecool
17.02.13
✎
12:38
|
(91) а я все не читал )))
|
|||||||||||||
93
Nirvana
17.02.13
✎
12:38
|
СуммаПоСтроке=0 - это называется "неявное объявление переменной".
|
|||||||||||||
94
HeroShima
17.02.13
✎
12:46
|
(93) к тому же, в некоторых языках переменные только так и объявляются
|
|||||||||||||
95
Rie
17.02.13
✎
12:56
|
(93) Смотря в каком языке - есть ведь разная терминология.
Что касается 1Сика, то описание языка утверждает: "Операторы языка в программном модуле можно подразделить на две категории: операторы объявления переменных и исполняемые операторы. Операторы объявления переменных создают имена переменных, которыми манипулируют исполняемые операторы". И далее: "Процедура <Имя_процедуры>([[Знач] <Парам1> [=<ДефЗнач>], ... ,[Знач] <ПарамN> [=<ДефЗнач>]])[Экспорт] // Объявления локальных переменных; // Операторы; ... [Возврат;] // Операторы; ... КонецПроцедуры" ... // Объявления локальных переменных Объявляются локальные переменные, на которые можно ссылаться только в рамках этой процедуры (см. оператор Перем)". |
|||||||||||||
96
Xapac_2
17.02.13
✎
12:57
|
(0) это из дильфинария пришедшие, они лошары. их код гумно. не обращай внимание
По ходу процедуры |
|||||||||||||
97
Nirvana
17.02.13
✎
13:10
|
(95) "В языке переменные не обязательно объявлять в явном виде. Неявным определением переменной является первое ее появление в левой части оператора присваивания. Тип переменной определяется типом присвоенного ей значения. Не допускается использование в выражениях переменных не объявленных ранее в явном или неявном виде."
http://1c-pro.ru/wiki/index.php/Перем |
|||||||||||||
98
Rie
17.02.13
✎
13:19
|
(97) О чём и речь. Вопрос терминологии. "Описание встроенного языка" говорит одно, сайт http://1c-pro.ru - другое.
Прежде чем спорить - надо бы придти к единой терминологии, иначе получается "я ему про Фому, он мне - про Ерёму". |
|||||||||||||
99
HeroShima
17.02.13
✎
13:39
|
И тема не ограничена языком 1С, как ранее выяснено.
|
|||||||||||||
100
Тролль главный
17.02.13
✎
13:46
|
100
|
|||||||||||||
101
Jump
17.02.13
✎
15:35
|
(0)Переменные разные бывают.
Некоторые есть смысл объявить в начале, обычные проходные переменные, обычно объявляются перед использованием. Т.е все зависит от смысловой нагрузки переменной, и области видимости. Другое |
|||||||||||||
102
Поросенок Петр
17.02.13
✎
15:38
|
Размещать в начале - атавизм.
По ходу процедуры |
|||||||||||||
103
_Ramzes
17.02.13
✎
18:03
|
По ходу
По ходу процедуры |
|||||||||||||
104
EvgeniuXP
17.02.13
✎
18:20
|
(103) очень плохой стиль программирования, нужно делать код защищенным :)
|
|||||||||||||
105
ptrtss
18.02.13
✎
05:38
|
(0) В 1С имеет смысл объявлять переменные в начале процедуры, чтоб быть уверенным, что не цепанешь нечаянно какую-нибудь глобальную или какой-нибудь реквизит
|
|||||||||||||
106
mishaPH
18.02.13
✎
05:58
|
по разному. зависит от обстоятельств
Другое |
|||||||||||||
107
DJ Anthon
18.02.13
✎
06:11
|
(105) а толку? все равно не поможет. вот, например, обработка КонсольЗаданий, ИТСная, между прочим, создает переменную Пользователи, а в БГУ есть такой глобальный модуль, соответственно, обработка в ней не открывается без правки. Так что, как ни обзывай, все равно может понадобиться правка кода, где бы ни объявлял переменную. Предпочитаю объявлять так, чтобы не пересечься, например, Для СчетчикТаблицыОстатков = 0 По.... (Можно, конечно, запросом, но для разовых задач предпочитаю перебор, легче отлаживать).
Все счетчики стараюсь использовать единожды, никода не использую коротких переменных, типа аа = итог("а"), и проблем с кодом не испытываю. Еще выравнивание по табуляции для удобочитаемости кода и все замечательно. Соответственно, не вижу смысла объявлять в начале процедуры переменные, так как она может быть очень большой. По ходу процедуры |
|||||||||||||
108
VladZ
18.02.13
✎
06:35
|
(0) Объявляю только глобальные. Объявлять локальные не вижу смысла.
|
|||||||||||||
109
orefkov
18.02.13
✎
06:53
|
(89) (93)
Это не объявление переменной. Это присваивание. И только если 1С не найдет ничего с этим именем, она заведет переменную. |
|||||||||||||
110
D_Pavel
18.02.13
✎
07:05
|
Зачем объявлять переменные в процедуре?
Я вообще так не делаю. Другое |
|||||||||||||
111
Nirvana
18.02.13
✎
12:26
|
(109) В TFM это давно называют "неявным объявлением переменной". Не вижу причин для обструкции этого понятия.
|
|||||||||||||
112
orefkov
18.02.13
✎
12:35
|
(111)
В TFM есть много несуразностей, недомолвок, неточностей и тп, что теперь, все на веру брать? Я смотрю не на то, как 1С это называет, а то, как это работает. А работает оно так: переменная в данном случае неявно создается только если не найдено других переменных, свойств контекста и т.п. с этим именем. Если бы оно создавало переменную всегда - тогда бы это было "неявным объявлением переменной". |
|||||||||||||
113
1Сергей
18.02.13
✎
12:37
|
афигенный пункт голосовалки
В конце процедуры |
|||||||||||||
114
Сниф
18.02.13
✎
12:45
|
(108)...Объявлять локальные не вижу смысла - Выборка.Ссылка.ПолучитьОбъект() - как без локальной переменной с объектом работаешь?
|
|||||||||||||
115
VladZ
18.02.13
✎
12:55
|
(114) ты сейчас про объявление переменной? Или про присваивание?
|
|||||||||||||
116
ice777
18.02.13
✎
12:56
|
ничего в 1с объявлять не надо, даже тип. Специально для убогих сделано.)
Другое |
|||||||||||||
117
Сниф
18.02.13
✎
13:21
|
(115) это я затупил, вопрос снимаю.
|
|||||||||||||
118
tdm
18.02.13
✎
13:30
|
по аналогии с типовыми конфигурациями...не хочу свой код выпячивать
По ходу процедуры |
|||||||||||||
119
VladZ
18.02.13
✎
13:31
|
(113) Ага.. В разделе "В фильме снимались..."
|
|||||||||||||
120
McNamara
18.02.13
✎
13:39
|
Еще в универе после паскаля так приятно было на сях писать for(int i;i++;i<10).
По ходу процедуры |
|||||||||||||
121
DJ Anthon
19.02.13
✎
15:44
|
вот, нарыл у себя
Перем ДатаНачалаПериода; Перем ТекущийКонтент; Перем СписокПрерываний; Перем РасшифровкаНачислений; Перем РасшифровкаНачисленийПоСрезу; Перем РасшифровкаЛьгот; Перем РасшифровкаЛьготПоСрезу; Перем УчтенноеКоличествоПоВидуРасчета; Перем ОбщаяСумма100ПоВсемПрерываниям; Перем СтрокаПрерывания; Перем НачалоПериода; Перем КонецПериода; Перем КоличествоДнейВПериоде; Перем КоличествоДнейВТекущемМесяце; Перем УчастиеВРасчете; Перем ВидТарифа; Перем ВидРасчета; Перем КоэффициентПериодаПрименяетсяККоличеству; Перем КоличествоЧеловекНаСубсидию; Перем ВидБлагоустройства; Перем ТипРасчетаТарифов; Перем ДнейВПериоде; Перем ОбщиеТарифы; Перем ТаблицаЖильцовДляРасчета; Перем ПрописаноЧеловек; Перем ТаблицаПорядкаРасчетаЖильцов; Перем ТаблицаВсехЛьготЛицевогоСчета; Перем ТаблицаЛьгот; Перем КПериода; Перем КПериодаДляТарифа; Перем КоэффициентНормы; Перем ПрименятьНорму; Перем ВидНормыПотребления; Перем Норма; Перем ВидНормы; Перем Месяцев; Перем КоэффициентПериодаДляКоличества; Перем ВидНормыУчетныхЕдиниц; Перем ОбщееКоличествоПоНорме; Перем СтруктураКоличества; Перем ТаблицаЖильцов; Перем КоэффициентПоПериодуДействияТарифа; Перем КоэффициентПериодаДляТарифа; Перем ТарифЦена; Перем ТарифПревышенияЦена; Перем КоличествоЧеловекДляРасчета; Перем СтрокаСЖильцом; Перем ОсталосьЖильцовДляРасчета; Перем ИсходноеКоличество; Перем ЕдиницаИзмеренияИсточника; Перем ЕдиницРасчета; Перем ЕдиницаИзмерения; Перем КоэффициентСкидки; Перем ЗнакЕдиницРасчета; Перем ИсходноеКоличествоУслуги; Перем ДанныеПоЛьготеДляЖильца; Перем СписокРеквизитовПоЛьготеДляЖильца; Перем ОбщаяСумма100; Перем ФлагИспользованияЕдиницПлощади; Перем РаспределитьРавнымиДолями; Перем ДоляУслугиЖильца; Перем СтруктураКоличествоПоИсточникам; Перем СуммаНачислено; Перем СуммаЛьготы; Перем СтрокаЖильцов; Перем Жилец; Перем ЭтоЛьготник; Перем РаспределенноеКоличествоУслугиЖильца; Перем СуммаЛьготыПоЖильцу; Перем Сумма100ПоЖильцу; Перем ДействующийПроцентЛьготы; Перем ДействующийПроцентЛьготыСверхНормы; Перем ИсточникДляВыбораКоличествоУслугиПоНорме; Перем СтрокаЛьготы; Перем НормаЖильца; Перем ПроцентЛьготы; Перем КоэффициентДействующейЛьготы; Перем ПроцентЛьготыСверхНормы; Перем Льготник; Перем ИсточникФинансирования; Перем ДействующаяЛьгота; Перем ДействующаяЛьготаНаУслугу; Перем ДействующийСпособРасчетаЛьготы; Перем КоэффициентДействующейЛьготыСверхНормы; Перем ТарифыДляРасчета; Перем КоличествоУслугиПоНорме; Перем КоличествоУслугиСверхНормы; Перем КоличествоПоЛьготе; Перем УслугаЖильца; Перем НачисленоПоНорме100; Перем НачисленоСверхНормы100; Перем НачисленоПоЛьготе; Перем НачисленоПоУслуге100; Перем НачисленоПоЛьготе100; Перем НачисленаяЛьгота100; Перем КоличествоБезЛьготы; Перем НачисленнаяЛьгота; Перем СтрокаРасшифровкиЛьготы; Перем ВладелецДействующаяЛьготаНаУслугу; Перем ДляРасчетаСоциальнойНормы; Перем КоличествоПоИсточнику; Перем УчаствуетВРасчетеСубсидии; Перем СтрокаРасшифровки; Перем КДнейВПериоде; Перем НачисленоПоНормеБезЛьготы; Перем НачислениеВПределахНорматива; Перем НачисленоПоНорме; Перем НачисленоСверхНормы; Перем Начислено; Перем Начислено100; Перем ДляРасчетаСубсидии; Перем КоличествоДляРасчетаСоциальнойНормы; Перем МинимальноеКоличествоДляРасчетаСоциальнойНормы; Перем КоэффициентПроживающихКИмеющимПравоНаСубсидию; Перем СоциальнаяНорма; Перем Результат; как бы вы назвали такого программиста? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |