Вход | Регистрация
    1  2  3   
1С:Предприятие :: 1С:Предприятие 8 общая

Злоупотребление методом Выполнить()?

Ø [Фрэнки, 15.06.21 - 08:13]
Злоупотребление методом Выполнить()?
Я
   masenshi
 
10.06.21 - 05:18
Есть такие кто (серьезно, существенно) программирует в режиме 1С предприятие с использованием метода Выполнить()?

Какое у кого мнение по этому поводу? Коллеги не разделяют моей любви к внешнему коду, поэтому и спрашиваю.
Понятно что не все можно так запрограммировать но тем не менее.
Для меня это удобно и быстро.
Конфа самописная на 8.3. Код хранится в справочнике. Доступ имеет только админ )
 
 Партнерская программа EFSOL Oblako
   acces969
 
1 - 10.06.21 - 05:56
Читать чужой код трудно. Отлаживать код через выполнить неудобно. Понятно почему твоим коллегам не нравится твой подход?
Имхо "Вычислить" и "Выполнить" годно для кода в нескольких инструкций, не больше.
А вот в разработке и отладке правильное применение методов очень помогает.
   ДенисЧ
 
2 - 10.06.21 - 05:59
Почти типовая не очень свежая БП3 - больше сотни вызовов Вычислить()
   DrZombi
 
3 - 10.06.21 - 06:07
(0) Ваше выполнить, еще по божески. (А если коллеги могут только Хело Ворд, ну это проблема коллег)
Вот "Оповещение", от 1С, это ваше выполнит отодвинет на второй план, если там развернуться ;)
   Prog111
 
4 - 10.06.21 - 07:27
(0) А в чем смысл и удобство такого кода? По F12 не перейти, наглядности меньше...
   DrZombi
 
5 - 10.06.21 - 07:28
(4) Гибкость настройки, когда все хотят все и одновременно ничего :)
   DrZombi
 
6 - 10.06.21 - 07:29
+(4) Вы просто устанете что-то обновлять и программировать. Динамической обновление порой тоже не фонтан, им долго не попользуешься.
   Bigbro
 
7 - 10.06.21 - 07:36
на этапе активной разработки решения - вполне себе нормально.
было время когда все активно переписываемые куски выносились во внешние текстовики и грузились через ЗагрузитьИзФайла
но рано или поздно решение должно прийти к какому-то законченному виду, за редким исключением.
тогда пользователю даются инструменты для "метапрограммирования", чтобы он мог сам модифицировать алгоритм программы выбором и заданием параметров.
когда конфу пишешь сам и для себя вполне нормально. когда с этим приходится работать другому кто не особо сталкивался с подобным - непривычно и неудобно.
   masenshi
 
8 - 10.06.21 - 07:41
(4) Удобства :
1) не надо демонически обновляться
2) пользователям не надо перезаходить в 1С
3) в конфигураторе рабочей базы всегда сидит какой-нибудь заседалец и никого не пускает,
4) Также экономлю время на получить и засунуть в хранилище.
5) Работа в одном окне но это небольшой плюс
6) ТЗ пишут на коленке и меняют по 10 раз в день, динамически обновляться столько нельзя.
   masenshi
 
9 - 10.06.21 - 07:46
(4) также
7) учишься не использовать возвраты
8) сам контролируешь свой код на синтаксис
Естественно эти модули для каких-то небольших законченных кусков кода. Ну скажем так не более примерно 100 строк. Можно описать какие-то отдельные алгоритмы, возможно плюс 1 шаг к модульности кода, т.е. когда весь код не пишешь в одной процедуры - тысячи строк кода ))
9) самое ГЛАВНОЕ- мгновенность результата , мгновенность проверки работоспособности
Наглядность возможно дело привычки
   МимохожийОднако
 
10 - 10.06.21 - 07:47
(8) п.3 вызывает сомнения. Лопатить в рабочей базе стрёмно.
   Почему 1С
 
11 - 10.06.21 - 07:49
(0) Я бы руки отрывал за такое, я понимаю есть задачи которые органично вписываются в метод выполнить вычислить, но твой подход это просто мрак.
   masenshi
 
12 - 10.06.21 - 07:50
(10) да. Сидит там кто-то весь и все отлаживает все время
   masenshi
 
13 - 10.06.21 - 07:51
(11) аргументы? почему нет?
   тук-тук
 
14 - 10.06.21 - 07:55
использование выполнить() оправдано при отладке алгоритмов на рабочей базе 
но для установившегося режима использование выполнить() - зло

без вычислить() иногда не обойтись, например для определения нужного общего модуля
   Mikeware
 
15 - 10.06.21 - 07:55
(8)
6."ТЗ на коленке и меняют 10 раз в день" - может, начать обдумывать ТЗ, а не тупо принимать к исполнению?
8. "сам контролируешь синтаксис" - ты сделаешь это быстрее и лучше встроенного механизма? если нет, то тогда зачем?
"в одной процедуры - тысячи строк кода" - за это надо отрывать руки, и вставлять их непосредственно в отверстие...
   Mikeware
 
16 - 10.06.21 - 07:56
(12) а ты тут такой опа и напрямую без отладки, внебрачный сын гени[тали]я1с...
   masenshi
 
17 - 10.06.21 - 07:57
(1)
читать чужой код трудно это причем?
Отлаживать неудобно это да. Но я отлаживаю код ну очень редко. Отладка для меня это крайний случай. По началу были проблемы но в основном в уникальности имени переменных. А дальше все как всегда.
   PuhUfa
 
18 - 10.06.21 - 07:57
(7) О да... у меня где то в архивах лежит база 77, конфа которой раскидана на множество txt файлов -)
   acht
 
19 - 10.06.21 - 07:58
(13) Потому что это хорошо только для тебя, единственного, пишущего примитив. Как только над конфигурацией начинают работать двое - тут же требуется версионирование кода для отслеживания изменений и авторства... и аляулю.
   acht
 
20 - 10.06.21 - 07:58
(17) > Но я отлаживаю код ну очень редко.
Вот-вот-вот
   acht
 
21 - 10.06.21 - 07:59
"Программист 80Lv", угу
   Mikeware
 
22 - 10.06.21 - 07:59
(11) а прикольно же? код модуля формирует динамический код. динамический код динамически формирует текст запроса...
хорошая заподлянка - можно натравить систему выполнчть, допустим, перед записью дока написанное в комментарии, начинающемся с "::::", а там написать drop database :-)
   masenshi
 
23 - 10.06.21 - 08:00
(15) бывает что меняются базовые моменты которые никак не обдумаешь. Например в условии ТЗ было написано что Вася ехал на поезде а спустя время оказалось что на самом деле Вася плыл на лодке и имя у Васи не Вася а Петя. Пример не самый лучший конечно но суть надеюсь передает
   masenshi
 
24 - 10.06.21 - 08:01
(20) отлаживаю в плане через отладчик. Если код работает как того требовалось то я его не отлаживаю. Естетсвенно проверяю но не отлаживаю через отладчик
   PuhUfa
 
25 - 10.06.21 - 08:01
(22) и динамически рисуются все формы -)
   МимохожийОднако
 
26 - 10.06.21 - 08:02
(12) Может быть, разобраться в причинах присутствия нескольких программистов в одной конфигурации рабочей базы?
   acht
 
27 - 10.06.21 - 08:02
(22) >  в комментарии, начинающемся с "::::"
и запускать это из обработчика ПриПолученииДанныхНаСервере =)
   masenshi
 
28 - 10.06.21 - 08:02
(22) пользователь не имеет право выполнять произвольный код. Весь код в справочнике. Доступ имеет только главный админ )
   МимохожийОднако
 
29 - 10.06.21 - 08:03
(23) Пример того, что "надо править в консерватории".
   Strogg
 
30 - 10.06.21 - 08:03
у Контура его модули с расширениями работают по такому принципу. Там можно целые простыни кода писать - все языковые конструкции находятся в соответствующих справочниках. Имхо, неплохой выход для тиражных решений с кучей мелких особенностей под кастомного клиента...
 
 
   Mikeware
 
31 - 10.06.21 - 08:03
(27) да есть 100500 способов стрельнуть себе в ногу...
   masenshi
 
32 - 10.06.21 - 08:04
(26) все время отлаживают что то. Ну любят ребята отлаживать и смотреть часами и искать причину почему код работает не так как хотелось изначально
   PuhUfa
 
33 - 10.06.21 - 08:04
(23) если Вася уже Петя и он уже плывет а не едет, то это уже просто другое ТЗ -)
   acht
 
34 - 10.06.21 - 08:04
(28) Понятно, распределенки у тебя тоже енет.
   МимохожийОднако
 
35 - 10.06.21 - 08:04
(28) У семи нянек дитя без глазу
   acht
 
36 - 10.06.21 - 08:04
(23) Человек перемещатеся на транспорте.
Что не так?
   Mikeware
 
37 - 10.06.21 - 08:05
(30) у контура ИсполняемыйМодуль в справочнике, а в нем уже код. Нормальный.
   МимохожийОднако
 
38 - 10.06.21 - 08:05
(32) Это просто клондайк, если за это исправно платят. Завидую )
   Mikeware
 
39 - 10.06.21 - 08:07
(36) ну там наверняка что-то типа:
Если Пользователь.Наименование="Вася" тогда Справочник.Транспорт.НайтиПоНаименованию("зеленая лодка № 27")
   masenshi
 
40 - 10.06.21 - 08:08
(16) ну у нас не настолько все сложно сколько неодназначно. чтобы писать примитивный код используя одни и те же конструкции типа Если, Цикл и т.п. не особо часто нужно прибегать к отладке.
   Strogg
 
41 - 10.06.21 - 08:10
(37) Ты, наверное, о подключаемом модуле, ссылки на каждое событие в котором натыканы в основном модуле. А есть также расширения, которые как раз находятся в справочнике расширений и содержат куски кода, которые выполняются этим самым "выполнить"...
   Mikeware
 
42 - 10.06.21 - 08:11
(41) ага, я про ПМ. Расширения не ковырял. сейчас гляну.
   masenshi
 
43 - 10.06.21 - 08:16
Изначально мне показалось очень удобным использовать код через выполнить в регламентных заданиях.
Я создаю новый элемент в своем справочнике, пишу туда код. В консоли заданий его выбираю и вуаля. Регламентое задание уже работает без обновлений, без перезапусков по заданному расписанию
Мне показалось этой дико удобно и быстро. Почему бы не пойти дальше?
   acht
 
44 - 10.06.21 - 08:18
(43) Сходи, почему нет.
"Убеждайте, убеждайте меня", оно уже жирновато.
   Mikeware
 
45 - 10.06.21 - 08:20
(44) главное, чтоб "не стало обязательным"©анекдот
   Фрэнки
 
46 - 10.06.21 - 08:21
в топике изначально задана самописка.
В условиях самописки какая в ... разница - ну будет заменено динамическое обновление на считывание кода откуда-нибудь и чего? Этот код самосгенерится что ли?!
   acht
 
47 - 10.06.21 - 08:22
(45) Дада, при Сталине за это расстреливали! =)
   masenshi
 
48 - 10.06.21 - 08:23
(19) еще хуже когда пишут не примитивный код для получения примитивного результата.
   acht
 
49 - 10.06.21 - 08:24
(46) > самосгенерится
А чо бы и нет? Обменом с центрального узла, причем частично - один элемент справочника в одном пакете, второй - в другом. Красота!
   acht
 
50 - 10.06.21 - 08:31
(48) Да можно ж всегда проще - на форуме спросить, не?
   masenshi
 
51 - 10.06.21 - 08:37
(50) Можно. Спрашивай
   acht
 
52 - 10.06.21 - 08:39
(51) Вопрос. Ты на свой вопрос в (0) ответ уже получил?
   masenshi
 
53 - 10.06.21 - 08:42
(39) встречал и такое. До сих пор работает ))
Тока было Так Если Организация.ИНН = "123456789" Тогда ФИОДиректора= "Иванов Иван Иванович"
ИначеЕсли и погнали
   masenshi
 
54 - 10.06.21 - 08:43
(52) Ты из службы поддержки форума?
   acht
 
55 - 10.06.21 - 08:48
(54) А почему ты отвечаешь вопросом на вопрос?
   Paint_NET
 
56 - 10.06.21 - 08:51
Кажется, из местных Геня подобной хернёй занимается. Кто-нибудь, позовите Геню и тащите попкорн...
   1ctube
 
57 - 10.06.21 - 08:51
Отлаживать код не удобно, признак говнокода
   masenshi
 
58 - 10.06.21 - 08:52
(55) пля. походу я общаюсь с ботом (((
   masenshi
 
59 - 10.06.21 - 08:53
(57) все говнокодят кроме меня )))
   МимохожийОднако
 
60 - 10.06.21 - 08:53
 
 
   masenshi
 
61 - 10.06.21 - 08:54
(60) как раз до топика прочитал. Ограничение не распространяется на код, прошедший аудит
   masenshi
 
62 - 10.06.21 - 08:55
(60) не нашел там запретов
   acht
 
63 - 10.06.21 - 08:55
(59) Твой говнокод - лучший!
   masenshi
 
64 - 10.06.21 - 08:59
(63) Лучший сразу после твоего
   ДедМорроз
 
65 - 10.06.21 - 08:59
Выполнить,как и ОписаниеОповещения - это некоторое подобие указателя на функцию,но очень примитивно сделано. Однако,за неимением другого приходится использовать.
Во многих случаях,вычисляемые поля в СКД,изменяемые пользователем заменяют выполнить.

А уж сбор текста запроса на лету вообще без оного.
   МимохожийОднако
 
66 - 10.06.21 - 09:01
(62) Никто не может тебе запретить шКодить ) Не переживай
   acht
 
67 - 10.06.21 - 09:03
(64) Старайся и у тебя все получится! Будешь на первом месте!
   Kassern
 
68 - 10.06.21 - 09:12
(43) регламентные задания через внешние обработки...не не слышали)
   masenshi
 
69 - 10.06.21 - 09:14
(68) не внешние обработки а внешний код
   Kassern
 
70 - 10.06.21 - 09:15
(69) а что мешает обернуть внешний код в внешнюю обработку и воткнуть ее в базу с запуском регламентного задания? Так же все динамически и никого выкидывать не надо
   BeerHelpsMeWin
 
71 - 10.06.21 - 09:16
(12) Отлаживает? В рабочей базе? А почему он все еще у вас работает?
   Kassern
 
72 - 10.06.21 - 09:19
(0) вот вы решите уволится, новый сотрудник будет долго матом крыть ваше решение, так как разобраться, что и как выполняется и какая тут логика собирая по крупицам код из справочников без возможности отладки такое себе удовольствие. Хозя заманается искать нового прога, либо ему скажут, что придется все заново переписывать.
   Kassern
 
73 - 10.06.21 - 09:20
(72) вы своим кодом просто делаете подлянку владельцу, который платит вам за ваше решение. Подумайте над этим.
   masenshi
 
74 - 10.06.21 - 09:21
(67) Ты прав. С мастером говнокода ведь не поспоришь
   masenshi
 
75 - 10.06.21 - 09:24
(70) можно вопрос, а зачем так делать?
   masenshi
 
76 - 10.06.21 - 09:25
(71) вопрос уже не моей юрисдикции )
   Kassern
 
77 - 10.06.21 - 09:25
(75) затем, чтобы не пихать свою портянку в выполнить и не писать свой велосипед. Все уже придумано и есть в БСП.
   BIP1
 
78 - 10.06.21 - 09:26
(68) Вы про самописную или про функционал бсп?:)
   Kassern
 
79 - 10.06.21 - 09:27
(78) функционал бсп
   masenshi
 
80 - 10.06.21 - 09:27
(72) я когда пришел много кода перелопатил от семерошника который не умел юзать запросы. Хотя запрос в цикле он еще умел заюзать. И ничего.
   Kassern
 
81 - 10.06.21 - 09:28
(80) вы наверное получали удовольствие от такой работы? Только по факту страдает владелец после смены спеца, решение которое можно было сделать за день, пилят месяц, потому что до этого все через одно место было написано.
   acanta
 
82 - 10.06.21 - 09:29
(80) а об этом знает ваше руководство или сам семерочник?
   Фрэнки
 
83 - 10.06.21 - 09:30
Просто на форуме еще не успели позабыть эпический срач "незаменимый Вася"
Забавно совпадение, что в исходных условиях самого первого топика как раз было обозначена привязка Васи к ДВ
   masenshi
 
84 - 10.06.21 - 09:31
(73) а если владелец всеми руками за такое решение?
   Фрэнки
 
85 - 10.06.21 - 09:33
(84) Если Владелец не возражает против злоупотребления метода Выполнить(), тогда в чем суть топика?
   Kassern
 
86 - 10.06.21 - 09:33
(84) если так, то я рад за вас, вы прям нашли друг друга.
   acanta
 
87 - 10.06.21 - 09:33
+(82) есть разница между тем, что текст запроса собирается в цикле программно, а выполняется однократно вне цикла и тем, что текст запроса прописан вне цикла, а выполняется в цикле?
   masenshi
 
88 - 10.06.21 - 09:34
(81) Получал опыт. Программиста уволили. Давайте не будем обсуждать страдания владельца. ПУскай будет так что владелец нам доверяет на 100% при любом раскладе.
   masenshi
 
89 - 10.06.21 - 09:35
(83) на всем ДВ только один Вася
   Kassern
 
90 - 10.06.21 - 09:35
(88) ну тогда все на вашей совести, но я бы не советовал так делать в продакшене, только в исключительных случаях, где этот метод подходит (например кд2)
   youalex
 
91 - 10.06.21 - 09:35
(0) "Коллеги не разделяют моей любви к внешнему коду"
Интересно, в чём это выражается /как проявляется?
   masenshi
 
92 - 10.06.21 - 09:35
(65) запрос на лету собирается или даже просто собирается это не по мне
   masenshi
 
93 - 10.06.21 - 09:37
(91) примерно как легкое недовольство ))
   Фрэнки
 
94 - 10.06.21 - 09:38
(92) Ну так открой актуальные релизы ЗУП 3 и насладись , как там сделана встроенная отчетность

И этим всем, кто недоволен "внешним кодом" тоже его покажи.
   masenshi
 
95 - 10.06.21 - 09:39
(91) но их недовольство не исключает чье-либо еще недовольство по другим поводам. Так что это скорее взаимно да и вполне нормально
   Mort
 
96 - 10.06.21 - 09:40
Есть такая специальная олимпиада - придумать _Метод_ и пользуясь властью всех им заё****ть.
Давайте обработками имитировать ООП, давайте флаг ошибки возвращать в каждой функции, давайте методы вынесем в справочник. -Кто вдруг попал к такому гуру-(или горе-)энтузиасту - убегайте.
   masenshi
 
97 - 10.06.21 - 09:41
(94) ага. И что хуже? Внешний код или запрос на лету?
   acanta
 
98 - 10.06.21 - 09:41
(93)программисты 1с народ вежливый. Для них легкое недовольство может быть серьезнее чем скандал на весь город с пожаром на центральном рынке.
   VladZ
 
99 - 10.06.21 - 09:51
(0) Ну что тебе сказать...  Каждый должен пройти свой путь.

В конце пути ты поймешь, что нет надобности тратить свое время на разработку того, что уже есть.
Решение в данном случае - это регламентные задания через внешние обработки.
   mikecool
 
100 - 10.06.21 - 10:01
(0) пользуюсь, когда надо в цикле прогнать несколько методов(типа последовательного приближения к результату)
отлаживать такое - без проблем, отладчих ходит куда нужно
  1  2  3   

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.