|
OFF: Плохой код как способ защиты своей работы | ☑ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0
eses
23.02.15
✎
17:58
|
Вот ситуация : проект 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
|
Оптимизировать, т.к. самому потом сопровождать будет проще.
А если вдруг придется уйти, то, во-первых, по своему опыту могу сказать, что еще неизвестно как сложится судьба, ведь люди их этой конторы могут за тебя поручиться-порекомендовать другим работодателям, поэтому чем лучше о себе оставишь впечатление, тем проще тебе будет по жизни. Да и с профессиональной точки зрения оптимизировать свои разработки - это только плюс тебе. Привести в порядок, оптимизировать код |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |