Имя: Пароль:
LIFE
Юмор
OFF: Плохой код как способ защиты своей работы
,
0 eses
 
23.02.15
17:58
1. Ничего не трогать - работает же 65% (15)
2. Привести в порядок, оптимизировать код 26% (6)
3. Навести легкий марафет, себе же удобней 9% (2)
Всего мнений: 23

Вот ситуация : проект 6-8 месяцев , всяческие перегрузки/доработки, в целом ничего особо серьезного, любой специалист 1С с подобным справится. Однако, время потрачено, результат получен, нормальное желание - начать получать деньги за обслуживание, т.е. за более легкую часть проекта.

Что имею : разрозненный код во внешних обработках, всякие правила обмена в разных частях сервера, сам код весь на костылях, понятный только мне. Вот и думаю - приводить все в порядок или не надо?
77 nva_15
 
24.02.15
09:20
Провести ревизию всего, что написано, и написать комментарии в отдельный файл. Файл оставить себе. Тогда можно будет вспомнить, что было сделано, если клиент обратится за поддержкой спустя некоторое время.

Ничего не трогать - работает же
78 Jonny_Khomich
 
24.02.15
09:35
работу надо беречь

Ничего не трогать - работает же
79 Spyke
 
24.02.15
09:41
(0) Смотря, что ты имеешь ввиду "плохой код" если как в Плохой код, у кого есть более страшные примеры тогда одназначно переделывать
80 Гёдза
 
24.02.15
10:06
Если ты фикса и делать больше нечего, то стоит заняться рефакторингом, иначе не надо
81 forforumandspam
 
24.02.15
11:46
(17)+100500
82 forforumandspam
 
24.02.15
11:47
(0) Надо быть феерическим ... , чтобы оправдывать свой г-код.
83 John83
 
27.02.15
08:43
писать на английском - желающих поддерживать значительно поубавится
84 forforumandspam
 
27.02.15
09:15
(83) А желающих оторвать уши - увеличится.
85 mTema32
 
27.02.15
10:04
Ничего не трогать - работает же
86 vde69
 
27.02.15
10:09
(83) поиск и замена рулит, часок другой и все на русском...
87 vde69
 
27.02.15
10:14
предлогаю делать так, тогда точно все будут нос воротить...


СуммаДебета = ТЗ.Количество()-1;
ВсегоОтгрузкаШТ = 0;
Для ОстаткиВВалюте = 0 по СуммаДебета Цикл
...
  ИтераторЦикла = Таб[ОстаткиВВалюте].Сумма;
  ВсегоОтгрузкаШТ = ВсегоОтгрузкаШТ + ИтераторЦикла;
  макет.Параметры.Сумма = ИтераторЦикла;
88 Explorer1c
 
27.02.15
10:25
(0) если нормальный заказчик, то надо исправить, если нет, то-

Ничего не трогать - работает же
89 uno-group
 
27.02.15
10:28
Может все дело в том что вы мало денег за разработку берете, разрабатываете за тарелку борщя с мыслей что потом еще полгода-год будете борщ на шару жрать. Разработка стоит в 3-5 раз дороже поддержки, поэтому мне ИМХО разрабатывать гораздо интересней чем протирать штаны на поддержке.
90 Explorer1c
 
27.02.15
10:29
Еще пипец недавно увидел такую тенденцию- супер прогеры( шарящие в яве. 1ске и проч.) не оставляют комментарии, пишут почти без пробелов, поидее все работает суперски. но вот когда сторонний разработчик решает что-нить там исправить по просьбе бухов, то... кроме "бэээ" могз никакой инфы не выдает)))
91 Матвеев Максим
 
27.02.15
10:30
(88) > если нормальный заказчик

как нормального от ненормального отличить?
92 Explorer1c
 
27.02.15
10:31
(91) достаточно просто спросить его- "ты нормальный?"
93 eses
 
27.02.15
10:31
(82) Почему сразу г0вн@код, есть такое понятие "костыли", из-за них код, как я его назвал, становится плохим

Пишешь вот ты что-нибудь, а потом задание или цели чуть сменились. У тебя два варианта : переписать все заново красиво, либо сделать костыль. Лично я - за второй вариант, потому что быстрый
94 eses
 
27.02.15
10:32
(90) вот никогда комментариев не оставлял, мало того - я им еще и не доверяю
95 Матвеев Максим
 
27.02.15
10:35
(5) > Для особо недоверчивых есть обфускация и пароли на модули

не помешает и православная молитва в комментариях, не каждый решиться ругать такой код или воровать его.
96 vhl
 
27.02.15
10:38
Зачем что-то менять? Тебе ведь не заплатят за это. Работать за бесплатно?

Ничего не трогать - работает же
97 vhl
 
27.02.15
10:41
(93) Все правильно делаешь, называется "костыльное программирование": http://h-80.h10.hostworks.com.ru/newspics/govnokod.jpg
98 Матвеев Максим
 
27.02.15
10:43
(96) свинарник в коде это повод снизить сумму к оплате. Если есть бардак в коде, значит есть и бардак в мыслях, что может привести к бардаку в работе программы. Гениальный человек — гениален во всем. Культурный человек - культурен во всем.
99 eses
 
27.02.15
10:43
(97) Не считаю это правильным тем не менее :)
100 vde69
 
27.02.15
10:44
(90) просто ты не видел ограничения по памяти для кода... а оно существует много где...

например в автолиспе довольно часто приходилось убивать форматирование и сливать функцию в одну строку, и менять переменные в названия типа "А132" для сокращения кода...

код разумеется абсолютно не читабелен, но это плата за виртуальную машину исполнения кода...
101 vhl
 
27.02.15
10:45
(98) ты в каком выдуманном мире живешь? Кто тебе будет там делать code review чтобы определить свинарник или нет? Работает и ладно. Все эти "гениальный ла ла ла" просто лозунги оторванные от реальности
102 eses
 
27.02.15
10:45
(98) Угу, особенно когда твоя работа зависит от чистоты мыслей других людей.
103 Андрей_Андреич
 
naïve
27.02.15
10:45
(98) Свинарник в коде в 99% случаях есть следствие свинарника в голове заказчика. Почему программист должен расплачиваться за это?
104 Матвеев Максим
 
27.02.15
10:47
(103)
> Свинарник в коде в 99% случаях есть следствие свинарника в голове заказчика.

не ищи оправданий своей нечистоплотности, не заказчик код пишет. Твоя обязанность формализовать мысли заказчика. Не способен - найми постановщика задач.
105 Матвеев Максим
 
27.02.15
10:48
(102) > (104)
106 Андрей_Андреич
 
naïve
27.02.15
10:48
(104) И кто будет оплачивать этот банкет?
107 eses
 
27.02.15
10:49
(104) Какой-то выдуманный тобою мир, реальность несколько другая. Все верно говоришь, но как правило так не получается
108 Матвеев Максим
 
27.02.15
10:49
(106) банкет и его оплата есть предмет договоренности заказчика и подрядчика.
109 Матвеев Максим
 
27.02.15
10:50
(107)
> Все верно говоришь

Давай зафиксируем это. Я говорю верно и ты сей факт признаешь.
110 vde69
 
27.02.15
10:51
(104) это реальный мир нормальных контор а не ларьков...
111 Матвеев Максим
 
27.02.15
10:53
(110) не мне это объясняй
112 Explorer1c
 
27.02.15
10:54
(111) а ты кто такой? тебя никто не знает!
113 Матвеев Максим
 
27.02.15
10:55
(112) зато я многих тут знаю и не всегда с лучшей стороны
114 Андрей_Андреич
 
naïve
27.02.15
10:56
(113) Характер неуживчивый?
115 de_aztec
 
27.02.15
11:03
Если код еще можно изменить, то вот с архитектурой решения уже толком ничего не сделаешь.
Приходишь в контору с самопиской и сидишь охреневаешь как без регистров в базе всё крутится и как редактирование одной ячейки происходит 15 минут... :(
В итоге всё приходится ломать почти на корню, у пользователей дичайший стресс, но потом всё налаживается.
Я к тому что лучше делайте лучше и дольше, но если срочно-срочно, то без костылей никак.

Привести в порядок, оптимизировать код
116 forforumandspam
 
27.02.15
11:10
Знаю одного программиста, который пишет запросы в цикле. На мои замечания он тоже говорил: "не трожь, работает-же, заказчику пофиг-же" и т.д.
117 de_aztec
 
27.02.15
11:19
(116) Знаю программиста который пишет запросы в цикле, но не считает это неправильным. Потому что у него есть статья на сайте Гилева :) а значит он гуру. В целом тот же автор базы самописки без регистров.
118 forforumandspam
 
27.02.15
11:28
Еще один случай: другой программист добавил реквизит ХранилищеЗначений в шапку документа. В этом реквизите хранились сканы бумажных документов. Сделал работу быстро, деньги получил и отчалил. Перепроведение старых периодов убило напрочь обмены. Вот бы посмотреть в глаза тому гаду....
119 Матвеев Максим
 
27.02.15
11:30
От обсуждения гнкода перешли к байкам о знакомых программистах.
120 dmpl
 
27.02.15
11:35
(91) Нормальный платит нормально.
121 dmpl
 
27.02.15
11:39
(98) Совсем не повод. Тыкаешь носом в договор и спрашиваешь - где там критерии качества кода. Нет - значит требований к качеству кода не было, исходя из этого сумма выставлена такая. Были бы критерии - было бы дороже. А в следующий раз применяешь мультипликатор 3 к стоимости для этого заказчика.
122 Vovan1975
 
27.02.15
11:41
(117) эт ты про сосипа чтоле?
123 dmpl
 
27.02.15
11:42
(116) Все верно. Когда заказчик обратится "что-то медленно работает..." ты одним движением руки рубишь кучу бабла.
124 dmpl
 
27.02.15
11:45
(118) Он надеялся срубить бабла.
125 Матвеев Максим
 
27.02.15
11:46
(121) Про договор я ничего не писал. Правильная контора может в договор включить отсылки на профстандарты программиста и на стандарты кода 1с. Двух ссылок хватит чтоб лишить части денег, а потом иди доказывай что они не правы.
126 eses
 
27.02.15
11:55
Вот как-будто никто не читает тему вообще, причем тут вообще ваши идеалы
127 Андрей_Андреич
 
naïve
27.02.15
11:56
Заказчик доволен. Программист доволен. Почему должен быть доволен еще и Матвеев Максим, который и не платил и не работал?
128 eses
 
27.02.15
11:57
Говорить про то, что писать надо красиво и брать очень мало денег похвально!
129 de_aztec
 
27.02.15
11:57
(122) хз кто это. На форуме этого человека наверное и нету.
130 John83
 
27.02.15
12:02
(84) за (0) будет не меньше
131 John83
 
27.02.15
12:02
(86) названия переменных тоже переводить?
132 dmpl
 
27.02.15
12:08
(125) Вот поэтому рулит предоплата. Сам понимаешь, что если будут дополнительные требования - сумма будет выше.

P.S. А решение может вообще прекратить работать в связи с неоплатой.
133 vde69
 
27.02.15
12:08
(128) встречал одного урода который хранил таблицы движений в строковом реквизите документа в виде "ВыгрузитьОбъектВСтроку()",

Хотя отчеты работали, данные показывались, правда не все и медлено, ну и контроля ссылочной целостности не было, и через год база вырасла и стала колом.... но ведь работало какое-то время....

вы и не представляете сколько оптребовалось времени привести более менее нормальному виду...

а ведь тот человек ушел архитектором 1с на производство... и зп себе пробил не слабое...
134 Матвеев Максим
 
27.02.15
12:15
(132)
> А решение может вообще прекратить работать в связи с неоплатой.

Забавно. Написал г-но вопреки договору, не получил за г-но деньги, обиделся и отключил поделку. Зачем тогда писать г-но?
135 dmpl
 
27.02.15
12:20
(134) В договоре описан конкретный программный продукт. Если изначально в ТЗ не было требований к коду - значит код может быть любым, и требовать уменьшения цены заказчик по надуманным предлогам не может. Если кого-то это не устраивает - это их проблемы. Так что или подписывают акт с нужной суммой, или остаются без ПП. Хотя если этап внедрения идет отдельным договором, то можно на этом этапе отбить уменьшенную сумму в кратном размере.
136 dmpl
 
27.02.15
12:21
+(134) Если ты соглашаешься на уменьшенную сумму - ты показываешь, что тебя и дальше можно нагибать. Смысл в этом?
137 vde69
 
27.02.15
12:28
(135) ты пришел в ресторан, закозал борщ, тебе принесли бурду...

в договоре нет требований по вкусу и запаху, ты обязан заплатить и съесть, а не съешь - тебе на голову выльют и за шкирку выкинут.

нравится?
138 vde69
 
27.02.15
12:29
(137) + или не так, пахнет вкусно, сверху вкусно а на дне скелет крысы лежит...
139 Матвеев Максим
 
27.02.15
12:29
(135)
> Так что или подписывают акт с нужной суммой, или остаются без ПП

сначала ты не гнешься

> Хотя если этап внедрения идет отдельным договором, то можно на этом этапе отбить уменьшенную сумму

потом тебя начинает нагибать

(136)
> Если ты соглашаешься на уменьшенную сумму - ты показываешь, что тебя и дальше можно нагибать.
140 dmpl
 
27.02.15
12:30
(137) Э, нет. На вкус - борщ, по органолептическим показателям - борщ. А то, что там сплошная гидропоника - так это уже дело ресторана. Натюрпродукт ты не заказывал.

(139) Я просто описал 2 варианта действий.
141 dmpl
 
27.02.15
12:31
+(137) И вообще, кто за борщом в Макдональдс ходит?
142 Матвеев Максим
 
27.02.15
12:32
(135) > Если изначально в ТЗ не было требований к коду - значит код может быть любым

это заблуждение. Если дело дойдет до разбирательства, припаять к делу можно и стандарты кода и профстандарты.
Котлету в кабаке могут и на пол на кухне уронить и внутренности заменить, но если клиент будет настойчив, кухню проверят и нагнут, хотя котлета теоретически сьедобна.
143 Матвеев Максим
 
27.02.15
12:34
(140) > Я просто описал 2 варианта действий.

значит ты допускаешь вариант прогиба и не против что тебя будут нагибать далее
144 dmpl
 
27.02.15
12:35
(142) Угу, только посмотрим как ты будешь бороться с обычаями делового оборота, в которых профстандарты необязательны, если это не оговорено отдельно.

(143) Меня - нет. Я без предоплаты не работаю.
145 Explorer1c
 
27.02.15
12:36
Run nigga run (Snoop dogg)
146 vde69
 
27.02.15
12:36
(140) с кодом ровно так-же, есть госты, стандарты, если иного (например "поставляется как есть") не прописано заказчик может тебя засудить...
147 Матвеев Максим
 
27.02.15
12:37
(141) > кто за борщом в Макдональдс ходит?

макдональдсом ты свой уровень определил? Спрос одинаковый, отношение разное
148 dmpl
 
27.02.15
12:37
(146) Принцип as is - стандарт дефакто для программного продукта, так что как раз ГОСТы в договоре должны прописываться отдельно, ибо они носят рекомендательный характер.
149 Матвеев Максим
 
27.02.15
12:39
(144)
> Меня - нет. Я без предоплаты не работаю.

предоплату могут и назад попросить
150 Матвеев Максим
 
27.02.15
12:40
(148)
> Принцип as is - стандарт дефакто для программного продукта

где это написано? Документ дай какой-нибудь
151 Матвеев Максим
 
27.02.15
12:41
(144) > бороться с обычаями делового оборота, в которых профстандарты необязательны

Что за обычаи такие?
152 Torquader
 
27.02.15
12:46
Если работы ведёт Франч и у него есть сертификаты, а также договор с 1С, то за плохой код его сотрудников у Франча могут быть определённые проблемы.
Если же работу ведёт "Вася Пупкин", которому просто заказали "сделать так, чтобы это было здесь", то все претензии к коду не обоснованы, просто заказчик неправильно выбрал исполнителя.
Понятно, что есть некоторые заказчики, которых правильные исполнители обходят стороной, так как если вместо ТЗ картинки и "сотрясание воздуха", то результата всё равно не будет.

Также нужно понимать, что "нечитаемый код" и "плохоотптимизированный код" - это совершенно разные вещи.

Никто не мешает написать в цикле запрос с полным сканированием таблицы, а в комментариях перед этим "чудом" написать, что здесь мы сделали неверно и есть повод оптимизировать это место.
153 dmpl
 
27.02.15
12:47
(147) Аргументы закончились и начались переходы на личности? Типовой 1Сник берет 1000-3000 в час. Эта цена в "ресторанной" аналогии уровень общепита. В ресторане на порядок дороже, т.е. требования "как в ресторане" к 1Снику могут быть только если он берет 10-30 тыс. руб. за час. Думаю, он найдет кого нанять за 3 тыр. в час, чтобы себе потом 27 тыр. забрать.

(149) Могут - через суд. Где должны будут доказать, что обычно такие требования предъявляются.

(150) Статья 721 ГК РФ.
154 Матвеев Максим
 
27.02.15
12:49
(153)
> В ресторане на порядок дороже, т.е. требования "как в ресторане"

Стандарты приготовления котлет одинаковы и в забегаловке у ашота и в пафостном ресторане
155 dmpl
 
27.02.15
12:54
(154) Однако, если ты почитаешь эти стандарты, то увидишь, что конкретных рецептов там нет, только очень общие требования, сводящиеся к тому, чтобы не причинить вреда здоровью.
156 Матвеев Максим
 
27.02.15
12:56
(153)
> Статья 721 ГК РФ.

Есть еще и правоприменительная практика. Там много интересных деталей.
http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=PSP;n=6;frame=37206
157 Матвеев Максим
 
27.02.15
12:57
(155)
> общие требования, сводящиеся к тому, чтобы не причинить вреда здоровью

нанятый эксперт может на 20 листах доказать что вред здоровью таки есть
158 dmpl
 
27.02.15
12:58
(157) А другой эксперт на 40 листах докажет что вреда нет.
159 Explorer1c
 
27.02.15
13:15
А это нормально , когда справочник при записи делает движения в регистре сведений? (не повторяютя есть проверка)
160 dmpl
 
27.02.15
13:24
(159) А почему нет? Типовой справочник ФизическиеЛица так делает.
161 Kvant1C
 
27.02.15
13:26
(159) Ты не поверишь, в УПП значения свойств объектом именно в РС и хранятся, а пишет в этот регистр как раз справочник.
162 Torquader
 
27.02.15
13:27
(159) А в чём, собственно, проблема - в восьмёрке нет периодических реквизитов, и они реализуются с помощью периодического регистра сведений.
Примеры реализации даже в методичке есть, так что говорить, что это ненормально можно только если хочется, чтобы все данные справочника жили в одной таблице.
163 Torquader
 
27.02.15
13:28
Вы ещё вспомните, что goto очень нехорошо в коде смотрится, но в некоторых случаях, переход на точку выхода через goto выглядит куда более читабельно, чем многоуровневые if-ы и прочие чудо сравнения.
164 Explorer1c
 
27.02.15
13:28
(162) ну ок. просто тут прикол один нашел думал докопаться а оказалось все нормально)
165 Torquader
 
27.02.15
13:30
(164) Ну, некоторые и при открытии формы справочника в регистр сведений пишут, так и то есть логичное объяснение для чего это делается.
166 ManyakRus
 
27.02.15
13:32
надо писать запросы по 200-600 строк текста запроса,
я так делаю :)
тогда там никто не разберётся кроме автора :)
получится "защита" своей работы :)
любой новый программист захочет его стереть :)
167 Torquader
 
27.02.15
13:33
Опять же, дело не в инструментах, а в умении ими пользоваться.
Также до сих под открытый вопрос - где хранить дополнительные свойства объектов - в регистре сведений, в табличной части справочника, в подчинённом справочнике или в хранилище значения (куда прекрасно кладётся структура) - любое решение имеет свои преимущества и свои недостатки.
168 dmpl
 
27.02.15
13:34
(163) Ага, особенно в плане закладок АНБ (вспоминаем #gotofail).
169 dmpl
 
27.02.15
13:35
(167) Можно вообще в файлах на диске хранить. Например, сканы документов.
170 Torquader
 
27.02.15
13:36
(166) У меня, обычно, написан код, который собирает код запроса из частей в зависимости от данных, а потом это исполняется и преобразуется к выводу - вот где "чёрт ногу сломит".
171 Explorer1c
 
27.02.15
13:36
А такой код запроса как зацените?

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Запрос3.НоменклатурнаяГруппа,
    Запрос3.База,
    Запрос3.СчетЗатратБУ
ИЗ
    (ВЫБРАТЬ
        Способы.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
        СУММА(Способы.Коэффициент * (Нормы.ПотреблениеВДневныеЧасы * Нормы.ТарифВДневныеЧасы + Нормы.ПотреблениеВВечерниеЧасы * Нормы.ТарифВВечерниеЧасы + Нормы.ПотреблениеВНочныеЧасы * Нормы.ТарифВНочныеЧасы)) КАК База,
        Способы.СчетЗатратБУ КАК СчетЗатратБУ
    ИЗ
        Справочник.ПеречениАктивов.Активы КАК Активы
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчет.СрезПоследних(&ДатаДокумента, Организация = &Организация) КАК СпособыОтражения
                ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                    КоэффициентыСпособовОтраженияОбщейЗадействованности.СпособОтражения КАК СпособОтражения,
                    КоэффициентыСпособовОтраженияОбщейЗадействованности.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
                    КоэффициентыСпособовОтраженияОбщейЗадействованности.СчетЗатратБУ КАК СчетЗатратБУ,
                    КоэффициентыСпособовОтраженияОбщейЗадействованности.Коэффициент КАК Коэффициент
                ИЗ
                    РегистрСведений.КоэффициентыСпособовОтраженияОбщейЗадействованности КАК КоэффициентыСпособовОтраженияОбщейЗадействованности
                ГДЕ
                    КоэффициентыСпособовОтраженияОбщейЗадействованности.Месяц = &Месяц
                    И КоэффициентыСпособовОтраженияОбщейЗадействованности.Коэффициент <> 0) КАК Способы
                ПО СпособыОтражения.СпособОтраженияРасходовПоАмортизации = Способы.СпособОтражения
            ПО Активы.Ссылка.Организация = СпособыОтражения.Организация
                И Активы.Актив = СпособыОтражения.ОсновноеСредство
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РУ_НормыРасходовНаЭлектроэнергиюОС.СрезПоследних(&ДатаДокумента, Организация = &Организация) КАК Нормы
            ПО Активы.Актив = Нормы.ОсновноеСредство
                И Активы.Ссылка.Организация = Нормы.Организация
    ГДЕ
        Активы.Ссылка = &Ссылка
        И Активы.Ссылка.Организация = &Организация
        И Способы.НоменклатурнаяГруппа <> НЕОПРЕДЕЛЕНО
    
    СГРУППИРОВАТЬ ПО
        Способы.НоменклатурнаяГруппа,
        Способы.СчетЗатратБУ
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        Способы.НоменклатурнаяГруппа,
        СУММА(Способы.Коэффициент * (Нормы.ПотреблениеВДневныеЧасы * Нормы.ТарифВДневныеЧасы + Нормы.ПотреблениеВВечерниеЧасы * Нормы.ТарифВВечерниеЧасы + Нормы.ПотреблениеВНочныеЧасы * Нормы.ТарифВНочныеЧасы)),
        Способы.СчетЗатратБУ
    ИЗ
        Справочник.ПеречениАктивов.Активы КАК Активы
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчет.СрезПоследних(&ДатаДокумента, Организация = &Организация) КАК СпособыОтражения
                ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпособыОтраженияРасходовПоАмортизации.Способы КАК Способы
                ПО СпособыОтражения.СпособОтраженияРасходовПоАмортизации = Способы.Ссылка
                    И (НЕ Способы.Ссылка.ОбщаяЗадействованность)
            ПО Активы.Ссылка.Организация = СпособыОтражения.Организация
                И Активы.Актив = СпособыОтражения.ОсновноеСредство
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РУ_НормыРасходовНаЭлектроэнергиюОС.СрезПоследних(&ДатаДокумента, Организация = &Организация) КАК Нормы
            ПО Активы.Актив = Нормы.ОсновноеСредство
                И Активы.Ссылка.Организация = Нормы.Организация
    ГДЕ
        Активы.Ссылка = &Ссылка
        И Активы.Ссылка.Организация = &Организация
        И Способы.НоменклатурнаяГруппа <> НЕОПРЕДЕЛЕНО
    
    СГРУППИРОВАТЬ ПО
        Способы.НоменклатурнаяГруппа,
        Способы.СчетЗатратБУ) КАК Запрос3
ГДЕ
    НЕ Запрос3.База = НЕОПРЕДЕЛЕНО
172 Torquader
 
27.02.15
13:39
Даже в типовом ЗУПе есть запросы и посложнее.
173 Torquader
 
27.02.15
13:39
И вообще, ребята, конкурс - "давайте померяемся говн.кодом" - это не есть хорошо.
174 dmpl
 
27.02.15
13:41
(170) В лучших традициях - код с кусочками запроса в разных модулях?
175 dmpl
 
27.02.15
13:46
(171) Активы.Ссылка.Организация - первый кандидат на тормоза при исполнении запроса, я бы отдельным запросом эту таблицу получил, чтобы организация через 1 точку получалась... А так - запрос как запрос.
176 Iron
 
27.02.15
13:56
Оптимизировать, т.к. самому потом сопровождать будет проще.
А если вдруг придется уйти, то, во-первых, по своему опыту могу сказать, что еще неизвестно как сложится судьба, ведь люди их этой конторы могут за тебя поручиться-порекомендовать другим работодателям, поэтому чем лучше о себе оставишь впечатление, тем проще тебе будет по жизни.
Да и с профессиональной точки зрения оптимизировать свои разработки - это только плюс тебе.

Привести в порядок, оптимизировать код
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший