|
Можно ли разбить этот код на более понятные части? | ☑ | ||
---|---|---|---|---|
0
Sergei1982
24.09.12
✎
12:03
|
Участок = РегистрыСведений.РаботникиОрганизаций.СрезПоследних(КонецДня(РезЗапроса.Заявка.ДатаРегистрации),Новый Структура("Сотрудник",?(ЗначениеЗаполнено(РезЗапроса.НачальникУчастка),РезЗапроса.НачальникУчастка,РезЗапроса.Мастер)));
|
|||
1
iamnub
24.09.12
✎
12:04
|
А чо тут непонятного?
|
|||
2
Oleg_Kag
24.09.12
✎
12:05
|
Ээээ а что не понятного?
|
|||
3
pumbaEO
24.09.12
✎
12:05
|
А что тут непонятного?
Дата = КонецДня(РезЗапроса.Заявка.ДатаРегистрации) Сотрудник = ?(ЗначениеЗаполнено(РезЗапроса.НачальникУчастка),РезЗапроса.НачальникУчастка,РезЗапроса.Мастер); Участок = РегистрыСведений.РаботникиОрганизаций.СрезПоследних(Дата, Новый Струкутра("Сотрудник", Сотрудник)); |
|||
4
Sergei1982
24.09.12
✎
12:09
|
ну так это все в в одних скобках и в одной строчке. Коллега оставил додумываться.
|
|||
5
Jaap Vduul
24.09.12
✎
12:12
|
Я обычно такой код заставляю переписывать - чтобы все необходимые данные получались одним запросом.
|
|||
6
Sergei1982
24.09.12
✎
12:13
|
это как?
|
|||
7
Sergei1982
24.09.12
✎
12:13
|
как наверху коллеги написали, также?
|
|||
8
Sergei1982
24.09.12
✎
12:15
|
просто я мире программирования 1 с только пять месяцев, опыта не хватает, мягко говоря ))
|
|||
9
Maxus43
24.09.12
✎
12:16
|
(8) yну в (3) то что непонятно?
|
|||
10
Aleks73
24.09.12
✎
12:19
|
(0)Сохрани в ворд и там разбей на части и читай.
|
|||
11
Sergei1982
24.09.12
✎
12:19
|
Спасибо!!
|
|||
12
ilpar
24.09.12
✎
12:20
|
не нравится мне код в (0)
Такое пишу запросами. Любой прочитает код |
|||
13
Kashemir
24.09.12
✎
12:23
|
СтруктураОтбора = Новый Структура;
Если ЗначениеЗаполнено(РезЗапроса.НачальникУчастка) Тогда СтруктураОтбора.Вставить("Сотрудник", РезЗапроса.НачальникУчастка); Иначе СтруктураОтбора.Вставить("Сотрудник", РезЗапроса.Мастер); Конец; ДатаСреза = КонецДня(РезЗапроса.Заявка.ДатаРегистрации); Участок = РегистрыСведений.РаботникиОрганизаций.СрезПоследних(ДатаСреза ,Новый Структура("Сотрудник",СтруктураОтбора); |
|||
14
Kashemir
24.09.12
✎
12:24
|
+(13) Вроде такого
СтруктураОтбора = Новый Структура; Если ЗначениеЗаполнено(РезЗапроса.НачальникУчастка) Тогда СтруктураОтбора.Вставить("Сотрудник", РезЗапроса.НачальникУчастка); Иначе СтруктураОтбора.Вставить("Сотрудник", РезЗапроса.Мастер); КонецЕсли; ДатаСреза = КонецДня(РезЗапроса.Заявка.ДатаРегистрации); Участок = РегистрыСведений.РаботникиОрганизаций.СрезПоследних(ДатаСреза ,СтруктураОтбора); |
|||
15
ilpar
24.09.12
✎
12:27
|
Код из (0) не соответствует стандартам разработки 1С
Намекни напарнику |
|||
16
Sergei1982
24.09.12
✎
12:27
|
Спасибо, уважаемый Kashemir, так лично мне новичку гораздо понятнее!!! И по-моему действительно код красивее стал даже!
|
|||
17
pumbaEO
24.09.12
✎
12:27
|
ну еще бы "РезЗапроса.Заявка.ДатаРегистрации" в запросе сразу вычислить, хотя если это типовой запрос и надо маленькую вставку сделать, то лучше чем (0) и не придумаешь, при объединении маленькая вероятность что расползется, в отличии от Если ЗначениеЗаполненно
|
|||
18
Sergei1982
24.09.12
✎
12:29
|
ДА, что плохо в 1С , так это то, что всегда приходится сталкиваться с непонятным синтаксисом и разбираться как можешь в нем ))
|
|||
19
rs_trade
24.09.12
✎
12:30
|
(0) встречал идиотов которые думали что такой код выполняется быстрее чем многострочный.
|
|||
20
Reset
24.09.12
✎
12:32
|
// я бы ограничился так
Участок=РегистрыСведений.РаботникиОрганизаций.СрезПоследних( КонецДня(РезЗапроса.Заявка.ДатаРегистрации), Новый Структура("Сотрудник",?(ЗначениеЗаполнено(РезЗапроса.НачальникУчастка), РезЗапроса.НачальникУчастка, РезЗапроса.Мастер))); |
|||
21
Reset
24.09.12
✎
12:33
|
(19) А это, типа, не так?
|
|||
22
Reset
24.09.12
✎
12:33
|
Разница небольшая (из-за создания переменных), но она есть
|
|||
23
pumbaEO
24.09.12
✎
12:34
|
(15) в чем несоотвует, если 1С сама использует то соответствует, или имеется ввиду конструкции через 2 точки? http://screencast.com/t/vvRftuEO
|
|||
24
rs_trade
24.09.12
✎
12:38
|
(21) в режиме отладки это может иметь какое то значение, а без отладки нет. компилируется же все.
|
|||
25
Reset
24.09.12
✎
12:43
|
(24) Не ожидал от тебя такой фразы.
|
|||
26
Reset
24.09.12
✎
12:45
|
Вроде ж букварные истины как про компиляцию, так и про создание переменных
|
|||
27
rs_trade
24.09.12
✎
12:49
|
(26) пруфы в студию, что есть сколько нибудь ощутимая разница в производительности.
|
|||
28
Alex375
24.09.12
✎
12:56
|
Выиграша по производительности конечно совсем немного, но вот как насчет чистки памяти от созданных переменных? А если сборщик мусора еще и косячит, так остается "занятая" память, что совсем не есть хорошо.
Спорить тут смысла нет, так как сомневаюсь, что кто-то досканально знает как устроен компилятор 1С, сборщик мусора и прочие внутренности 1С-ки :) |
|||
29
Reset
24.09.12
✎
12:57
|
(27) Разница между чем чем и чем?
|
|||
30
Reset
24.09.12
✎
12:58
|
Я уже сказал(22) что разница минимальна. Просто задело слово "идиотов". Формально действительно код в одну строку и не использующий временных переменных - быстрее.
|
|||
31
rs_trade
24.09.12
✎
13:04
|
(30) Какой смысл считать миллисекунды? Я говорил про людей которые думали что у тебя программа реально быстрее будет работать.
|
|||
32
vmv
24.09.12
✎
13:06
|
использование оператора "?" и неявное определение состава структры приветсствую при соблюдении простых условий
1. в условии оператора "?" и переменных инициализации не должны фигурировать коллекционные данные или данные запроса, исключая метод Количество() 2. А) В значениях инициализации структуры не должны фигурировать коллекционные данные или данные запроса, исключая метод Количество() Б) Количество ключей не более 2-х, если им сопоставлены значения В) Количество ключей не более 5, если им НЕ сопоставлено ни одного значения. |
|||
33
Reset
24.09.12
✎
13:09
|
(31) Считать их или нет - это совсем другой вопрос. Но они есть, и называть нехорошо людей, которые знают про это - нехорошо. Ладно, замяли.
|
|||
34
Sergei1982
24.09.12
✎
14:42
|
Уважаемый VMV, а где про то, что Вы говорите можно почитать, может ссылка какая есть или из собственного опыта?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |