Имя: Пароль:
1C
 
Как закомментировать много кода?
0 Rounder
 
26.10.10
16:28
Собственно сабж - как закомментировать целый блок кода, но не построчно...
1 Живой Ископаемый
 
26.10.10
16:29
Выделить его и нажать Ктрл+/(на цифровой клаве)
2 Mort
 
26.10.10
16:29
Ctrl + Num /
3 DailyLookingOn Sunset
 
26.10.10
16:30
Условие.
4 Rounder
 
26.10.10
16:32
(1) (2) Благодарю
5 Nikitos
 
26.10.10
17:01
(1) (2) так можно его выделить и кнопочку мышкой нажать - эффект тот же :)
6 Живой Ископаемый
 
26.10.10
17:04
2(5) типа кто-то спорит
7 КонецЕсли
 
26.10.10
17:15
Следующий вопрос будет: как можно раскомментировать много кода?
8 Ленинград
 
26.10.10
17:16
(3)Оригинальный подход
9 Mitriy
 
26.10.10
17:18
(7) не поверишь:
Ctrl + Shift + Num /
10 Живой Ископаемый
 
26.10.10
17:18
(8) к сожалению применим только э...
Ну например внутри ОДНОЙ функции... Если нужно закоментарить две функции - то... условие нужно будет повторять в каждой.
11 luns
 
26.10.10
17:19
(3) плохо потому как ненаглядно.
12 Mitriy
 
26.10.10
17:19
извращенцы...
13 Сияющий Асинхраль
 
26.10.10
17:19
(8) Совершенно стандартный и часто встречающийся подход, пишешь условие:
Если 1=2 Тогда
Естественно конецЕсли в конце комментария
14 SalavatUlaev
 
26.10.10
17:26
Надо сохранить код модуля в текстовый файл.
Написать обработку, которая обходит строки и вставляет кусок текста "//" в начале каждой строки.
Запустить обработку.
Полученный текст вставить в модуль вместо прежнего кода
15 Lys
 
26.10.10
17:27
Ctrl+A, затем Del, затем Ctrl+S
16 ЗлобнийМальчик
 
26.10.10
17:28
(13) отвратительно
17 ЗлобнийМальчик
 
26.10.10
17:30
+(13) то есть чтобы понять , что этот код - не рабочий я должен все условия просмотреть? кошмар. Я такое заставлял перепиывать
18 Mitriy
 
26.10.10
17:30
(15) это что?
19 Lys
 
26.10.10
17:31
(18) А ты попробуй, узнаешь.
Желательно - в каком-нибудь общем модуле, или модуле приложения)
20 rotting
 
26.10.10
17:31
(18) Это чтоб наверняка зарэмилось)))
21 Живой Ископаемый
 
26.10.10
17:32
2(17) а заставляешь переписывать код вот такого напрример типа:


   СтандартнаяОбработка = Ложь;
   Если ТабличноеПоле.ТекущиеДанные = Неопределено Тогда
       Возврат;
   КонецЕсли;
22 almar
 
26.10.10
17:32
Я просто пишу Возврат в первой строке процедуры
23 Megas
 
26.10.10
17:33
Там в конфигураторе есть кнопочки
//
и
//х
24 Megas
 
26.10.10
17:35
(17) Мда..
А я так делал, а потому что второй(альтернативный) код работал неоднозначно по времени , и чтоб не убивать старый код я так писал для себя! В итоге отладил и стал использовать оба кода, в одно случае первый в другом второй. Скорость работы вырасла.
25 Сияющий Асинхраль
 
26.10.10
17:38
(16) Ну, у меня есть вообще вредная привычка - не терплю куски закомментированного кода, если код закомментирован, я его просто стираю, всегда. По моему комментарии должны использоваться для объяснений, а не для складирования неиспользуемого мусора. Тем не менее вариант (13) много раз видел в коде, написанном другими и совершенно спокойно, в отличие от тебя, к нему отношусь...
26 Живой Ископаемый
 
26.10.10
17:39
тем более что (21) - это пример из типовых, из модуля БухгалтерскиеОтчеты.
27 Mitriy
 
26.10.10
17:42
(21) это рабочий код вообще-то...
28 Живой Ископаемый
 
26.10.10
17:44
2(27) все верно, но смысл тот же - при исполнении условия, все что ниже его аж до ближайшего КонецФункции или КонецПроцедуры - не выполняется
29 Mitriy
 
26.10.10
17:46
(28) постоянно так делаю, чтобы не блуждать между Если, Иначе и концами если...
30 Живой Ископаемый
 
26.10.10
17:49
(29) я тоже, так что все в порядке...

а вот (17) заставил бы тебя этот код переписать, если я его правильно понял
31 ЗлобнийМальчик
 
26.10.10
17:51
(21) я слишком уже далек одинэса чтобы понять контекст
32 Mitriy
 
26.10.10
17:52
(30) сомневаюсь... там речь про другое....
33 ЗлобнийМальчик
 
26.10.10
17:52
(24) если вы оба куска кода используете - честь Вам и хвала. Но если у вас неработающий код висит и виден как работающий - это неправильно
34 Живой Ископаемый
 
26.10.10
17:56
это неправильно если мы живем в мире Принцессы Рапунцель, где люди если и какают, то в основном мотыльками. :)
Потому что такая конструкция которая в (13) живет не долго и служит в основном для отладки... Однако если даже для текста, находящегося в отладке применяется принцип из (17), то это служит всего лишь признаком самодурства применяющего.
35 ЗлобнийМальчик
 
26.10.10
17:57
(21) а, врубился. Дык тут у вас то, что ниже, иногда работает, а иногда нет - стиль вроде как плохой (надо почитать макконела), но такое допустимо . хотя я так тоже стараюсь не делать  - все таки лучше, ИМХО написать так:
СтандартнаяОбработка = Ложь;
   Если ТабличноеПоле.ТекущиеДанные = Неопределено Тогда
       //do nothing
Иначе
тут логика
   КонецЕсли;
36 Mitriy
 
26.10.10
17:57
(34) меня от такого кода, как в (13) тоже воротит...
37 ЗлобнийМальчик
 
26.10.10
17:58
(34) ну правило , которое я озвучил в (17), вроде бы зашито в CodeINspector от мелкомягких - так что это не только мое самодурство
38 ЗлобнийМальчик
 
26.10.10
17:59
(34) релиз версия и отладочная версия - это две большие версии. Я про релиз, естественно - в отладочной пусть делают что хотят
39 Живой Ископаемый
 
26.10.10
18:00
Мой пойнт не в том что это супер красиво, а в том что если мне будет удобно это применить - я применю. Хотя не именно так как в (13) а скорее написав Если 1=1 Тогда
Возврат;
КонецЕсли;

(38) Ну наконец-то. :)
40 ЗлобнийМальчик
 
26.10.10
18:01
+(34) *разницы
хотя лично я считаю, что писать надо сразу правильно - не тратится время на переписывание.
41 ЗлобнийМальчик
 
26.10.10
18:01
(39) дык вы уверены, что это в релиз не пролезет??? в одноэсии вроде бы плохой испектор кода...
42 Живой Ископаемый
 
26.10.10
18:04
2(39) я уверен в том, что сталкиваюсь постоянно с тем, что уже приходят релизы типовых, в которых есть код который должен работать правильно, но на реальных данных бывает работает НЕ правильно. и вот чтобы его отладить приходится прибегать и к (13) и к еще более гадким вещам.
43 1C-Nick
 
26.10.10
18:35
(13) очень полезна когда переменная не типизирована, а хочется интелисенс
Например в процедуру передается переменная Спр - контрагенты.
1С о типе не знает.
Делаем
Если Ложь Тогда
Спр = Справочники.Контрагенты.СоздатьЭлемент();
КонецЕсли

Дальше уже будет работать интелисенс...

Когда проект надо сдавать делаем глобальный поиск Если Ложь Тогда и мочим.
44 MRAK
 
26.10.10
18:59
(43) да, иногда удобно, особенно когда юзаешь самописный объект с туевой хучей реквизитов и ТЧ