Имя: Пароль:
JOB
Работа
Бывает кодер, бывает копро-кодер, а бывает просто вредитель.
Ø (Волшебник 14.03.2023 10:25)
0 mr_K
 
01.02.23
23:41
С таким сталкиваюсь впервые. Простая обработка, грузит данные из Excel в табличную часть. Из Excel сырое чтение в ТЗ, потом уже обработка полученных данных и загрузка в ТЧ
Попросили немного доработать. Начал смотреть и сказать, что офигел - значит ничего не сказать.
Вот выдержки из "шедевра":

Функция ЗаполнитьТЧ(ТЗ)

....
    Для Сч = 1 По ТЗ.Количество() - 1 Цикл
        
        СтрокаТЗ = ТЗ[Сч];
        
        НовСтрока = Объект.ТаблицаОсновное.Добавить();
        НовСтрока.Номенклатура = ПолучитьНоменклатуру(СтрокаТЗ.Наименование);
        ПодборЕденицыИзмерения(ТЗ, НовСтрока);
        
    .....
    КонецЦикла;
.....
КонецФункции


Функция ПодборЕденицыИзмерения(ТЗ, НовСтрока)
    
    Для Сч = 1 По ТЗ.Количество() - 1 Цикл
        
        СтрокаТЗ = ТЗ[Сч];
        Для Каждого Стр ИЗ Объект.ТаблицаОсновное Цикл
            
            Запрос = Новый Запрос;
            Запрос.Текст =
            "ВЫБРАТЬ
            |    УпаковкиЕдиницыИзмерения.Ссылка КАК Ссылка,
            |    УпаковкиЕдиницыИзмерения.Наименование КАК Наименование,
            |    УпаковкиЕдиницыИзмерения.ЕдиницаИзмерения КАК ЕдиницаИзмеренияНаименование
            |ИЗ
            |    Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиЕдиницыИзмерения
            |ГДЕ
            |    УпаковкиЕдиницыИзмерения.Владелец = &Владелец
            |    И УпаковкиЕдиницыИзмерения.ЕдиницаИзмерения.Наименование = &Наименование";
            Запрос.УстановитьПараметр("Владелец", Стр.Номенклатура);
            Запрос.УстановитьПараметр("Наименование", СтрокаТЗ.N4);
            РезультатЗапроса = Запрос.Выполнить();
            ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
            
            Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
                
                ЕденицыИзмеренияЗапроса = ВыборкаДетальныеЗаписи.ЕдиницаИзмеренияНаименование;    
                НовСтрока.ЕдИзм = ЕденицыИзмеренияЗапроса;
                
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;
    
КонецФункции // ПодборЕденицыИзмерения()

Спрашиваю у пользователей, и это работало?? Да, говорят. Только большие файлы приходилось разбивать на много маленьких, чтобы было не больше 50 строк, иначе виснет.
Еще бы оно не висло, при таком коде.

Как мне это развидеть и что сделать с программистом, который это наваял?
1 Builder
 
01.02.23
23:45
Первый раз, да?
2 mr_K
 
01.02.23
23:50
такое, да. Впервые.
Я тут людей ищу, собеседую, умные вопросы задаю. А ведь этого чела тоже взяли на работу.Во франчайзи ёклмн. А его к компьютеру вообще подпускать на пушечный выстрел нельзя.

ааааа! от этого франча у меня доработок дофига. полный код ревью?
3 Волшебник
 
модератор
01.02.23
23:52
пишется "единицы"
4 mr_K
 
01.02.23
23:54
(3) это уже настролько не существенно, что даже пофик. хоть иденицы. хотя глаз и от этого дергается). привел выдержку кода в неизменном состоянии.
5 Aleksey
 
01.02.23
23:55
А в чем вредительство?
Если у адвокатов есть клиенты которые их всю жизнь кормят, то почему у франча не быть клиенту которому всю жизнь можно оптимизировать код и кормиться?
6 Волшебник
 
модератор
02.02.23
00:06
(4) А зачем нам это здесь? Ну найди его и посвети лампой в глаза, подари книгу "Чистый код".
7 mr_K
 
02.02.23
00:09
Контент жи...
8 Волшебник
 
модератор
02.02.23
00:19
Я вот недавно прочитал вот эту книгу
https://www.litres.ru/robert-s-martin/chistaya-arhitektura-iskusstvo-razrabotki-program-39113892/
9 H A D G E H O G s
 
02.02.23
00:26
У вас просто комп слабый, вот и нервничаете
10 Злопчинский
 
02.02.23
00:58
кодер....
словов-то напридумывали...
"погромист 1С"
11 Злопчинский
 
02.02.23
01:03
(0) работает же...
условно: может быть там клиент выставил бюджет 500 рублей. а настоящий программист за 500 рублей должен даже немножко вредить...
12 ГдеСобака Зарыта
 
02.02.23
01:21
Это разве вредительство? Вот у меня на прошлой работе франч сделал обработку загрузки документов из файла. Обработка удаляла за период из файла существующие документы если были и создавала новые. И работало все пару лет, пока случайно бух не выбрал не тот файл и обработка не найдя период в файле удалила все документы которые были в базе. Вот это я понимаю, а у вас так цветочки
13 Prog111
 
02.02.23
05:42
(0) Раз франч - то написал в 90% случаев студент-практикант. Работает ведь. Проблема только в производительности.
14 Chai Nic
 
02.02.23
06:57
(0) А что не так? Ну да, не оптимально. Но относительно "разбивать на 50 строк" -  не верю. Тормозит точно не по причине запроса в цикле. Такой запрос даже в цикле выполняется моментально, потому что индекс по владельцу есть в любом случае.
15 Chai Nic
 
02.02.23
07:01
(14) А, понял. Там при добавлении каждой строки пересчитывает весь документ. Это жесть, конечно.
16 Андрей_Андреич
 
naïve
02.02.23
07:06
Если программист начинает с того, что хает предыдущего - гнать его в три шеи
17 Обработка
 
02.02.23
07:06
(0) Сочувствую. И не такое увидишь.
Это называется го**код!
18 Bigbro
 
02.02.23
07:25
это еще что... франчи доработки за 5 копеек
я в подобном стиле переделывал в САПчике код который внедряла топ-контора партнер САПчика в России.
где была громадная хренотень работавшая 4+ часа, с историей в 70 правок, 12 разными программистами. за 3,5 года.
19 НафНаф
 
02.02.23
07:32
Думал ветка про гения
20 Amra
 
02.02.23
07:44
(19) Не исключено
21 НафНаф
 
02.02.23
07:47
Как же меня напрягают эти циклы в 1С, в том числе вложенные, после работы с LINQ в C#
22 Архитектор_1С
 
02.02.23
07:52
(0) 1) Слишком мало вложенных циклов, в которых есть запросы.
2) В запросах надо обращаться к реквизиту минимум через 10 точек, а не через две.
3) В запросе правильно наложены ограничение через ГДЕ, потому что предварительный отбор в скобочках приводит в замешательство начинающих программистов.
4) Надо еще добавить запись всех действий в регистр сведений (типа журнала) и вывод сообщений об успешной обработки каждой строчки из Эксель
23 hockeyist
 
02.02.23
08:01
(16) Ну зачем же сразу гнать! Неопытный еще. Пообтешется, научится
24 Архитектор_1С
 
02.02.23
08:05
(22) Не, запись всех действий не в регистр сведений, а в справочник (для ускорения). Я видел как один крупный франч использовал вместо документа справочник, при записи которого происходила запись в регистры.
25 Архитектор_1С
 
02.02.23
08:06
(16) С завода уходит старый начальник. На его место приходит другой. Предыдущий даёт приемнику три конверта и говорит:
- Вот тебе три конверта. Если будет плохо - открой 1-ый конверт. Если будет очень плохо - открой 2- ой конверт. А если будет совсем плохо - открой 3-ий конверт.

Нынешний директор завода положил конверты в сейф. Проходит два года. У новичка ничего не получается. Он волнуется, как бы его на первом собрании не уволили. Нынешний директор вспоминает про сейф с конвертами. Открывает первый. Там написано: "Вали на меня". Директор приходит на собрание, работники ругаются. На что директор говорит:
- Я тут не причём, господа. Это всё ваш предыдущий. Это ещё после него так осталось.
Работники поверили, успокоились.

Прошли ещё два года. Дела снова стали не ладится. Руководитель стал беспокоится - всё, его точно выгонят. Он открывает 2-й конверт. Там написано: "Делай модернизацию". На собрании был сильный шум. Ругань со всех сторон. Руководитель:
- А я что говорю, господа. Что было при прошлом руководителе устарело. Нужно всё обновить.
Дела опять пошли в гору. Новинки стали улучшать ситуацию.

Прошло ещё четыре года. Производство стало рушится окончательно. Опасаясь, что его уже точно выгонят, руководитель открывает третий конверт. А там написано: "Готовь три конверта и оставляй их своему приемнику".
26 Irbis
 
02.02.23
08:08
>> "Готовь три конверта и оставляй их своему приемнику"

Всё таки наверное "преемнику", зачем железке три конверта?
27 Архитектор_1С
 
02.02.23
08:16
(26) Сейчас приемники с ИИ, распознаванием текста, речи и как говорят уже более 50 последних лет - заменят программистов
28 KJlag
 
02.02.23
08:24
(15) не то что весь документ, там зачемто пересчитывается вся ТЗ, для каждой строки ТЗ вся ТЧ документа
29 Архитектор_1С
 
02.02.23
08:24
(26) Алиса, готовь три конверта и запусти мой плейлист)
30 Fish
 
02.02.23
08:25
(0) Но ведь работало же? Обычный код для франча, ничего удивительного.
31 d4rkmesa
 
02.02.23
08:25
(27) Читал статью на Инфостарте, по поводу ChatGPT и 1С. Субъективно - пока это код на уровне (0) . Разумеется, с такой шумихой это уже не кажется фантастикой. Интересно, будет ли 1С использовать Инфостарт для обучения своего ИИ?
32 Архитектор_1С
 
02.02.23
08:28
(31) Не знаю насчет Инфостарта, но Мисту точно будет
33 NorthWind
 
02.02.23
08:29
Забавно, что вакухи когда читаешь - там куча страшных слов, не подойди. А на практике имеем то, что в (0).
34 ilkoder
 
02.02.23
08:29
Иногда после оптимизации выясняется, что что-то показалось бредом и убрали или переделали для скорости, а есть нюанс, и начинают звонить, что обработка выдает фигню, и без этого бреда вылезают ошибки, про которые не знали оптимизаторы
35 Архитектор_1С
 
02.02.23
08:29
(31) И что точно почерпнет ИИ из Мисты, что ему надо: "Вооооон из профессии!"
36 Pprog151713
 
02.02.23
08:30
Ну в цикле единицу ищет ну и фиг с ним. Не так уж и ХРЕНОВО. Про 50 строк из-за этого лажа. Тормозит явно не из-за этого.
37 АгентБезопасной Нацио
 
02.02.23
08:33
(0) это называется "франч оБЫКновенный".
38 Обработка
 
02.02.23
08:34
Силу правильного кода я почувствовал когда начинал в 1С. Обработка который длится 40 минут (расчет ЗП для 2000 сотров на заводе на 1с 77) у меня после оптимизации стала выполняться в 2-3 минуты.
39 NorthWind
 
02.02.23
08:35
(36) ну почему же лажа. Мы ведь не знаем, сколько раз вызывается код на каждую строку и какие там строки.
40 Архитектор_1С
 
02.02.23
08:36
(38) Я силу Эксель почувствовал, когда при помощи макросов, сократил 3-дневную работу в три минуты))
41 Pprog151713
 
02.02.23
08:37
(39) Так он про 50 строк говорит. Даже не 1000
42 Архитектор_1С
 
02.02.23
08:38
(40) Силу макросов
43 NorthWind
 
02.02.23
08:38
(41) он говорит про обработку файла в 50 строк, но при этом не конкретизируется, что за файл и какие там строки. Может, там в каждой строке номенклатура через запятую и строки длиной 100500 символов. Мы не знаем об этом.
44 Архитектор_1С
 
02.02.23
08:42
(43)  если быть точным то 32 767 символов
45 Pprog151713
 
02.02.23
08:45
(43) Ну я бы переделывать не стал. Работает и хрен с ним.
46 Bigbro
 
02.02.23
08:48
(34) знакомо ))
особенно весело было когда после 5 лет метаний и десятков изменений в коде (все в истории есть) вернулись ровно к тому с чего начинали ))
47 Архитектор_1С
 
02.02.23
08:49
(45) А я бы взял еще бы 2 работы себе допом к основной, если смогли держать в штате такого программиста, значит я смогу работать на 3-х работах))
48 Архитектор_1С
 
02.02.23
08:50
(46) Потому что это магия...
49 АгентБезопасной Нацио
 
02.02.23
08:59
(38) из моей переписки с франчем федерального уровня (они кое-что дописывали для одногоиз наших поставщиков-производителей). "историческая выгрузка" работала более двух суток, по оценке обработанных данных ей надо было молотить 120 часов.  
----
>>"Более 7 млн. строк в наборе данных это очень много.
Да не очень. Если просто написать так, как во вложении - работает 26 минут.  Долго, но все-таки не 120 часов, правда?
Это тупо, "в лоб", но больше я время на вас тратить не буду.
---
>>Рекомендую выполнить историческую выгрузку по периодам не более 1 месяца.
"лучше день потерять, а потом за час долететь!"© КНХ
Нормально сделать, и не насиловать железяку, пусть она и железная
---
50 Архитектор_1С
 
02.02.23
09:01
(49) Мужик идет по пустыне, изнывая от жары и жажды, вдруг видит, лампа лежит. Он ее потер, а оттуда джин вылетает:
- Что прикажешь, мой Господин?
- Хочу домой!
- Ну, пошли...
- Нет, ты не понял, я быстро хочу!
- Ну, тогда побежали!
51 Smit1C
 
02.02.23
09:02
(0) может это была первая обработка какого-нибудь джуна?....
52 Архитектор_1С
 
02.02.23
09:04
(51) Приблизительно такую же обработку сделал знакомый мне джун, но выпускник Бауманки
53 Smit1C
 
02.02.23
09:06
(52) неверное с отличием ещё и закончил ? ))
54 mikecool
 
02.02.23
09:06
(6) +1
автор - выпей смузи и успокойся
55 Кот16
 
02.02.23
09:07
(40) я месячную работу в дневную превратил с помощью макросов. После чего понял, что фактически заменил программой сам себя и побежал на программиста переучиваться.
56 Архитектор_1С
 
02.02.23
09:08
(53) Нет, без отличия, но на дневном учился
57 Конструктор1С
 
02.02.23
09:09
(0) Г1С одобряет
58 Конструктор1С
 
02.02.23
09:11
>>что сделать с программистом, который это наваял?

Выгнать обратно в сантехники. Ну или откуда он там пришел в 1с?
59 Smit1C
 
02.02.23
09:12
(58) может он уже исправился.
60 Smit1C
 
02.02.23
09:16
И в самой Фирме 1С есть намного более сильные вредители.
Из недавнего: блокировка входа в конфигуратор, ложное срабатывание системы защиты, вылет конфигуратора при обновлении....
61 Irbis
 
02.02.23
09:16
(58) или выгнать начальника который его с испытательного срока не уволил?
62 Архитектор_1С
 
02.02.23
09:17
(60) И сброс данных из реквизита в расширении
63 Архитектор_1С
 
02.02.23
09:18
(61) Так 90% начальников надо выгонять
64 Pprog151713
 
02.02.23
09:19
Мелкая ошибка, какие начальники.
65 Irbis
 
02.02.23
09:19
(63) А ты думаешь начальники не косячат? Только в путь, я и сейчас запросто какую-нибудь второстепенную херню могу подписать, особенно когда смысла в моей визе нет. По принципу: я не гинеколог, но посмотреть могу.
66 Irbis
 
02.02.23
09:22
(64) мелкая или не мелкая — это всё равно, можно под мелкоскопом рассмотреть. Например, а не было ли умысла нанести вред конторе в действиях программиста. А может есть ещё и коррупционная составляющая (кто-то проплатил такой код). Безопасники всё это могут пару месяцев тщательно расследовать, с написанием горы макулатуры, и потом согласиться, что умысла не было, ущерб несущественный или отсутствует, но основания для взысканий имеются.
67 Архитектор_1С
 
02.02.23
09:24
(65) Начальники и не должны разбираться в моем коде. Как то мне начальник сказал, что он бы мою работу сделал бы за 1 час, я ему: "Сделай". В итоге он не сделал и за неделю. И он успешно продолжает работать начальником. Кстати, этот начальник закончил с красным дипломом самый крутой технический ВУЗ у себя в стране, и действительно он был самый разбирающийся ИТ-ник среди всех начальников которые я встречал.
68 Fish
 
02.02.23
09:25
(66) Да какой тут умысел? Обычная работа франча. Контора заплатила, франч сделал. Работает - все довольны, акты подписаны и претензий быть не может.
69 Архитектор_1С
 
02.02.23
09:27
(66) За каждый баг на проде надо сажать на 10 лет!))
70 Архитектор_1С
 
02.02.23
09:27
(69) А за баг на тесте давать условку!
71 Kassern
 
02.02.23
09:28
(0) Обратитесь к франчу, если до сих пор с ним работаете, пускай переписывают. Можете их проект менеджеру скинуть этот кусок, думаю, они пойдут на встречу.
72 ASU_Diamond
 
02.02.23
09:29
Сколько раз работали с франчами всегда было: скорость обработки в требованиях не указывалась
А то что с такой скоростью работать невозможно это их не волнует
73 ASU_Diamond
 
02.02.23
09:29
(71) И что? Прокатывало?
74 Kassern
 
02.02.23
09:30
(73) Когда я работал во франче, то как-то договаривались, когда наши косячили. Если это постоянный клиент, то зачем из-за пустяка, конфликт создавать?
75 Kassern
 
02.02.23
09:31
По уму это должны были заметить приемщики на стадии принятия работ.
76 Irbis
 
02.02.23
09:31
(68) Это по вашему так, а если расследовать всякое может всплыть.
77 Архитектор_1С
 
02.02.23
09:33
(76) Интересно сколько людей пойдут в ИТ после реальной посадки программиста в тюрьму за баг в обработке?
78 Irbis
 
02.02.23
09:33
(77) Миллионы, ибо даже когда за воровство вешали, воришки не переводились.
79 ASU_Diamond
 
02.02.23
09:34
(75) Да-да, нам то же пели, что все программы тестируются, проверяются. Но отдавали программы которые даже не запускались
80 Kassern
 
02.02.23
09:34
(77) Столько же и пойдут. Например, если программист умышленно изменил программу, которая контролирует пром. технику, что привело к гибели на производстве, то думаю никаких вопросов не будет, если умысел будет доказан.
81 Архитектор_1С
 
02.02.23
09:35
(80) А как узнать умышленно или нет?
82 ASU_Diamond
 
02.02.23
09:35
(77) Ну так-то, если это не фикси, а франч, то там преступление в группе, там не только погромист пойдет
83 Fish
 
02.02.23
09:35
(76) Ты можешь фантазировать сколько угодно. Но в реальности если работа сдана и имеются подписанные акты, то в суде твои претензии не прокатят. На момент сдачи работы обработка работала. А если у заказчика изменились данные так, что обработка перестала работать - то это уже новая доработка, т.к. в первоначальном ТЗ наверняка не оговаривалось, что обработка должна работать вечно при любых изменениях данных.
84 Kassern
 
02.02.23
09:35
(79) Вы не поняли, заказчик должен был на своей стороне проверить продукт и принять его, если все устраивает. Тут походу дали тете Клаве, она 1 файлик мелкий загрузила, который давала не тест франчу и все, сказала работает.
85 Kassern
 
02.02.23
09:36
(81) Следствие разберется, не переживайте.
86 Fish
 
02.02.23
09:36
(81) Посветить лампой в лицо :)
87 Архитектор_1С
 
02.02.23
09:37
(85) Ну тогда приведенный в (0) код лет на 5 светит?
88 АгентБезопасной Нацио
 
02.02.23
09:38
(75) знаешь, в том же, гкхм, "продукте", что в (49) был еще один косячок - там что-то тива цикла с проверкой вхождения в массив, не помню уже. Короче,  О-в-кубе. На небольших данных, типа дня - отрабатывала влет. на неделе - существенно тормозила. на месяце - работало довольно долго. на годе - можно было и не дождаться...
Я это к чему: сделали "в лоб", проверили на "малых данных", и успокоились..
89 Kassern
 
02.02.23
09:39
(87) Тут он безобидный. Просто отрабатывает не оптимально. То, что надо сделать, я написал выше.
90 Garykom
 
02.02.23
09:39
(0) Прикольный код
91 ASU_Diamond
 
02.02.23
09:39
(87) А там есть баг? Работает же без ошибок
92 Kassern
 
02.02.23
09:40
(88) Ну вот, получили бесценный опыт, следующие работы будут проверять на объемах по больше)
93 rphosts
 
02.02.23
09:41
(55) кот переловивший вусех мышей и ставший не нужным...
94 Garykom
 
02.02.23
09:41
(92) У меня недавно был бесценный опыт
Оказывается сервер 1С рубит длительные серверные вызовы (хз где это в настройках) которые более часа
Пришлось разбивать на несколько
95 Архитектор_1С
 
02.02.23
09:42
(89) "Тут он безобидный. Просто отрабатывает не оптимально."
Вы покрываете преступника? Когда мы стремимся обогнать Америку, промедление смерти подобно!
Вам за соучастие 10 лет с конфискацией!
96 Garykom
 
02.02.23
09:42
(94)+ Сам хотел переделать на фоновых но сказали не надо
97 Kassern
 
02.02.23
09:43
(95) Преступником он может стать только по решению суда, он даже обвиняемым не является, о чем речь вообще?
98 Архитектор_1С
 
02.02.23
09:43
(97) Да ты не уймешься? Расстрел на месте!
99 Kassern
 
02.02.23
09:44
(94) "1. При разработке конфигураций следует избегать длительных вызовов из клиентского кода в серверный. Все длительные серверные вызовы, которые могут выполняться более 8 секунд в обычных сценариях работы пользователя, следует выполнять асинхронно, с помощью фонового задания."
https://its.1c.ru/db/v8std/content/642/hdoc
100 Garykom
 
02.02.23
09:48
(99) "Следует избегать" <> "Обрубает нафик с ошибкой и 1С падает"
101 АгентБезопасной Нацио
 
02.02.23
09:49
(98) "смерть через макумбу!"©
102 tesei
 
02.02.23
09:50
(0) (4) еденицы, иденицы - как это развидеть?
103 Kassern
 
02.02.23
09:51
(100) Теперь вы понимаете почему "Следует избегать"))
А по факту, я лишь встречал проблемы с 32х, там с ограничением памяти была проблема 4гб (вроде) доходил процесс 1с и выкидывал с ошибкой памяти. На 64х серверах 1с не было проблем с длительными серверными вызовами. 1ска дает возможность ограничивать их на уровне кластера.
104 АгентБезопасной Нацио
 
02.02.23
09:51
(94) "более часа" на сервере - это жестоковато... Это надо что-то в консерватории поправлять...
105 Garykom
 
02.02.23
09:53
(103) Но это неправильно что клиент 1С падает целиком с предложением перезапуска
106 Kassern
 
02.02.23
09:54
(105) У себя на тесте пробовали запускать, так же падает? Имхо это что-то у клиента коряво отрабатывает.
107 Ногаминебить
 
02.02.23
09:54
Делов то...
Функция ПодборЕденицыИзмерения явно просто взята из другого куска кода. Там была обработка всего документа, ну так и оставили раз все равно работает.
108 tesei
 
02.02.23
09:55
Лет 13 назад, грузил данные в УТ 10.3 из само-писки. Единый справочник Юр.лица грузил в Организации и Контрагенты, мух от котлет далее клиент сам отделял. Так вот, некоторое обычное действие в УТ, типа проведения поступления, не помню точно, делалось очень долго. Залез в код - а там цикл по организациям, а внутри него - запрос к рег. свед. Учетная политика. И это типовая конфигурация, заметьте!
109 Архитектор_1С
 
02.02.23
10:00
(97) "Преступником он может стать только по решению суда, он даже обвиняемым не является, о чем речь вообще?"
Как то я начал говорить ППС-нику про Закон, на что он мне ответил: "Ты че, самый умный? Я тебя тогда сейчас за хулиганство закрою"))
110 Garykom
 
02.02.23
10:02
(106) Это именно у себя а не у клиента
111 Garykom
 
02.02.23
10:02
(107) функция кривая же
зачем запрос в цикле когда можно в него всю ТЧ отправить и разом заполнить?
112 Garykom
 
02.02.23
10:03
(111)+ а вызывая эту функцию еще в цикле получился запрос в двойном цикле ))
113 Kassern
 
02.02.23
10:03
(110) Я прост не припомню, чтобы выкидывало. Как-то разово перегружал документы и вроде все норм.
114 Kassern
 
02.02.23
10:03
(111) (112) Он просто предположил, как такой код мог появиться на свет.
115 Garykom
 
02.02.23
10:04
(113) возможно перезапуск rphost вот и падает
116 Kassern
 
02.02.23
10:04
Ведь вручную в трезвом уме такое вряд ли получится написать) Это просто тупой копипаст кусков имхо.
117 Kassern
 
02.02.23
10:05
(115) Думаю, можно в кластере поковыряться и настроить, чтобы не выкидывало.
118 Garykom
 
02.02.23
10:05
(115)+ у меня аналогично давно падал типовой код в БП удаление помеченных
но без падения клиента ибо фоновое падало
119 Garykom
 
02.02.23
10:05
(117) это уже не ко мне
120 АгентБезопасной Нацио
 
02.02.23
10:07
(111) ну не далее как неделю назад была тема, в которой делали точно так же.
121 Kassern
 
02.02.23
10:08
(120) ага, я как раз и писал как нужно сделать, надеюсь ТС прислушалась)
122 АгентБезопасной Нацио
 
02.02.23
10:09
(116) ты же  сам подсказывал Юле. Думаешь, она вечно пьяная?
123 Kassern
 
02.02.23
10:10
(122) У нее не было такого косяка как в (0). Там на порядок было лучше, но все равно не оптимально.
124 АгентБезопасной Нацио
 
02.02.23
10:11
(121) вряд ли. если она имея опыт работы с 1с более 15 лет так пишет - то ей уже ничего не поможет. Это навсегда. Ошибка сам знаешь где...
125 dmpl
 
02.02.23
10:22
(0) Обычный франчевый код. Чтобы потом за оптимизацию еще денег взять.
126 dmpl
 
02.02.23
10:25
(2) Вы требования к производительности в ТЗ включили? Нет? Ну так сами виноваты. Контрольный пример проходит - вот, подписывайте акт.
127 mr_K
 
02.02.23
10:31
(113) В тройном :) Сложность N^3, или даже N^N
там еще супер код, внутри. Строку вида 03.02.2022 переводим в дату с помощью функции:
Функция ПреобразоватьИзСтрокиВДату(Знач СтрокаДаты)
    Перем ScrptCtrl, OutDate;
  
    Попытка
        ScrptCtrl = Новый COMОбъект("MSScriptControl.ScriptControl");
        ScrptCtrl.Language="vbscript";
        OutDate = ScrptCtrl.Eval("CDate(""" + СтрокаДаты + """)");
        Возврат OutDate;
    Исключение
        //Сообщить(ОписаниеОшибки());
    КонецПопытки;
  
    Возврат СтрокаДаты;

КонецФункции

(126)
тут предположили, что функцию просто взяли уже готовую и применили, наверное так, хотя и функция тоже криво написано. Иначе не объяснить, зачем для установки реквизита в одной строке приемника, перебирать в цикле все строки источника, а внутри этого цикла еще раз дополнительно все строки приемника.
128 dmpl
 
02.02.23
10:33
(35) Что надо дурацкий вопрос запостить на Мисте и фотку в профиле заполнить :)

(38) Тю-ю-ю... у меня была переделка обработки, которая работала 3 часа после правки и добавления порядка 10 строк стала выполняться за 30 секунд. Причем франч хотел больше денег, чем договаривались, аргументируя что у нас слишком много данных, поэтому на отладку тратится по несколько часов каждый раз...
129 dmpl
 
02.02.23
10:38
(58) В смысле выгнать? Чтобы нанять более дорогого, который за 1 раз всё сделает как надо - и клиент потом будет счастливо сидеть без постоянной оплаты услуг франча?
130 Garykom
 
02.02.23
10:39
почитайте про ChatGPT
скоро подобный "код" может стать постоянно встречаемым
131 dmpl
 
02.02.23
10:42
(71) Ага, за доп. оплату - всегда пожалуйста. А переделывать то, что работает и акты подписаны никто не будет. В лучшем случае эти часы по другим работам размажут.
132 dmpl
 
02.02.23
10:46
(85) Ага, попутно засунув нос везде, где только можно.

(92) Ага. В 7.7, кстати, свертывание таблицы тысяч на 10-20 строк тоже было веселым. Настолько веселым, что программная реализация на встроенном языке 7.7 оказывалась быстрее :)
133 Быдло замкадное
 
02.02.23
10:47
а что не так то? Номенклатуру ищет, единицу измерения ищет.
У вас там чемпионат мира по быстродействию что ли?
134 mr_K
 
02.02.23
10:50
(133) для 100 строк обработка уходила в себя и больше не возвращалась. 100^3 проходов и запросов. всего-то миллион
135 Быдло замкадное
 
02.02.23
10:51
или там 50 строка 50 раз перезаполняется?
136 Быдло замкадное
 
02.02.23
10:51
(134) аа понял
137 Волшебник
 
модератор
02.02.23
10:58
(134) У профессионалов запросы в циклах не тормозят (с) моё
138 OldCondom
 
02.02.23
11:07
Для себя понял: прогер, поносящий другого прогера(чаще предыдущего на этом месте) - тоже плохой прогер, а возможно и человек.
Не нравится код - возьми и переделай, это твоя работа. Еще и спасибо предыдущему скажи, ведь почти на пустом месте поднял себе уважение и лояльность в глазах простых смертных: вот обработка тупила, плевалась, а ты раз и все починил, упростил жизнь всем за пару часов, профит сразу, неиллюзорный.
139 Irbis
 
02.02.23
11:08
(138)Это не по 1Сному, 1Сник лени жаден и туп (по определению).
140 Garykom
 
02.02.23
11:10
(138) Перефразируя:

"Ремонтник поносящий другого ремонтника (чаще предыдущего по этому аппарату/объекту) - тоже плохой ремонтник, а возможно и человек.
Не нравится ремонт - возьми и переделай, это твоя работа. Еще и спасибо предыдущему скажи, ведь почти на пустом месте поднял себе уважение и лояльность в глазах простых смертных: вот было плохо а ты раз и все починил, упростил жизнь всем за пару часов, профит сразу, неиллюзорный."
141 Garykom
 
02.02.23
11:11
(138)+ за чей счет банкет?
142 OldCondom
 
02.02.23
11:12
(141) за счет нанимателя конечно.
143 OldCondom
 
02.02.23
11:13
(140) Все так и есть. А в чем смысл тратиться на обвинения и скулеж? Автор еще и тему создал, чтобы поныть. А по факту просто хочет чтобы собственные доспехи сияли ярче на фоне чужих, грязных.
144 Irbis
 
02.02.23
11:14
(142) Наниматель и так платит, работать то зачем?
145 OldCondom
 
02.02.23
11:16
(144) чтобы не перестал платить?
146 mr_K
 
02.02.23
11:17
(143) Я вас чем-то задел? Это ваш код в (0)?
147 Dmitrii
 
02.02.23
11:17
ОФФ.
В защиту франчей.
Когда сам работал во франче, подобный (0) код множество раз встречал за авторством и фикси и фрилансеров.

Коллеги! Когда вы уже поймёте наконец, что качество кода никак не зависит от формы занятости программиста? Вообще, совершенно никак, совсем.
Даже если рассуждать о преднамеренном написании говнокода со злым умыслом, то причины и поводы для этого у франча, фикса и фришника будут абсолютно одинаковые. Привязка заказчика к себе, повышение собственной ценности в глазах работодателя и т.п.
И кстати говоря, по моим личным ощущениям, 99% говнокода рождается не со злым умыслом (я так вообще ни разу не встречал), а по вполне банальным причинам - недостаток опыта/знаний (сисадмина попросили поправить обработку), невнимательность, спешка (сроки важнее качества) и т.п.
148 OldCondom
 
02.02.23
11:18
(146) То, что ты не умеешь в критику - ожидаемо.
149 OldCondom
 
02.02.23
11:20
(147) + 100, особенно "И кстати говоря, по моим личным ощущениям, 99% говнокода рождается не со злым умыслом (я так вообще ни разу не встречал), а по вполне банальным причинам - недостаток опыта/знаний (сисадмина попросили поправить обработку), невнимательность, спешка (сроки важнее качества) и т.п."
И решается весьма просто - увольнение или обучение, если кандидат обучаем.
150 Волшебник
 
модератор
02.02.23
11:21
(149) Есть ещё один вариант: рефакторинг или переписывание
151 Irbis
 
02.02.23
11:22
(150) В свободное от работы время или за свой счет. Работу работать должно хорошо или не работать совсем.
152 OldCondom
 
02.02.23
11:23
Кстати из недавнего: пару недель назад на совещании отдела один прогер попросил коллег соблюдать стандарты разработки. На прошлой неделе совместо задачу делали, он в отпуск ушел. И что я вижу? Прямо в комментарии "Да, да, так нельзя, но что поделать...". Ну и? И чего тогда было хвост пушить, павлин ты наш.
(150) а это не вариант, это неизбежность)
153 OldCondom
 
02.02.23
11:24
(151) о как. А еще по заповедям жить, да?
154 timurhv
 
02.02.23
11:25
(0) Да ладно, у меня было подобное по невнимательности (без запросов).
Пожаловались когда 4.5 млн марок ОФД не передало в ЧЗ и начали грузить вручную из Excel вывод из оборота.
155 mr_K
 
02.02.23
11:29
(153) см.(148) и подумай над (152) и значением слова оксюморон
156 Irbis
 
02.02.23
11:30
(153) По заповедям точно нельзя, там и воровать нельзя, и по бабам нельзя. Одно расстройство, а не заповеди.
157 dmpl
 
02.02.23
11:31
(147) На самом деле зависит. Но вероятности, а не так, что вот тут всё плохо, а тут всё хорошо. Во франчах подавляющее большинство программистов - нубы. Как набираются опыта - уходят на вольные хлеба. Поэтому там такой код встречается чаще, чем при остальных формах занятости.
158 OldCondom
 
02.02.23
11:32
(155) я тебе поясню на пальчиках. Первый загибаем: парень просит соблюдать стандарты(кстати после совещания попросил его прислать примеры, а вдруг там мой, вот даже могу скрин с телеги вставить=). Не ответил, разумеется). Второй загибаем: парень сам их не соблюдает. Третий загибаем: ты все так же не умеешь.
159 OldCondom
 
02.02.23
11:33
(156) согласен
160 Krendel
 
02.02.23
11:33
(157) не неси чушню
161 АгентБезопасной Нацио
 
02.02.23
11:34
(147) да со "злонамеренностью" редко кто пишет.
просто "франчи - кузница кадров", поэтому туда приходят "нули", "тренируются на кошках", а когда доходят до нормального уровня - уходят к этим самым "кошкам".
162 dmpl
 
02.02.23
11:46
(160) С чем именно Вы не согласны?

(161) Злонамеренность тут скорее со стороны франча - его такой расклад более чем устраивает. Он экономит на зарплатах, он генерит постоянные обращения, он с честной совестью увеличивает количество часов. С нубами-то итак понятно, что они злонамеренно обычно не могут писать, т.к. для этого надо обладать более высокой квалификацией.
163 Krendel
 
02.02.23
11:53
(162) Во франчах подавляющее большинство программистов - нубы

Подмена понятий, далее можно не смотреть
164 dmpl
 
02.02.23
11:59
(163) Назовите подменяемые понятия.
165 Krendel
 
02.02.23
12:01
(164) Я тебе сделал цитату с твоего поста, читай до просветления
166 Krendel
 
02.02.23
12:01
Назови хотя бы одного франча, где за год сменяется 70% состава на молодых
167 dmpl
 
02.02.23
12:05
(166) Т.е. Вы считаете, что 1 года в режиме франча достаточно, чтобы перестать быть нубом?
168 Krendel
 
02.02.23
12:08
(167) Сначала ответь на один вопрос
169 dmpl
 
02.02.23
12:21
(168) Вы сами понимаете, что это закрытая информация. И обсуждение конкретных франчей без их представителей, вроде как, запрещено. Более того, она не имеет никакого отношения к обсуждаемой теме. Во-первых, потому что год - слишком малое время даже для способного новичка. Во-вторых, потому что у разных новичков время получения квалификации разное. Некоторым и 10 лет не хватает, и они так и остаются нубами. Точнее, их просто такой расклад устраивает.

Ну и раз Вы назвали срок год (а не 2, не 3, не 5), я так понимаю, что за 2 года даже у вас 70% сменяется.
170 Krendel
 
02.02.23
12:35
(169) Значит мы выяснили, что выражение "Большинство нубов во франчах" это ложное утверждение.

Идем дальше, % сдающих сертификации специалиста по платформе где выше? На фикси или во франче?
Забегая вперед, требования по сдаче спеца-это 1-й год

Ну и раз Вы назвали срок год (а не 2, не 3, не 5), я так понимаю, что за 2 года даже у вас 70% сменяется.
Вы не правильно понимаете, мой франч проектный, команда практически статична.
Даже интеграция полного новичка (а я таких уже 3 года не брал) у меня проходит под надзором более опытного товарища, и сдавать работы ему заказчику с требованиями по разработке (большинство заказчиков)

Вопрос- насколько быстрее его опыт растет по сравнению с фиксиком?
171 ASU_Diamond
 
02.02.23
12:36
(147) Только франь кодит для использования другой организацие и за это получает деньги, а код фикси наружи не уходит. Дополнительных затрат у организации на исправление кода фикси не будет (если только не отдадут на сторону)
Поэтому фикси заинтересован делать качественно, чтобы один раз сделал и больше не возвращаться, а франю выгодно несколько раз дорабатывать, за каждую доработку получая деньги.
172 ASU_Diamond
 
02.02.23
12:42
(170) Ошибка выжившего. Ты рассматриваешь как у тебя организовано. Полно франей у которых нет четкой организации работы, нет проектных команд, на проект набирать тех кто свободен. Ну и платят в таких мало, соответственно постоянная текучка
173 Krendel
 
02.02.23
12:43
(172) Ошибка выжившего,

У твоей организации нет денег чтобы работать с нормальными франчами, поэтому они подбирают весь шлак с рынка
174 VladZ
 
02.02.23
12:44
(0) Это же замечательно!
Даже не нужно прилагать усилий, чтобы доказать, что ты круче!
175 Kassern
 
02.02.23
12:44
(171) "Поэтому фикси заинтересован делать качественно" - с чего это? Если что-то отвалится, фикси просто потратит время на починку. А хозя все равное ему за это заплатит, так как у него оклад.
176 dmpl
 
02.02.23
12:44
(170) Во-первых, не выяснили, т.к. Вы так и не ответили на вопрос в (167). Во-вторых, то, что новичок сдал на спеца - это необходимое, но недостаточное условие, чтобы перестать быть нубом. Кроме знания инструментов надо также иметь опыт их успешного применения в реальных условиях. Это нарабатывается только практикой, вот как раз год-два после сдачи спеца на это уходит у обычного новичка. Тем более что сдать спеца надо не только по платформе, но и по типовому решению, с которым предполагается работа.
177 dmpl
 
02.02.23
12:45
(175) А если не поломается - можно будет вообще шабашить налево. Так что он заинтересован чтобы не ломалось.
178 Kassern
 
02.02.23
12:45
А вот если франч сделает и не заработает его поделка, то за потраченное время никто не заплатит
179 Kassern
 
02.02.23
12:46
(177) "можно будет вообще шабашить налево" - если работа в офисе, то может и не быть такой возможности. Обычно все ходы записаны, однозначно будут вопросы.
180 dmpl
 
02.02.23
12:47
(178) Франч просто не заплатит программисту, пока акт не подписан. Он тут вообще в домике. И даже если он выставил 10 часов, а прог бился 100 часов - по факту оплатят прогу 10 часов.

(179) Чаще как раз бывает. Но даже если нет - ничего не делать лучше, чем поднимать упавшее :)
181 Обработка
 
02.02.23
12:51
Извечная тема для спора франч и фикс и фри.
Уже на этот счет сотри тем и постов было и даже есть статьи и обзоры.
Зачем спорить про очевидное...
182 Kassern
 
02.02.23
12:53
(180) А если программист отвалит? Франчу в любом случае придется, либо вернуть предоплату, либо нанимать/переключать доп сотрудников. В общем гемморой, который лежит на плечах франча, а хозя может лишь потерять время.
В общем иногда имеет смысл, даже при наличии собственного штата, отдавать часть задач на франч.
183 Krendel
 
02.02.23
12:54
(176) Я ответил на твой вопрос, что нубом он перестает быть, и за год вполне обретает навыки решения задач, далее он или будет вкладываться в свои навыки растя в системного архитектора (сеньор-я не люблю) или остановится на текущей квалификации, периодически ее обновляя
184 Krendel
 
02.02.23
12:55
(180) опять вранье и передергивания
185 АгентБезопасной Нацио
 
02.02.23
13:02
(175) а "если не отвалится" - будет время поизучать что-нибудь новое. За зарплату.
(182) Теоретически - да. Практически - нет. Если  напишешь хреновое ТЗ  (с учетом того, что обычно "подразумевается") - получишь ровно по ТЗ, без "подразумевающегося". Если будешь писать полное ТЗ - потратишь времени немногим меньше, чем делал бы сам.
Я пользовался только при недостатке компетенций по снеговику.
186 FirstLine Support
 
02.02.23
13:19
(16) Я стараюсь не унижать предыдущего программиста, но как мне объяснить заказчику, что я не могу элементарно выполнить его требования, по причине кривизны архитектурного решения предыдущего "программиста"? Я говорю заказчику, это всё нужно к чертовой матери выбрасывать, и переписывать. Это будет стоить денег. Заказчик мне говорит, давай как-нибудь доведем до ума, тут немного осталось. Ну ок, только при каждом косяке я буду и имею право валить всё на предыдущего "программиста".
187 Timon1405
 
02.02.23
13:22
(130) тож про него подумал, как будто chatGPT кусками подергал функций с интернета. программист явно начинающий, но, по большому счёту претензии надо предъявлять по факту ТЗ, а там скорее всего было "сделайте чтоб загружалось"
188 ASU_Diamond
 
02.02.23
13:30
(173) Как раз опыт есть обращения и к самому крупному франю в городе и к мелким. 1Бит вообще своими силами не смог внедрить свою же конфу
189 Злопчинский
 
02.02.23
13:33
это что, я как-то снес тестовую базу, которая когда-то давно создавалсь для проверки сиюминутоной проблемы/отработки какого-то вопроса. А оказалось аудиторы в ней "восстанавливали учет" уже полгода. Ни бэкапов, ничего. о том что идет в какой-то базе "восстановление учета", что это надо бэкапить и вообще что это важные данные - из ИТ вообще никто не знал.
190 FirstLine Support
 
02.02.23
13:36
(189) я вообще кнопку del на сервере стараюсь не нажимать, для этого есть специально обученный сисадмин
191 Dmitrii
 
02.02.23
13:39
(157) >> Во франчах подавляющее большинство программистов - нубы. Как набираются опыта - уходят на вольные хлеба. Поэтому там такой код встречается чаще, чем при остальных формах занятости.

В огороде бузина, а в Киеве - дядька.

Да, франчи - кузница кадров 1С.
Да, едва ли не 90% 1С-ников вышли в жизнь из горнила этой кузницы.
Значит ли это, что те нубы, которые решили начать свою карьеру в 1С не во франче, а на фрилансе или окладе у работодателя, пишут код более качественно?
Конечно же нет. Нубы абсолютно одинаковы везде.
192 KJlag
 
02.02.23
13:42
мне кажется сначала нужно определить:
когда нуб, перестает быть нубом?

вдруг у каждого своя планка
193 Обработка
 
02.02.23
13:48
(191) + 100500%

Тем более есть большая вероятность что именно школя франя даст тебе по некоторым вопросам правильные навыки чем нежели сам ты освоил и по жизни гов**кодишь.
194 OldCondom
 
02.02.23
13:49
(187) кажется ее обновили. Только что попробовал:
Умеешь писать на языке 1С?
Нет, я не умею писать на языке 1С.

На языке программирования 1С
Нет, я не умею программировать на языке 1С.

Хотя до этого она усердно старалась выдать мне какой-то код.
195 PLUT
 
02.02.23
13:54
(194) я не пробовал, но анекдот про 1С смешной

https://fastcode.im/Templates/8137/kak-zaregistrirovatsya-v-chatgpt-iz-rossii
196 PLUT
 
02.02.23
13:54
(195) про погромиста 1С*
197 Конструктор1С
 
02.02.23
14:15
(77) помнится, были даже катастрофы из-за кривизны ПО. Боинги какой-то серии падали из-за ошибок во внутреннем софте. Но программистов не содили. В нашем же случае последствия только дискомфорт пользователей
198 Irbis
 
02.02.23
14:18
(197) ЕМНИП у евреев звено файтеров наипнулось в районе мёртвого моря, высота полёта стала отрицательной и система управления не сумела такое пережить.
199 FirstLine Support
 
02.02.23
14:19
(198) проверки не было на <=0, я тоже постоянно забываю
200 Kassern
 
02.02.23
14:20
(198) Я читал про ошибку пересчета единиц топлива. Мол программа не правильно переводила, в итоге топлива заливали меньше чем положено. Вроде это https://translated.turbopages.org/proxy_u/en-ru.ru.4e2b9a5f-63db9c76-c13477de-74722d776562/https/www.nytimes.com/1983/07/30/us/jet-s-fuel-ran-out-after-metric-conversion-errors.html
201 Kassern
 
02.02.23
14:21
202 FirstLine Support
 
02.02.23
14:22
(200) может просто не учли, что топливо при нагревании расширяется
203 Злопчинский
 
02.02.23
14:46
(202) а кто тогда нагревает Вселенную? если она расширяется?
204 OldCondom
 
02.02.23
15:08
(203) люди надышали
205 FirstLine Support
 
02.02.23
15:53
(203) вселенная расширяется только на масштабах галактик, поскольку там нет гравитации. В посведневной жизни, с которой связаны чаще всего одинэсники, вселенная не расширяется
206 Irbis
 
02.02.23
15:55
Надо бы определиться, таки расширяется или всё же нет.
207 vyaz
 
02.02.23
15:57
А я так и не понял, франч это хорошо или плохо, или нубы?
208 Arbuz
 
02.02.23
15:58
Ах-хах! Набежали франч-рабы и начали обосновывать и доказывать своё святое право невозбранно писать говнокод круглосуточно, и в любых количествах. Также стали друг друга горячо поддерживать и плеваться-кидаться какахами в сторону осуждающих. Забавно. Как в зоопарке.
209 Irbis
 
02.02.23
15:59
(207) Франч это франч, не хорошо и не плохо. Они как неизбежное зло. Чтобы были хорошие фиксики нужны плохие франчи, и наеборот. Диалектика мать её, единство и борьба противоположностей.
210 Галахад
 
02.02.23
16:00
Хм. А как называется кодер, который почти не пишет?
Читает, читает, читает, а потом пару строк своих вставит?
211 Irbis
 
02.02.23
16:01
(210) Было бы лыко в строку, а так может вполне оказаться и копрокодером.
212 Arbuz
 
02.02.23
16:02
(210) Джун и СтэкОверфлоу
213 vyaz
 
02.02.23
16:03
Нехорошо франчей лажать, они ведь разные бывают, знаю со своей практики франч (небольшой), где все ребята подкованные как по технической, так и по коммуникативной части, проекты ведут - закачаешься.
214 OldCondom
 
02.02.23
16:08
(210) Бывший кодер, который сейчас нач отдела.
215 Sadovnikov
 
02.02.23
16:13
(208) Я сейчас во франче работаю. Есть сомнения в моей компетенции?
216 OldCondom
 
02.02.23
16:19
(215) Если общаешься с такими умалишенными малолетками, будут вопросы к твоей адекватности
217 Гений 1С
 
02.02.23
16:35
(0) ггг... индусский код джи.
218 Гений 1С
 
02.02.23
16:36
(99) у меня в обработке удаления помеченных объектов есть кнопка, которая удаляет ссылки из РС, бегает с клиента на сервера на выборе 8000 объектов 8000 раз. И ниче, главное доходит до конца. Там скорость не главное.
219 Архитектор_1С
 
02.02.23
16:41
(218) 8 тысяч мало, пора переходить на миллионные транзакции
220 Lexandr
 
02.02.23
16:46
Работает - не трожь.
221 АгентБезопасной Нацио
 
02.02.23
16:46
(213) ... и упадешь.
Не, я верю, что бывают такие. Сам знаю парочку толковых ребят, работающих во франях.
Вроде с этим же франями, где они, работал - а в результате от франчей все равно либо недоделки, либо гомнокод.
222 АгентБезопасной Нацио
 
02.02.23
16:47
(215) какие люди! Как тебя угораздило вернуться?
223 tonymictian
 
02.02.23
16:49
(219) Если это какая-то разовая обработка, выполняемая ночью и под одеялом, то ничего плохого в этом нет. А если это что-то, выполняемое регулярно кучей пользователей в проде, то только живительная эвтаназия
224 Sadovnikov
 
02.02.23
16:52
(222) Черт его знает.. До сих пор не понимаю :)
225 Волшебник
 
модератор
02.02.23
17:01
(220) можно объявить этот код священным и не трогать его
226 Гений 1С
 
02.02.23
17:14
(215) сколько в час?
227 Sadovnikov
 
02.02.23
17:16
(226) Тебе столько кода в час и не снилось.
228 ДедМорроз
 
02.02.23
17:54
Есть такое понятие как математический подход,то есть свести задачу к любой предыдущей.
Если им сильно злоупотреблять,то получается такой код,т.к.то,что выполняется один раз оптимизируется одним способом,а что много раз - другим.
229 Полбатона
 
02.02.23
17:54
о, это же мой код.
230 ДедМорроз
 
02.02.23
18:02
У меня просто была история,когда я написал отчет по азаиморасчетам на дату,который был достаточно оптимизирован,а потом его доработали просто вызывая для каждого дня в месяце алгорттм расчета.
А потом все плевались - как так можно.
231 Злопчинский
 
02.02.23
18:14
(230) судя по скорости, с которой моргает 8-ка - там все так написано
232 НафНаф
 
02.02.23
18:20
(218) ты просто такой, все уже ы курсе
233 Волшебник
 
модератор
02.02.23
19:01
(230) О, клёво. А ты там оставил комментарий, что ты автор этого кода? ;)
234 FirstLine Support
 
02.02.23
19:06
(230) я всегда так делаю, я просто раньше не знал, что это называется математическим подходом.

Я наверное математик.
235 Гений 1С
 
02.02.23
19:24
(227) я про рубли
236 Гений 1С
 
02.02.23
19:25
(233) всегда надо подписывать свой код, не стесняться. Чтобы подаваны офигевали и писались в штаны от восторга, что сталкивались с твоим кодом.
237 Prog111
 
02.02.23
19:56
(236) Я один раз столкнулся с кодом, который подписал LivingStar)))
238 ДедМорроз
 
02.02.23
20:10
(233) так там было два внешних отчета - один мой,второй,который на основе него сделан.
239 experimentator76
 
02.02.23
20:24
Верую что есть идеальные франчи\интеграторы, но пока в работе попадаются не очень.
Как уже неоднократно говорил - мешает текучка кадров и сама суть высасывания денег из заказчиков.
Один плюс наверное есть - клепают свежие кадры для 1С, так как на фиксе мало кто будет обучать 1сников
240 Пульсир
 
02.02.23
20:37
(0) Не мешайте людям зарабатывать на хлеб, а профи красиво смотреться на их фоне.
241 Asmody
 
02.02.23
23:44
(0) Я бы разрефакторил этот код еще на пяток методов и хер бы ты в нем запрос в цикле в цикле в цикле нашел
242 experimentator76
 
02.02.23
23:48
(241) отладкой легко :)
243 Сергиус
 
03.02.23
00:19
(0)Ну их в целом всё устраивало же?)
244 1ctube
 
03.02.23
07:52
Ничего себе какое у автора темы завышенное ЧСВ. Попросили, так доработай, может тот кто писал код был не опытный, а сейчас учится
245 Chai Nic
 
03.02.23
07:54
(244) Угу, новичок без опытного наставника рядом. Жуткое дело.
246 1ctube
 
03.02.23
07:55
(245) Реалии жизни...
247 Chai Nic
 
03.02.23
07:58
(246) У меня такое с линуксом было. Помню, как я писал на Си парсеры логов, понятия не имея о более адекватных для этого инструментах. Вот так же и здесь.
248 ilkoder
 
03.02.23
07:59
Любой программист при виде чужой обработки-отчета говорит - ну и фигня, все переделывать надо. Главное правило программиста: работает - не трогай...
249 1ctube
 
03.02.23
08:00
(247) Во во. У меня так же: иногда смотрю на свой старый код и думаю как я так мог написать
250 АгентБезопасной Нацио
 
03.02.23
08:49
(244) говнокод, написанный "учеником", "админом-мимокрокодилом", "сыном подруги главбуха" - оно не перестает быть говнокодом.
251 1ctube
 
03.02.23
08:51
(250) Так и никто не спорит насчет этого
252 Tarzan_Pasha
 
03.02.23
09:52
(8)захотелось писать больше кода на Java ?
253 Волшебник
 
модератор
03.02.23
09:53
(252) Java умирает. Oracle ввела лицензирование. Google уже отказался от Java.
Я больше применительно к PHP 8.2
254 ДедМорроз
 
03.02.23
10:15
(247) я до чих пор на Си парсеры пишу,так как другие инструменты соединить несколько логов не могут и найти то,что нужно
255 Tarzan_Pasha
 
03.02.23
10:24
(253)о. понимаю. я тоже на php работаю. Правда для меня это основная работа.
256 Волшебник
 
модератор
03.02.23
10:34
(255) О, приятно слышать, что мы коллеги. Как Вам новые типы в виде дизъюнктивной нормальной формы?
257 Конструктор1С
 
03.02.23
10:41
(217) растет твой конкурент. Скоро тебя переплюнет
258 Конструктор1С
 
03.02.23
10:49
(220) такие "пословицы" рождаются там, где царит говнокод. Ведь говнокод отличает не только непонятность, запутанность и плохая производительность, но и хрупкость. Правки говнокода приводят к поломкам в неожиданных местах
259 Конструктор1С
 
03.02.23
10:51
(236) твой код может только рвоту вызвать
260 Tarzan_Pasha
 
03.02.23
13:38
(256)напоминают студенческую молодость. Когда проектировали микросхемы.  Приятные примеры из булевой алгебры.
261 lubitelxml
 
03.02.23
17:55
(0) я тут недавно УТ 11 внедрял, часть функционала просили из УТ 10 забрать, открыл я значит код а там - "Перейти ~M1;" - первый раз за 20 лет такое увидел.
262 Kassern
 
03.02.23
17:59
(261) это явно что-то не типовое)
Может кто-то пытался обфускацию своего решения сделать?
263 lubitelxml
 
03.02.23
18:02
(262) нет, просто кто-то про рекурсию забыл или не знал, это метки - оператор GOTO. Его никто не использует обычно
264 Krendel
 
03.02.23
18:03
(263) Его не используют потому что код не читаем ;-) Пока блок схему не построишь
265 Смотрящий от 1С
 
03.02.23
18:29
(0) ни одна типовая не проходит синтаксический контроль без ошибок. Для примера запустил проверку на демо УНф. "Обнаружена 91 ошибка". Их нужно сразу на 10 лет без права переписки?
266 lubitelxml
 
03.02.23
18:34
(265) возможно из-за режима совместимости и платформы. Но ведь не падает все равно, даже если есть ошибки. Замечал несколько раз - пишешь запрос руками (я вообще не фанат конструктора, ибо это для джунов) - нажимаешь - Конструктор запроса, чтобы проверить синтаксис - пишет ошибка, запускаешь 1с - тестишь - все четко. Я сейчас не про расширения говорю...
267 ejikbeznojek
 
03.02.23
18:41
(0) хз...вполне обычный код для начинающего. Бывает и хуже))
Я от джуниора на работе такой каждый день вижу.
Вот например из вчерашнего.
Почти к каждой строчке можно придраться...
Но этот код уже лучше того, который был раньше, главное чтоб динамика была положительная была))

              Если ЭтоНовый() тогда                                
                               Если Ссылка.ОсновнаяЗадача.КатегорияЗадачи = перечисления.КатегорииЗадачАсу.Проект тогда   //Всегда будет ложь, потому что это новый            
                               ОсновнаяЗадачаОбъект=ОсновнаяЗадача.ПолучитьОбъект();                                                          
                               СтрокаДобавить=ОсновнаяЗадача.ЭтапыПроекта.Добавить();    //тут по идее всегда конфигураторная ошибка была бы, но сюда никогда не дойдёт      
                               СтрокаДобавить.ЗадачаАсу = Ссылка;   //Опять же это новый, значит пустая строчка                            
                               КонецЕсли;        
                КонецЕсли;
268 lubitelxml
 
03.02.23
18:43
(267) это даже не джун, а просто стажор )
269 OldCondom
 
03.02.23
18:50
(267)
//Всегда будет ложь, потому что это новый
С чего бы?
270 Волшебник
 
модератор
03.02.23
18:51
(266) Подтверждаю. Конструктор запросов не понимает элементарные конструкции языка запросов, например, комментарии.
271 lubitelxml
 
03.02.23
18:51
(269) наверное потому, что Ссылка не заполнена
272 OldCondom
 
03.02.23
18:54
(266) это у вас паркинсон просто. Вы случайно выделили 1-2 символа и нажали конструктор)
273 OldCondom
 
03.02.23
18:57
(271) а, точно, я думал к реквизиты обращение. Штош... все я про себя понял
274 lubitelxml
 
03.02.23
18:59
(272) нет, если не забуду, пришлю в понедельник запрос из erp, сейчас уже нет доступа туда
275 lubitelxml
 
03.02.23
19:00
+(274) запрос не типовой, проверку не пройдет, но в режиме предприятия не отработает
276 lubitelxml
 
03.02.23
19:00
(275) но в режиме предприятия не отработает = но в режиме предприятия отработает
277 Kassern
 
03.02.23
19:06
(266) Если вы берете внешнюю таблицу и пихаете ее в запрос помещая во временную, то при дальнейшем обращении к реквизитам этой таблицы через точку конструктор будет ругаться, так как не понимает тип, а сам по себе запрос будет выполняться.
278 АгентБезопасной Нацио
 
03.02.23
20:18
(265) Ну почему сразу "10 лет без права переписки"? "Два года расстрела" вполне достаточно..
279 Бертыш
 
03.02.23
21:08
(0) Ну бывает же конечно. Моя память храни историю времён 7.7 о переписки двух коллег программистов 1С в глобальном модуле. Работала некая контра себе работала, но периодически у них 1С падала, то естль не падала, но переставала запускаться. Они дёргали в такой момент постоянно работавшего с ними программиста из местного франча и он посидев, поколдовав над базой через какое то время решал их проблему  база опять начинала работать. Однажды база перестала работать и они до него достучаться не смогли. В итог дёрнли моего приятеля который мне рассказал всю эту историю. Он был там чей-то родственник. Он открыл конфигуратор и в обработчике
ПриНачалеРаботыСистемы или как то так (Уже и не помню семёрку)
стояло  начале
Если Дата>ТакойТоДаты Тогда
Отказ = Чего то там (Чего уже опять таки не помню. Кажется там надо было для отказа ставить единичку);
Возврат;
КонецЕсли;

Приятель поинтересовался у сотрудников предприятия кто их обслуживае постоянно. Они назвали ему ФИО. Он закоментировал данный код и добавил пр этом строчку комментария
//Такой то такой то ты мудак
Но заказчику он ничего не рассказал
Та кчто вредители однозначно есть
280 Garykom
 
03.02.23
21:10
(279) А уверен что мудак?
Может мудаки контора которая оплату жмотит пока снова не упадет?
281 Волшебник
 
модератор
03.02.23
21:11
(279) Обзывания в программном коде
282 Krendel
 
03.02.23
21:19
(280) Не работай, в чем проблема
283 OldCondom
 
03.02.23
21:52
(279)дурачок ты некомпетентный.
Сын еврея-юриста недавно закончил унивеситет, тоже стал юристом, получил
практику и выиграл свой самый первый судебный процесс. Прибегает весь
взволнованный домой: - Папа, папа, я сегодня выиграл свой первый суд! И
знаешь, папа, это то самое дело которое ты вел все прошлые 10 лет и не
мог выиграть, а я его выиграл за один день! Отец на это очень
раздраженно отвечает: - Вы только посмотрите на этого идиота! Он сегодня
за один день закончил дело которое кормило нашу семью почти 10 лет! Кто
нас теперь кормить-то будет?
284 Конструктор1С
 
04.02.23
04:26
(283) а где-то рыдает профессиональная этика. Потом после таких "кормящихся" продукт обрастает дурной репутацией
285 Chai Nic
 
04.02.23
06:22
(284) +1. Не платят - прекращаешь работу. Никогда даже в голову не приходило оставлять закладки для выцыганивания оплат. Надо исходить из принципа, что ты им нужен больше, чем они тебе. А не нужен - найдутся другие.
286 Прохожий
 
04.02.23
07:02
(0) Передача в мире животных, а не ветка....
Какая молодежь нервная. Между прочим семерочная платформа 1С именно так конвертировала файлы в Эксель когда-то. Цикл в цикле. Большой отчет мог конвертироваться в Эксель час или больше. И даже самые порядочные люди писали и ставили патч платформы ибо иначе никак. А!!! Вы все врете про нашу любимую 1С г. Москва!
287 Прохожий
 
04.02.23
07:10
Семерка брала первую ячейку (а не строку как тут!) и записывала (каждый раз стомильонов раз итого) эту ячейка на диска как файл экселя. Потом добавляла кне вторую ячейку и первые две записывала на диск ,потом брал третью и в итоге записывала файл столько раз сколько ячеек в таблице. Постоянно прибавляя объем до полного.
Вот где была пестня.
288 Chai Nic
 
04.02.23
08:38
(286) "Не так всё было. Совсем не так."

Тормоза при записи 7.7 в формат xls были связаны с багом при записи строк с автовысотой. Как бы эта автовысота подсчитывалась для всего документа при
записи каждой строки или что-то подобное. Достаточно было убрать автовысоту, и огромные таблицы сохранялись быстро.
289 Прохожий
 
04.02.23
09:15
Парсили платформу вплоть до последних релизов. Весь советский народ.
290 lubitelxml
 
04.02.23
10:33
(288) было дело про Автовысоту, уже даже без подсказки и не вспомнил бы про это.
291 ДедМорроз
 
04.02.23
11:32
И еще.
Если что-то написано г.внокодом,но дает правильный результат  - это не вредительство,это из серии,если пироги будет печь сапожник.
А вот если отчет дает неправильный результат - вот это и есть вредительство.

Просто,например, ОбщегоНазначения.ПолучитьРеквизитыОбъекта - это запрос,вставляем в цикл,получаеи запрос в цикле.
Но,план запроса будет кеширован,а доступ по первичному ключу - это очень быстро,и вынос запроса за пределы цикла позволит сэкономить только на обмене меджу сервером 1с и сервером базы данных.

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

Ну и не стоит забывать,что при количестве данных в таблицах несколько строк,как например,сисло покупок в чеке,часто перебор всего чека быстрее,чем какой-то поиск по индексу,т.к.ускорение от поиска будет несущественным,а число операций на подготовку поиска будет сравнимо с самим поиском.
Оптимизированный поиск дает логарифмическое количество сравнений,которое существенно меняет картину от 1000 записей.
292 Злопчинский
 
04.02.23
20:18
(204) не прокатит... кто тогда нагревает людей, которые нагревают вселенную?
293 Злопчинский
 
04.02.23
20:22
(239) "Верую что есть идеальные франчи\интеграторы, но пока в работе попадаются не очень.
Как уже неоднократно говорил - мешает текучка кадров и сама суть высасывания денег из заказчиков."
.
ну представь: хороший франч пришел на проект к Заказчику (сделать гоночный болид из трактора), у которого трэш угар и барадак, дорогоа в выибонах, мостов нет переезжают вброд итд... ну и начнется высасывание денег... потому что гоночный болид даже просто негде приемосдаточные испытания провести - начинаем строить дорогу, мосты итд.
.
294 Злопчинский
 
04.02.23
20:29
Я вас всех уважаю, коллеги!
Вы крутые.
295 Архитектор_1С
 
04.02.23
21:12
(294) Выпил чтоль?
296 1S_User
 
04.02.23
21:25
Если виснет после 50 строк, скорее всего, самое страшное тут в процедуре ПолучитьНоменклатуру(). Может, делается какой полный поиск, минуя индекс. "ПодборЕденицыИзмерения" так-то по индексу отбор делает. Конечно, это идиотизм, и надо все одним запросом, но вот прям жутко убивать оно не должно.
297 Злопчинский
 
04.02.23
23:52
(295) Почему? трезв. я вообще совсем редко алкоголь употребляю, даже пиво.
просто реально уважуха спецам.
298 Valdis2007
 
01.03.23
18:03
(0) Вы уважаемый разработчик 1С Бухгалтерия?
300 magicSan
 
01.03.23
19:39
Копрокодер это "давайте гить!!!! давайте сонаръ!!!!! а ещё а ещё куча тестов!!!!!!". Это обычное быдло из кодеров которые могут только тупо кодить не понимая предметной области и методов программирования RAD.

То что выше описано просто ошибки новичка.
301 Грю
 
01.03.23
19:42
(0) Много букав. Что не так с этим кодом?
302 Курцвейл
 
01.03.23
19:50
(215) Вот это да. Не ожидал что Олега тут увижу :)
303 Valdis2007
 
02.03.23
05:23
(0) так демонстрация, как ты  красиво исправил этот код и 50 строк из екселя теперь летают... будет))?
304 Адинэснег
 
02.03.23
08:34
(0) перепиши одним запросом, раз глаз еще дергается...
305 zak555
 
02.03.23
09:11
(0) работает же

Вред -- это когда в базе данные ломаются или данные отображаются неверно
306 Ботаник Гарден Меран
 
02.03.23
10:37
Разве это вредитель?
Вот анонимный разработчик, сделавший некогда в пояснениях 2 заполнение циклом по справочнику с запросом по каждому ОС.
И это ощутили на себе все типовые пользователи, у которых этих ос тысячи.
Заполнялось часа 3-4.
307 АгентБезопасной Нацио
 
02.03.23
11:08
(302) да многие офигели...
308 ProgAL
 
02.03.23
11:50
(0) Вы же в штат на 130 искали внедрять ЕРП, за 130 только такое.
309 ironicman
 
13.03.23
09:39
(303) +1. Интереснее всего выяснить как был исправлен этот код и мотивированную позицию почему именно так

Мне кажется что групповой рефакторинг это хорошая народная забава, которая достойна отдельной рубрики на мисте
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.