Как работать настоящим программистом и стоит ли стремиться уйти из 1С

30.09.22

Саморазвитие - Истории из профессии

Андрей Овсянкин на конференции Infostart Event 2021 Post-Apocalypse рассказал, какие трудности и приключения ждут 1С-ника, если тот решит стать «настоящим программистом». Докладчик показал, чем 1С выигрывает у других фреймворков и почему дрель – это ненужный инструмент.

Меня зовут Андрей Овсянкин, я – архитектор информационных систем. Периодически я меняю сферу деятельности и ухожу из 1С, но 1С при этом, как правило, из моей жизни никуда не уходит. Об этом и будет рассказ.

Для начала разберемся, в чем заключается работа программиста.

 

https://lh4.googleusercontent.com/oAFKjUZx6EVd7s-pQV8QC7trm89Hn2Kh3mk7zaUsX8_NAtPojuApo5xxH-tkrew95fvRUuEqbObNR7Ei9KAcAxw255-wrMV_V9bp8o7ktysv_BM12ELDCNpYbcYhJ9ySCpdm4LZqJ1P2YNBtMttgYaqcYxLUmNSnVxt8QQhpHFZ6Isg2F62UUmFOgg 

 

Программисты не нужны. Если вы мечтаете сменить сферу деятельности, нужно понимать, что программист – это капризный и дорогой посредник между бизнес-идеей и профитом. 

Программиста терпят, потому что без него нельзя обойтись.

Код – это всего лишь инструмент реализации бизнес-идеи. У заказчика есть классная идея, он знает как заработать, но он вынужден мириться с тем, что ему нужно нанять программиста и терпеть, пока он все это напишет. Код – это инструмент реализации. Заказчику совершенно наплевать на каком языке его идея реализуется.

https://lh6.googleusercontent.com/NbEbq0rVFuMSaK81k0bbFNlTIpXMJTtuLqOktIlszeLcv8DiIvYj6lg7DoNw65InRgb4fQbvXJhBhD5Sq68IAUXIDX4xTSKLfxNDgo0W-aH0uFrLmR6GfseYUDEyDAWHmrBFfqidJH6SBl5GcABHAxnIveggQMEb03McEPSA9MNdkwNnRtJYga7ZAQ 

 

Например, если мы хотим повесить картину, что для этого нужно?

  • нужно взять дрель

  • просверлить дырку

  • забить гвоздь

  • повесить картину.

В этой последовательности есть лишняя деталь – это дрель. Она совершенно не нужна, потому что миру нужны дырки.

https://lh5.googleusercontent.com/d0JSbOFrnXzcBtbj0AcuzJyLBu-0cFxNl2O2pTMPhElNtia32aaf8GYAvX_SurA0ubA-CPxagGobu3PIm3D2LOxKDqtxHVFNZCQMG0Rrs_krw06kI5dc9u8ikNOoLj7XHG7ke3XSqsFX3yHnIVkoSEBl2Mp8PECXtiAq9EbaiJ89Byv1yjv5TBF97Q

 

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

Программный код и программист в середине – ненужный посредник на пути к выручке. 

Когда вы сверлите дырку под картину, то электрическое сопротивление обмотки двигателя дрели – неинтересная вам величина. То же самое с кодом и с фреймворками. Когда бизнес-заказчик заказывает какой-то код и автоматизацию, ему все равно на чем вы это будете делать. Ему нужен профит, а не язык программирования.

https://lh5.googleusercontent.com/f_VntbTKnODh-XgRzNoS1Kl0PpGs2Osxf5Qw1eYUyqG-xgATzfvBdVn0lUHXEy9vhlj-F5ON4c-TzC-vFtujCRwNjIbxobVv8Yi43I1xy9vYdepSLabeiKgYJKjDDd2zn9p_Gc_u6bLIaZ8M6U7a-jlgmierd7_8f8G81BzjegPUdoK9hA2lt-VyRw

 

Если вы поменяете язык программирования, для бизнеса вы так и останетесь ИТ-отделом:

  • сроки и оценки – никуда не денутся; 

  • баги и авралы, когда все сломалось, и все бегают как ошпаренные, – никуда не денутся;

  • нет никакой разницы, на каком языке вы делаете ошибки и опаздываете к дедлайну.

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

 

Как выглядит ИТ-отдел с точки зрения заказчика

 

https://lh5.googleusercontent.com/T8qjzxtRAgzKJy2C_fZEA7X4vw4-iblhahMJmrThQjaHfT2eoDZRi5Aa7MSeArhN0umpYd3F_bMuw0YBQNf1PgafQ5d9xMk_FOkHdOmpGSENIR_vy2I_meNOUXs6OLHc6j8bjbIuLq2-C_KO5C1cjaseH5JWsB3YxYNcO_3kbHVMHiyOOu32dYo22w

 

Заказчик видит ИТ-отдел так:

  • всегда долго;

  • говорят непонятно;

  • делают не то;

  • постоянно возникают ошибки;

  • неудобный интерфейс; 

  • да еще и дорого.

Обратите внимание, в этой формуле нет переменной «стек технологий».

https://lh6.googleusercontent.com/PT1yJu8brpsja7GLAvJbDnWeR-Vz0inZ26RemawtsSFhKR-CRcETxdeonvqWLz7AhwBM3a147N04ErJpUN3in_47wgUKxGkkv30VqkWX4He4PKirpasO5J39z-0G_BjE4CyzfZrLirepkoCJtuDhEtvvF5R2mTG4vxXPwRuPf2ITiTfLqnwHHadvSA

 

Если вы думаете, что вредные и неправильные заказчики есть только у 1С-ников, вы ошибаетесь. Заказчики всегда одинаковые.

Опять же, в этой формуле нет переменной «стек технологий» – неважно, на чем вы будете писать: ваши заказчики всегда будут вас раздражать.

https://lh3.googleusercontent.com/X3OIOVYYApqraCu--xTQ0Wdpq-YIbmQGhBmC_rzEqnbOffUdIhghSRQsD4tl_voCSZmnfwwKqmSNV-PwFRNG8Tp0v-qsZeyTg-Fm9oefuLPaQCdYwUv5U9c31okobW6QziLd2CumezJi8LsA0K_F01YrF_CbC3q5dudyRV6EujseHii4Fz1iv9glXQ

 

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

Коллеги, которые пишут на других языках, не будут умнее вас. Они будут такими же, а может даже еще и хуже.

 

https://lh6.googleusercontent.com/rfrO_LubC18eCuw-KqlKjEmLRGCFQFU-wTJZCyVnba1KzDjO6Wd-dWTwFGfnih-Jbpl3pYcrOdXTiSAe_JH4hiwwPRfAkS7xm9DiWXrrihDiRk3g5PAj8OFdpAgANiR6tqZ9-zBlELkTDLG12XZLVbJvp0KHQ--mi1AomwWEfmls77Hl62-OJqoGiQ

 

Я готов доказать тезисы, которые озвучил.

Расскажу свою историю – о том, как давным-давно программист 1С Андрей Овсянкин решил, что больше не хочет заниматься 1С и пойдет работать программистом на .NET.

Мой второй любимый язык программирования – это .NET. Первый – С++, а 1С – третий.

Я бросил 1С и устроился работать просто программистом: «Не хочу больше думать, хочу просто кодить в свое удовольствие. Просто отстаньте от меня, буду отдыхать».

Мою историю хорошо описывает название одной из книг Толкина – я сходил «туда и обратно».

 

1С-ники умнее, и я не шучу

 

https://lh4.googleusercontent.com/X_ePvP43ZN8WsimovE2jcnUL1fBDJGwhrFiYLSZrXZ8DS0ZhvVeQY0X_BYlJCUTOhfjq0tFFYsTte_bEg7pCGiShLMgbuG8brDRAD2n8ZZQbc54K0YxRi4haNJhYkDhlUTyuTgrhigoO5Ue2bujh5j-bifYOVBAidT9oR4uINMOFKg_Bb_NLldRTcA

 

В нашей отрасли во всех чатиках и форумах существуют такие мифы и легенды:

  • там интереснее работа;

  • там настоящая работа, а не только обслуживание бухгалтерии;

  • там больше платят; 

  • 1С – отстой;

  • на 1С нельзя сделать настоящее приложение.

https://lh5.googleusercontent.com/l3QKW4Z9cm2IxeuUH_Mm1l3iO6i6Mk8J3p_Y1dQ8FBJE65iCrTS9OMjdYDo39_gvfLzCdvyrfuIeHsJb4zRg9lyiJ0InWqC_HlNQX4eB9o9GvGJNRo9kittkMfb_hWlG4JLDEM_NXcPYUVoxTQpcqM_AWa9nIjYqBmjRDBAXJW1Fd1C7MiH6qTs27g

 

На самом деле 1С-ники сильно умнее настоящих программистов. Я не шучу. Я там был.

Удивительно, но факт. «Настоящие» программисты слишком сильно заморачиваются с технической реализацией, сложностью алгоритмов, соблюдением SOLID, мыслями о том, сколько времени занимает добавление в список. В этот момент они теряют из вида понимание того, зачем им вообще ставится задача. 

«Настоящие» программисты реально не понимают, что нужны не код и не программа, а достижение цели.

Они правда не понимают, зачем им поставлена задача. Они этим не интересуются. Из-за этого они теряют смысл того, что они пишут, и пишут не то. 

https://lh4.googleusercontent.com/OgG0-htpUuobOIM1MZ4CrZmzXrgFkIWEF4RWNCJTJu2wFKlDPAnSmQxe_ykX5AyJJW870A-fgO0fYzcSMBobCY_I9EI9y7tg0Ic6MQBv1NTXJwHNeySo1q-d21YySGqOT3_Pva5LIq_Vjgik_mr_CSx5wLU8a4ViBt6tX9Dkv-kSQAtE6e-PmAbOrw

 

В силу своей специфики работы у 1С-ника есть встроенный в голову хороший аналитик. 

1С-ники привыкли работать от процесса и бизнес-функций – они сначала думают «зачем делать», а потом уже «что делать».

Джаверы, дотнетчики и ПХПешники делают наоборот. Они не знают «зачем» делают. Они читают спецификацию ТЗ, и по ней работают. Если ТЗ написано плохо, то результат идет на помойку. Почему-то в их отраслях это считается нормой – я не знаю, почему так происходит.

Порядка 80% программистов на PHP, на Java, на .NET просто берут задачу и делают. Им сказали: «Взорви все» – они возьмут и взорвут, «удали таблицу» – удалят. Потом внезапно: «Ой, что-то пошло не так, я не так понял смысл». Потом на запуске модули не стыкуются, пересылается не то и, в целом, происходит караул. 

А главное, что код уже написан. Заказчику остается только притвориться, что он именно это и хотел, потому что зарплата уже оплачена и время потрачено.

 

Ограничения 1С работают во благо

 

https://lh5.googleusercontent.com/hwPPer82RffDbJpUeYUr220DnBIkhHCgDkS_IhQPSwGhrD-FYfAfG5Dcug8u_rTxqqbtDIWZAkVxvzdOQoHo9kQQwS6V1JttoU_GgIQPpJErumbmlD5LZFqheVtexTfIUwneQuKd0Ocg6pNTFobMDoQx3wSlUHab4RIh8oNiKyYZOfGk7wHXN5njwg

 

Нам очень повезло с фреймворком 1С. Он очень помогает в мелочах, о которых мы даже не задумываемся, а те ребята ломают копья.

Обычно говорят, что в 1С нельзя сделать все, а вот на языке «таком-то» можно сделать все, что захочешь. Наверное, это правда. Но вы не просто сможете сделать все, а вам придется делать все.

 

Работа с базой данных

 

https://lh4.googleusercontent.com/6rAL5G207ycStaU_KP3uM_2Gj_FEY68bON4u632Nva69f1FcESEzEuv0EVZPPidqQyVrpqVVYIQ-VJuoJUSIP1jdaL01sBwtZZzR1gqGmIwxHHaeHTWGz7eXPpW0xT5-Li5QtpDOZqpIw7L0Dj5vx8ddwj_3tzipiGMnkwu0nlrGQzd7bTuw7CZR4Q

 

Посмотрим, как это проявляется в работе с базами данных.

Ограничения, которые накладывает на нас платформа 1С, – работают на самом деле во благо. Они не позволяют нам нагородить кучу ненужных сложностей и костылей.

  • Например, в 1С только одна база данных. 

  • Все второстепенные источники данных работают либо через интеграцию, либо через веб-сервисы, либо как внешние источники данных. 

  • Нет соблазна налепить интеграцию «прочитаем из базы соседей».

В других промышленных решениях такие интеграции в порядке вещей:

  • Никто не ограничивает количество баз, с которыми может работать приложение. 

  • Там часто бывают интеграции по типу: «У наших соседей лежит база. Мы прямо из нее почитаем». Одна выборка из одной базы, другая – из другой, и выводим.

  • Потом другая команда удалила или переименовала какую-нибудь колонку в своей базе, и у вас все отвалилось. Они не будут вас уведомлять об изменениях. Это же их база, они не знают, что туда кто-то полез.

Поэтому начинают придумывать регламенты – «прежде, чем реструктуризировать таблицу, вы должны написать письмо на всех». Только никто эти письма не читает.

Для них это – норма жизни. Нам даже в голову не придет этим заниматься.

 

ORM-модель

 

https://lh3.googleusercontent.com/Jt0SIWsSK1DMSz8j_ZljQo-iFwHaBpuc5JtHgTQwI7dglxuud0zssPhsXJBqYGotU1Hp0ZC2Op4NIluAixvrGQiAxYWtXLECsyWxgN_saMskhFrqVwAsxQ5fh67zGkswwkpJXw3ryklD8lcLIvU5EowrHfcnDvC18aP0N_pcJc42bl5GwFQfA-unqA

 

То же самое с объектно ориентированной моделью – ORM-моделью, когда записи базы данных превращаются в объекты (справочники контрагентов и т.д.).

По моему мнению, в 1С ORM работает близко к идеалу: 

  • это происходит легко и прозрачно – мы пользуемся объектной моделью и даже не задумываемся о том, как эти данные забираются из базы;

  • 1С не пытается замести под ковер язык SQL – язык запросов 1С SQL-подобный;

  • С самых первых курсов, с младых ногтей всех 1С-ников натаскивают на производительность запросов и их оптимизацию. 

1С-ников этому учат, а в других стеках работать с ORM не учат. Из-за этого промышленный ORM выглядит как костыли и ад.

  • Они пытаются совсем спрятать от программиста язык SQL. В результате, он даже не знает порой как писать на SQL. 

  • То, что ему ORM-ка генерирует в виде запроса, очень легко превращается в миллион запросов в цикле, и он даже об этом не подозревает. Например, .NET-овская ORM-ка запросто может сделать запрос в цикле миллион раз и выдаст всего лишь незаметное предупреждение в лог (который будут читать, только когда продакшен встанет колом, ведь на машине программиста с тремя тестовыми записями в БД – все было хорошо).

  • Хочешь наименование ссылки – пиши явно. Для 1С наименование ссылки – это примитивная вещь: выбрал ссылки из базы данных, выводишь, а наименования сами подтянутся. У других программистов так не работает. Им нужно писать явно везде, каждый раз, всегда. Хочешь текстовое наименование? Выбирай текстовое наименование. С одной стороны, это вроде правильно, но с другой стороны сильно напрягает, и ты начинаешь скучать по 1С.

https://lh4.googleusercontent.com/hM_pYgkasDCfLUNGa1cTFUK18k1pkUFQC_c2_qqK8c8nhaMV8AdIElsgKFDVP-VCyXxWxyl9KMaquzff09RxNX8G1YSg5cusNT-Zepznpez8cHK38HvoBcVNuL3D_QWUDj11Yg6C_zJtAXbYdIpAZZnUrGn5dDS9IiUYJj8J-My5J2eoROWcxYSTvQ 

 

Еще один недостаток тех ORM-ок, у которых метаданные описываются в коде. 

Объекты, которые моделирует программист – это не бизнес-объекты, не бизнес-модель, и не прообраз записи в базу. Это какие-то франкенштейны, в которых половина полей служебные, «чтобы в базу легло», а половина – «чтобы бизнес-логика работала».

https://lh3.googleusercontent.com/wbyaAGemvq7XGUBFgN1hniug4sBzDJ3QRDz3J-_9hljRHeUFxGW2XFi2qVUvZ9umhCmdg_fBwRVxQloxQqdMUPogMi7SMI-Nw0CYLMz19L6Rhh2BIxLvDbFJ2W2oXFTSgxzlIQg0dk51ty-KZTRvJD2Ko3c5hrbIKPkj1NPf3uyWGrzApF3Le7q0CQ

 

Другие программисты не умеют строить модели данных и очень плохо проводят границы между доменами – где объект начинается, и где заканчивается.

Например, на слайде показан класс Customer (контрагент), у которого есть поля:

  • Id (ссылка)

  • Name (наименование)

  • BankId (ссылка на банк)

  • Bank (банк-объект)

  • Orders (заказы)

Вас не удивляет, что банк-объект находится сразу в контрагенте? Или что список заказов, который сделал контрагент, тоже находится сразу в объекте «контрагент»?

Мы в 1С понимаем, что список заказов не является частью контрагента – это просто его связанная какая-то сущность. Нам 1С логично, с помощью метаданных, помогает это настроить.

А другие программисты с легкостью могут налепить такой объект, который при считывании еще и всю историю заказов контрагента будет поднимать. И я не шучу, «настоящие» программисты даже не задаются мыслью: «А что не так?»

Мы лучше проектируем бизнес-модели, это просто факт – я с этим столкнулся на практике. Они не умеют проектировать модель данных. Понятно, что кто-то умеет, но в среднем – нет. Упрямо делают франкенштейнов с глазами на… не том месте, где стоило бы.

 

Архитектура

 

https://lh6.googleusercontent.com/sUzRgITaYkMR-abrUDlTFzMHOVupyrrBJt_qDTzXa2AUzudXIBBkRuutQ-X-3e_To7e3yUCr036wVs-hoAcRtPGKg2hMMKE-ZHOzAsqRSckKwCEIYeYVESxKg39HE_09YUgDqcjJpzVBx2b68tUH1NS9kVElb3jgih_e7AAxErBAJ9SANmeBxLbueQ

 

Логики «ПриЗаписи» или «ПередЗаписью» в большинстве ORM, как правило, нет.

Поэтому, чтобы объекты правильно работали, нужно прописывать очень много служебных обработчиков по бизнес-логике.

Например, вам в каждом справочнике придется прописывать, что есть табличная часть, которую нужно одновременно с ним читать и записывать. 

Чтобы реализовать логику «подписки на изменение» – например, при записи что-то досчитать или послать в кафку какое-то сообщение – нужен еще один архитектурный слой, который будет этим заниматься.

И так – по каждому бизнес-объекту.

https://lh6.googleusercontent.com/5TjmTRH-svP6J2hu_Hh4jD69padtayikN08bEA7Tk8SBq81nWLra0f-w072bTbNRTJqUpbNzMeOKGGYgfzW1BSNv_Bb-Ly6KdJr4C593L5TIhH3pwN9C6T2PJ5ohAenWp4uCPBxjW7p1c08pFH7ofKkCPgdX8lbaTR2m6CEcXDAKpqroUzWbagpO9g

 

Вам придется вводить еще один архитектурный слой, что-то вроде «сервис» или «служба», который будет заниматься бизнес-логикой. 

А ниже уже слой БД, который будет объекты бизнес-логики перекладывать в базу данных.

https://lh3.googleusercontent.com/3ObbO0NDLZ7s5MJrSOUz-YjAZ5qfXjrNx-2ZNEUr9aLjlhzYhrhXB7vQijeaIEeLdyD6JIu5hoZ1PTKNo1tbk7eRIC77RB9u9zuZgThvKy8nwGp-ns-PW9gQV3tWH0glftZV-3QfAW5JKD8khPd8lJEwrHoSrJAcOHszCOUxf8AfccXglnQiJCudnw

 

Все эти слои надо написать:

  • вручную;

  • без ошибок;

  • без привнесения ненужных ответственностей и без перемешивания ответственности между слоями; 

  • срочно, потому что прибегает взволнованный менеджер и кричит. «нам нужно было это сделать еще вчера, пока вы будете это проектировать, поезд уйдет»;

Из-за этого никто ничего правильно не проектирует. Работает – и ладно. 

Количество лапши и франкенштейнов, которые получаются в итоговом коде на Java или PHP в десятки раз страшнее, чем в 1С. И когда все встает «колом», рефакторить сильно сложнее.

 

Индексы

 

https://lh6.googleusercontent.com/ZBCGLIqTeyO4S_HfX3uGf96y_-YfTMIsYMyeM4JGtjZeHSOEEJjCXXiRI-q0zN3aQruJFTtxoMJguAWqHe013k4kT_CedC_P9AhQDjbKdTeFsjb7CMvay4MY8m4uSWP6hOaIf1kgrZT6AnqCCZARX4PNKVqCu3RVb-SqdKdtyORfw3f4tZcYi0OYJA

 

Вас возмущает, что в 1С нельзя управлять индексами?

В других стеках программирования вам придется управлять вообще всеми индексами. 

Никто не создаст за вас даже примитивные индексы – вам об этом придется думать заранее и выяснять, какие индексы нужны.

Это еще не все. Из-за того, что обычные программисты избалованы ORM-ками и не знают SQL, они вообще не вдупляют, что такое индексы.

Я часто спрашиваю 1С-ников на собеседовании: «Что такое индекс в базе данных?». Худо-бедно мне отвечают. Кто-то правильнее, кто-то менее правильно, но отвечают.

Java и .NET программисты вообще не знают. Все, что они могут ответить: «Ну, индекс – это какая-то фигня в базе данных». И я сейчас не шучу. Там не считается позором этого не знать.

 

https://lh5.googleusercontent.com/vg_x-VCz45rstfyYW28G_t3nRny0YLCGvLWEftsa4-rJWpNM8L40MBCahvPMZyJEEpXi0j05xdRUMYGjVVu2V0531sfox4fsm4bset6DscvLBuwBKjeDxXHno_grEM1sb4JWgn-1aIl_z7NsSm_O7IkZNAC61IJCmRYaMjqvUQTTwFPEIjZD75l_-w

 

В других стеках программирования обычно есть DBA – админ, который следит за базой данных. Но он не понимает в коде, он понимает в базе данных. 

Он видит, что какая-то выборка в базе начинает тормозить, и добавляет ядер. Или докидывает в базу индекс – при этом даже не говорит программистам, что что-то добавил. Он просто занимается тем, чтобы у него база данных жила.

Оптимизацией запросов занимаются редко. 

  • Есть возможность добавить железа – добавляют. Не хватает индексов – DBA докидывает индексы. Программисты даже не знают, что они написали кривой запрос. Написали и написали – админ базы как-нибудь вывезет.

  • Но когда ради красивого запроса вы решите переписывать код, вам придется поменять часть бизнес-логики, а это сроки. 

  • Тогда все переходят к пункту «добавим ядер и бог с ним», пока база не встанет совсем уже колом. И только тогда переписывают.

 

Клиент, Сервер и все-все-все

 

Когда вы вызываете серверный метод из клиента, для вас клиент-серверное взаимодействие происходит совершенно незаметно. Под капотом 1С делает за вас вообще все, и вы даже не думаете о том, как это происходит. 

 

https://lh3.googleusercontent.com/_gKPXkBpzBJvYC3aLDu6Yrq0DqB3i8iCI1h_B4DUmCKlc-r0DCq7H9OjKcsBPUuh3C_nie8AchcYDsShzq8EviUJaTpBB_tUfy4tJOsjOEWjGJTmiXJsBS35VU5QiLyUYbOYNaeWGoFBgNO5MsOKWeT9T7pcxmkrOVO9YBujQ1f_vt-kaM9knB_J_g

 

В других стеках программирования клиент-серверное взаимодействие выглядит следующим образом:

  • Есть JavaScript-приложение в браузере;

  • Есть сервер, с его моделью классов, бизнес-логикой и базой данных;

  • Между ними путешествует JSON. 

https://lh6.googleusercontent.com/sAilCa5W4T5eh1iGqnUcznKU2aiA-s8FcjQN6Vu3PsHNi2qhs9YVNulr0dCt1qNQmNAn0j7DmXPgcguUM1UEWscnNKMxt5QqH-5mcpKwZHEPDIL5_ASW9nRcCTDB-y9Es_x5QjqEUuIaIhvM24nBFclfXnxMXH1B6utbPzTNppdy5XKNZpq74W9-NQ 

 

Казалось бы, все, как в 1С. Но клиент в данном случае – это другое приложение. Его пишет другая команда, например, на React. 

Другая команда вообще не интересуются, какая у вас бизнес-логика. Они ждут от вас только спецификацию, чтобы в этом ТЗ было написано «Поле Валюта должно быть недоступным, если снят флажок “Валютный договор”».

Вы должны будете написать ТЗ, чтобы они на JavaScript сделали такую клиентскую логику. 

Простейшую задачу «Сделать поле недоступным, если стоит флажок» вы в одиночку сделать не сможете, ее решение займет у вас неделю.

  • Вам нужно будет составить ТЗ, проверить результаты работы фронтендеров, провести интеграционное тестирование.

  • Вы напишете сервис, выставите и задокументируете API, объясните им модель данных, какие поля у этого договора есть, в каком порядке их надо вывести на форму. 

  • Фронтендеры будут делать задачу только по вашей спецификации. Они не хотят врубаться в бизнес-логику и в смысл задачи. Им надо рисовать кнопки, и чтобы от них отстали

Неделя – на выключение поля при установленном флажке! 1С-ник выполнит такую задачу за минуту и оставшееся время будет ругать 1С. 

https://lh5.googleusercontent.com/qNAhkvdnMyZvIoLaixImPz84k8AOXateTsgA4G5lD3tqADsKytWwWal-tJ6C0a8XeDWilMzAKHgwDT0_MSSVq0udDlJvo6CMHh6ZboU1cZfQ8jMURJju23gp1kE8lMI4lOqJVtFrhv7d5uPUDcZCeT_f_iqhvzcAG9QDWDYguI0iUxFLQwAzJGY7vA 

 

А потом вам, как серверному программисту, нужно: 

  • десериализовать JSON;

  • получить объектные поля и превратить их в объект, который у нас называется «СправочникОбъект» (то, что ляжет в базу данных);

  • как правило, объект из JSON и объект в базе данных почти совпадают по полям, но не совсем, поэтому вам придется поля перекладывать по одному – при этом никакого «ЗаполнитьЗначенияСвойств» из коробки нет: придется все писать руками;

  • не забыть про логирование, про права доступа, техжурнал, телеметрию;

  • сформировать ответ клиенту.

И так по каждому объекту, и, конечно, вручную.

 

https://lh6.googleusercontent.com/CbWR4YEW9MjWMYduFiq8txqtFFQg1ZN9AfpiIG5mIqV8OZzsVzVW-RgTe9j-T-GiftV3-gepH9LZh92sSuZiPcWCWzXv291VjoNBdHWVkq7IXUt_BMqWqDIAIf145Z-zeUS8kjMXdAY9yD3BLy56XAA3sSj0FL6tMM-z8xTdHr3Gft0GG-5qr-Jszg 

 

Вот так выглядит класс заказа с точки зрения бизнес-логики, базы данных и интерфейса – вроде один и тот же объект, их поля почти похожи, но приходится перекладывать все взад-вперед.

https://lh4.googleusercontent.com/BFpcQavqRqF3zeyFMp3ghLqOKMsIer8m1h9NefQQafLfkr4q-nIM9uzTUi9NY5idfR-3RIOqZDZBORbkffaA1dDcL6y_A-FEJKwEPwWdse3yh8K674CBPYcDrabHfczoVkCLwpcwFZWwEgDHTx4wY0lebWhuPV4MC9YfExWuxilOQnAZYVcEpXradw

 

Итого – при организации клиент-серверного взаимодействия приходится тратить неоправданно много усилий: 

  • Да, они все это пишут это с нуля, все слои.

  • Есть вспомогательные библиотеки, но они слишком универсальные, и ими надо уметь правильно пользоваться;

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

  • Получается спагетти-код – летающий макаронный монстр будет доволен.

 

Роли и права

 

https://lh4.googleusercontent.com/70O8Ps043lRh3JMmHKiIH0U6KqF5rVDWxmrAlSaclB4ZGATz9MIuYfS8OSH7_wlRMilZ--sZXxSseu-6XOgC6ncQZlbMiatuO4SEVLFhfdOPblBdnGQazTYsdE_ev8rlOK7T7aB5lWUn3LsMPqqQGiVoioHdtywc2EFEawV4aIvfsyNiw_8ga_FrrA

 

Роли – это бич не только других языков, но и 1С. 

  • Мы тоже любим проектировать роли «потом». 

  • Но у нас хотя бы есть роли.

  • А там ролей нет вообще – это значит, что и саму механику контроля прав тоже придется писать с нуля. 

  • Сначала неправильно, и потом неправильно, но лучше.

https://lh6.googleusercontent.com/QMeWcA1ipIX-HduiWKD95L65leDy_lDlss37XnYGQVAw2jrRsE1VKvAJiW70utuThdk0hWLpkjumJkcK0BncbtVgCscuWlL5f2H-Se4oBm8t1SmRZDy0-Y-AYvfg2esVBhplNTiHXL0nFQ33WD2Y1ul4uaY8PNVUFjIlsA9TjsTi294r32CU2Ersbw

 

Нет ничего хуже, чем вписывать права доступа потом, уже в готовое приложение. Потому что логика уже написана – и на клиенте, и на сервере, а мы начинаем придумывать, какие поля нужно показывать, а какие не нужно.

Роли и права – это сквозная функциональность, которая должна проектироваться с самого начала, на этапе бизнес-анализа, до появления первой строчки кода. Если у вас в принципе нет механики ролей, и вы ее пытаетесь как-то вписать потом, то получается такая каша в коде, что даже страшно.

В 1С изначально заложены механизмы для ролей и прав – мы можем проставить галочки доступа к объектам потом, хоть как-то это впихнуть.

А у них даже этого нет – им приходится все с нуля изобретать. И сроки опять затягиваются.

https://lh4.googleusercontent.com/h9QYqOu5s1ITdTriujifceKT5qC2AeCO6wXRftEkAYZYF5yWnOj55TL9nk__b8rAfYXOPL49CB-VpYSq0odGcGED34YHcfN6zaOHEhpFN0OIwoL6Jl5XH-aypL3gbuJJiaTiJKVH27bATP4J8d1vSIiHjJe5rBMH0Ul_-HhVLWf5NSu6olgKuMtpSQ

 

Мой любимый пример – как на 1С сохранить счет в PDF? Мы записываем табличный документ и сохраняем в PDF.

Как сохранить какой-то счет в PDF на Java? Бесплатной и хорошей библиотеки, чтобы скормить хороший макет в PDF нет ни на Java, ни на PHP, ни на .NET. 

Есть приложение html2pdf.exe, которым пользуются все, потому что он бесплатный. Это внешний процесс: вы его запускаете, кидаете ему HTML, а он вам конвертирует в PDF. Он бесплатный, но медленный, и результат часто получается кривой.

Есть хорошие платные библиотеки. Причем, чем лучше библиотека, тем жаднее ее авторы. 

Никто не даст вам хорошую библиотеку для формирования PDF, т.к. это увеличение бюджета. Вы будете есть кактус и плакать, но формировать PDF, вызывая внешний процесс.

 

Аналитика и постановка задач

 

https://lh5.googleusercontent.com/WDYQiIHSVfbqeK1uPEyggX4nMiF139EUxoskl4DeHIH1_6uudtXrCVnnqu0rpnyBw5tSfXnrkcdP3KxkjgqGIXxfA85eV_4fC1jTNj3FSfRISEgmWew95btKFlnl7ug57hX7k10Wf6t-8diKIdyg9DO5i7EcLu-oRuZ7XYkXPIsC4LtvzuYkYzKgTA

 

1С-ники – очень хорошие аналитики. Если к вам прибежит нервный менеджер и начнет на вас ругаться, вы хотя бы сможете с ним поговорить на языке бизнеса.

В других стеках программирования очень плохие аналитики. Это правда.

https://lh6.googleusercontent.com/jAf6NHBdtlJk0h4Dpxl5Sj8ZQVWzIuXM6WMNc-LjDTi2CZ2jIs7JaQz6ovwJGElyfvT8uDOCmhIjoab2Vxio2p0wDhtB9R9ZSgo_BioDtZHVUD2ldCjHdKEv2DGzd0YpxDrpnQayLrTbEdb1NpAcpfj5yx4d0RkiF9FdZPq_rjOUZbWJI8_-fgxkWQ 

 

1С-ники – лучшие аналитики из всех возможных. Они понимают бизнес и говорят на его языке. Они задают себе вопрос: «Зачем поставлена задача?».

Программисты на других языках не задают вопросов о задаче. Они ждут, что аналитик им принесет некий текст, и они сделают так, как этот текст поняли. Если аналитик плохой, то и код будет плохой.

А если еще и сроки горят, то: «а когда же мы код писать будем? Сократим время на написание ТЗ!». 

В итоге получаем короткое ТЗ из трех слов – как понял, так и реализовал. Реализовал не то, переделываем. Плюс еще технологические сложности.

Разработка бизнес-приложений на других языках, по сравнению с 1С, – это катастрофические потери времени. Мне просто жалко время и бизнес, который это заказывает.

 

А как же Agile?

 

https://lh4.googleusercontent.com/DSjvVYBJw-fF5uN3KqIUaR2ZFL-5gH65L8AD4mGBdA7Vej9Y4ZSnn6xzIw4Ic7PP86fz0yC5dfqSH35TP0QC85RNGgyfSDtBpHTb015eeS7qP5sLx5xTWdIgb1kTnJh3KnR0JGSbGRPR_QPCfodNng1-C7gx1RL2-gzggE8MotbT8Lpt1fNIul7j3Q

 

В этом плане хорош аджайл, но только если все играют по правилам. 

Все будет работать, только если бизнес понимает, что такое спринты, и почему нельзя в середину спринта бахнуть еще пул задач.

Если бизнес в середине спринта говорит: «Все, о чем мы три дня назад договаривались – идет лесом. Берем новые задачи в спринт», то это нифига не аджайл. 

Чаще всего происходит вторая ситуация. Реже, когда бизнес принял правила игры.

Вывод: аджайл работает только для сферического бизнеса в вакууме. В реальной жизни, он, к сожалению, хромает.

 

Стоит ли переходить из 1С на другие языки

 

Я рассказал всяких страшилок, и теперь вы, наверное, думаете, что из 1С не стоит переходить. Однако все не так просто.

https://lh5.googleusercontent.com/qhJd13ZC9tZ3ctUFg-sS6waeLXvGMP8qaDX8vNh5LYBQr9nXmBqB4WHyP0fGkOzyDr2RJuimqCgbfVuP6qVy9z4MPtL6W_709odFGXuwwQvrKWdFwRYsSJYwLVz1eKG84BgK0n00ba0OtN8o8EO_ShBd60Kjjy8QpNJghMVq-ZJYEF6lU98PJUxbfQ 

 

Нужно взвешивать плюсы и минусы. 

  • Например, в других языках есть объектно ориентированное программирование, классы, можно на низком уровне щупать байтики – это все очень интересно.

Но это не преимущество, а геморрой:

  • Как только дело доходит не до развлечения, а до конкретных задач с конкретными сроками, завязанными на вашу зарплату, то задача превращается в ужас, а не в развлечение.

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

  • Вы будете скучать по 1С, потому что потери времени на фигню будут просто катастрофические.

 

https://lh3.googleusercontent.com/IocBVJWEhtQDMa-CMWq49g4zHOww5Gfbk11cFOb2UQiiLfaHCynrUEU3OMRhoW0kwNoTmO7ylWCaoTdPzAeO7STg35FkuFR2o9EdOgXPBtEonSBZYZITePwcIWEQbByj4vmOJ4lVo6wC7RhK7YoNMBUFqP6Nh_C6lJzxCxhAoLaZZc2HyOxxn38npQ

 

Правда, что там больше платят? Платят там по-разному. У меня есть информация только по Москве, так как я там живу. 

Действительно, в Москве можно с ходу обнаглеть и попросить больше денег, но не всегда.

Я встречал Java-программистов, которые приходят на 100 тысяч рублей и встречал 1С-программистов, которые приходят на 200 тысяч рублей. Я не знаю от чего зависит такой разброс зарплат.

Зарплаты программистов во всех стеках плюс-минус одинаковые, с некоторым разбросом, сложившимся исторически. Правда, наверное, в том, что платят тем, кто помогает делать дырки на стенах. Тем, кто решает задачи, а не тем, кто пишет код.

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

 

https://lh6.googleusercontent.com/Z_JS9EjJBn92PYV2wwTJY8Cn20BQBuOzhNOlbTdxkO_DfsvMSUJGX8xK1Z1q_N5XtsJJlb88bxIxvr-_il1d-LxqLUDU8G4Ae_4vKiImpvtHwaFDtmHhy1oe-0vPQ-rA_xj9W603PSeB3I4nSYIR5FrP-G4MurSLzHxAx--JkD404p1o5qFPj3t8Sw 

 

Цитата: «В 1С невозможно получить сложную масштабную задачу, а в других языках настоящий HighLoad». Это ерунда и чушь. Просто найдите себе нормального работодателя.

В основном, 90% «настоящего» программирования – это те же самые формочки, записи в базу данных, селекты. Отличий практически нет. Вы не почувствуете разницы с точки зрения каких-то там масштабных или сакральных задач.

 

Ну так переходить или нет

 

https://lh4.googleusercontent.com/XnQQaHxqg68q3BYL50-Ynz8HRWs4kB1tjdaOHf6N5TMtalVE_RDuM69FmNDdBj-p4ED2hyalYjGpk6Tmvshlrvhi21G7wnpsSLOxwDi15jfIvfGZ9_T4-an_hJeoMc6mgikinzYtQzvv3kfTuQ1AQcaV3Y21gIbSXpDiRM5eqXB1qNyj6z9owdr78w

 

Конечно, переходить. Если тянет и хочется, надо пробовать. Вернуться всегда успеешь.

 

Будете ли вы больше получать? 

Не факт. Сейчас очень активизировались эйчары, все время пишут письма и звонят. Рынок перегрет. Можно обнаглеть и попросить сходу какие-то деньги. Если справитесь, то справитесь. Не справитесь, вас выгонят и вернетесь в 1С. Пробовать надо, я считаю.

В 1С сейчас все стабильно, а сможете ли вы там?

Есть такой страх «смогу ли я?». Сможете. 1С-ники реально умнее. Вы умеете строить архитектуру данных и анализировать бизнес-процессы. Там этого никто не умеет.

Вы однозначно будете скучать по 1С. 

Будете говорить: «Господи, неужели я должен неделю кодить то, что раньше делал за две минуты». Такие ситуации будут, и они будут тянуть назад.

Вы даже захотите написать свою 1С с мыслью: «Я же знаю как надо, я знаю как всем спасти жизнь!»

Вы будете писать свой 1С-подобный фреймворк. А потом прибежит менеджер и скажет: «Ты чем тут занимаешься?» Он даст вам втык, заставит написать костыль и захардкодить всякую ерунду. И в таком виде выйдет в продакшн, потому что красивая архитектура никому не нужна, нужен результат.

https://lh5.googleusercontent.com/PDJp-oO6l1cMbXvHiDU9UD64_r1uheXq9OAs9wcaX211IEQTRp_zdCrxX2qTUS03Bc8TyaB7kIxO_vG3WBw_USBg6qBxAomrRZrRNZryNHPzNFkIslfOeWQ-PR309e7CO9GUCq749hZHBUXIWzM-pEw66YUcd1pxRWjolUS2FibLUAIw6TI-AOcZzw 

 

Навыки 1С-ника на порядок полезнее для бизнеса, чем навыки кодить какие-то сложные алгоритмы со структурами данных. Тем более, что в энтерпрайзе никто не кодит какие-то волшебные сложные алгоритмы, это миф. Там действует та же схема: сохранил, записал, добавил, прочитал.

1С-ник умеет «из коробки»:

  • понять, как надо проанализировать задачу;

  • как снять требования;

  • построить корректную модель данных;

  • определить, где не хватает контроля прав доступа;

  • спросить какая будет отчетность;

  • оптимизировать кривой SQL запрос, созданный ORM;

  • и многое другое, потому что у 1С-ника нет границ. 

Вы точно справитесь. Вы не глупее всех этих снобов, которые считают, что 1С – не настоящее программирование. Это чушь.

https://lh5.googleusercontent.com/qhzt__Oen0LqNqx8YrnE-4Kj5FJ6uRueg5t4BG2jHb-eJGl8zXSUVz0IcJ9R9d8UlDUGJi_L2Krv7Xqy-ZBy9iC3PL1c6lnCpZW7pMjahErtNzmar1s6CED44xunsJ2ubbrAAHnODu-4TiloGNiZcXOzleHB2PNcvOgd24E80JJzJgPTDkSDjrAIgw 

 

Если кто-то все еще очкует, смотрите по своим силам. Если вы видите деньги и перспективы – переходите. Вернуться никогда не поздно.

Я вернулся, потому что мне интереснее видеть результаты своего труда и пользу. Мне не интересно кодить код для того, чтобы это хоть как-то заработало. Мне интереснее видеть глазами то, что я делаю и что это работает.

В 1С я получаю результат. Я не пишу код ради кода.

Код, как вы знаете из начала доклада, – не нужен. Нужен человек, который решает задачи бизнеса. А это именно вы! Все в ваших руках.

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на конференции Infostart Event 2021 Post-Apocalypse.

Инфостарт A&PM Event 2026

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Истории из профессии Россия Бесплатно (free)

Описываю кейс оптово-розничной компании, где хаос в учёте собственник объяснял не ошибками ведения учёта и интеграции с бухгалтерией, а "высшими процессами" - обрядами в горах Перу.

28.07.2026    543    0    Ferra_Shap    13    

1

Истории из профессии Россия Бесплатно (free)

В данной публикации я расскажу, как я, будучи бухгалтером, пришла в сферу 1С и стала Аналитиком 1С.

21.07.2026    589    0    cheplinok    5    

4

Истории из профессии Бесплатно (free)

Собственник часто приходит не за управленческим учетом, а за ответом на вопрос: почему деньги ходят, бизнес работает, а реальной картины нет. Разбираю, что происходит, когда бизнес впервые показывают в цифрах: где одно направление кормит другое, почему “снял деньги” не всегда значит “заработал”, и почему реальность не обязана нравиться.

22.06.2026    607    0    apatyukov    0    

3

Компетенции и навыки Истории из профессии Бесплатно (free)

Чем консультант по постановке управленческого учета отличается от консультанта 1С? Один работает с инструментом. Другой — с учетной функцией бизнеса: людьми, процессами, правилами, данными и ответственностью.

19.06.2026    729    0    apatyukov    3    

2

Истории из профессии Бесплатно (free)

Почему главный бухгалтер иногда воспринимает постановку управленческого учета как нападение? Потому что бизнес вырос, а учет остался в старой логике. Разбираю, почему сопротивление вызывают не люди, а новые требования: другая система, больше аналитики, быстрее первичка и ответственность за цифры.

16.06.2026    1054    0    apatyukov    16    

12

Истории из профессии Россия Бесплатно (free)

Можно ли после 30 лет, без технического образования, с юридическим прошлым и стабильной службой перейти в IT и стать 1С-разработчиком? А если до льготной пенсии осталось всего три года, вокруг отговаривают, рабочего графика как такового нет, а учиться приходится в 5 утра, по вечерам, в выходные и редкие минуты между делами? Это личная история перехода из правоохранительных органов в 1С: без сказки про легкий вход, но с честным разбором сомнений, подготовки, отказов, первой работы и навыков, которые неожиданно пригодились в новой профессии.

15.06.2026    952    0    NikolayMaerov    22    

6

Истории из профессии Россия Бесплатно (free)

Три разных проекта. Три похожих сценария. Меня приглашали как программиста 1С, а по факту я делал многое другое. Потом меня убирали как “неудобного программиста” — и через время звали обратно. Статья о том, почему неправильное позиционирование ломает ожидания клиента, создает конфликты с главбухами и финдиректорами и заставляет специалиста доказывать не результат, а право заниматься своей работой.

09.06.2026    1042    0    apatyukov    25    

11

Коммуникации Истории из профессии Бесплатно (free)

«Почему он, а не я?» обычно звучит как смешная фраза про обиду и сравнение. Но в рабочей команде она становится совсем не смешной, когда человек случайно узнаёт, что коллега на той же роли получает больше. С этого момента одна цифра запускает спираль: сначала недоверие, потом молчание, потом апатия, падение качества и тихий уход.

09.06.2026    1311    0    IgorVasilyev    31    

14
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. updsetup 30.09.22 12:51 Сейчас в теме
Спасибо за статью!
Yakuskenergo; user1765351; vakham; sertak; olexi2012; Meownchin; ardn; +7 – Ответить
91. user2525 04.10.22 09:01 Сейчас в теме
111
(1)

Я и в 1с удалю таблицу, если скажут. Пусть об правильности болит голова у аналитика. И на 1с у меея никак не получается написать драйвер. И 1сники тупеее, конечно. Это заказная статья
Kastello; OneScan; Dmitri93; nurik727; +4 – Ответить
193. Evil Beaver 8429 02.12.22 10:30 Сейчас в теме
(91) Где мои деньги за заказ?!
2. shilovev 30.09.22 12:53 Сейчас в теме
Блестящая статья!
Теперь нужна ответочка от "настоящих программистов" ))
Forest_Owl; Moto45; TerveRus; rabid_otter; Sh00rick; user1824735; MKassatkin; Senator_I; sertak; olexi2012; SergeyTerentyev; user1822636; teyana; Lemmonbri; user803412; ardn; berd1c; dnikolaev; Meownchin; +19 –1 Ответить
20. Lemmonbri 178 30.09.22 15:34 Сейчас в теме
(2) на ютубе уже развели такое в комментариях)
baracuda; kser87; +2 – Ответить
22. ubnkfl 30.09.22 23:12 Сейчас в теме
(20) я посмотрел профиль одного из "критиков", он подписан на каналы типа А4 и прочее. Т.е. ему по голове - лет 14 от силы. Ценность тамошних мнений нулевая.
Moto45; pvk1978; +2 – Ответить
25. hamsar 17 01.10.22 03:45 Сейчас в теме
(2)
Теперь нужна ответочка от "настоящих программистов" ))


ответочка от перекатчика из 1с в python higload microservice senior -> "автор клоун, который зачем то натянул сову на глобус". Представил и нашим и вашим.

Я напишу позже отдельную статью. Почему компания 1с конченные с их орм и ide, а пока выжимка из этой статьи, чем бы вы не занимались вам станет скушно и такие задачи вы на 1с не решите, а если и решите это будет не конкурентно.

https://habr.com/ru/company/yandex/blog/689592/
https://habr.com/ru/post/690292/

А такие решите на классических яп, и сможете заработать на пару тесл, вы не сможете заработать в 1с больше чем в классическом программировании просто потому, что российский рынок не конкурентноспособен.


А программист на других яп, сможет решить вообще любые задачи но видимо, если не подлизать 1сникам то доклад никто слушать не будет.
Как сравнивать программиста на кобол или екселе, с программистами вообще.

да вообще 1с это фреймворк типа джанго или торнадо, и сравнивать фреймворк с остальным программированием...
goatmen; Dmitri93; Necessitudo; YA_980309683; wuff; ivanchai; Borometr; ice-net; olexi2012; scanner1980; bliver; OneScan; rabid_otter; kirinalex; +14 –4 Ответить
50. bulpi 219 02.10.22 22:19 Сейчас в теме
(25)
"и такие задачи вы на 1с не решите"
????? Чего это вдруг ????
Будет медленнее работать, но решить можно.
55. hamsar 17 03.10.22 02:35 Сейчас в теме
(50) да давайте щашки делать на 1с, это же такая крутая идея
YA_980309683; ivanchai; +2 – Ответить
51. Evil Beaver 8429 02.10.22 22:29 Сейчас в теме
(25) Задача поджечь пятое место - выполнена, я доволен. Вы слишком серьезны, милейший, раз не выкупаете намеренной гиперболизации темы. Писать плохой или хороший код можно на любом языке, странно, что приходится это пояснять
baracuda; ardn; siliconvalet; Talin; Iren1809; primat; SergeyTerentyev; ktb; AllexSoft; +9 –2 Ответить
56. hamsar 17 03.10.22 02:37 Сейчас в теме
(51) т.е. признаете что доклад однобокий, и направлен в сторону 1с молодцы остальные голубцы
108. пользователь 04.10.22 16:40
Сообщение было скрыто модератором.
...
127. Koba.yu 05.10.22 14:49 Сейчас в теме
(25)Бессмысленная и оторванная от жизни хрень. (я про ссылки на хабр)
baracuda; Moto45; Talin; kser87; pvk1978; +5 –1 Ответить
132. hamsar 17 06.10.22 07:34 Сейчас в теме
(127) в первом случае можно обнаружить, кишечную палочку и не заразить вас при купании в местном водоеме.
во втором показать вам направление движения ветра на сайте погоды
136. SergeyCL 06.10.22 17:16 Сейчас в теме
(132) 1С не для этого. Да, такие задачи не нужно решать на 1С
Iren1809; pvk1978; MrBukas; +3 – Ответить
188. kser87 2485 14.11.22 10:15 Сейчас в теме
(132) вы это всерьез? Кажется, что вы совершенно не врубаетесь, зачем вообще нужен 1С.
190. hamsar 17 15.11.22 08:46 Сейчас в теме
(188) ну а если бы я привел, озон или вайлдебирис 1с бы справилась с такой задачей?
191. kser87 2485 15.11.22 09:04 Сейчас в теме
(190) озон и вайлбериз со своими задачами без 1С не справляются. Так было бы точнее сказать
169. TerveRus 03.11.22 15:39 Сейчас в теме
(25) ну давай, озвучь задачу. Или в целом про задачи вам не рассказывают, а только данные туда-сюда перекладываете?

Или вы там игры только пишете, что на 1С нельзя это решить?)
195. hamsar 17 14.03.23 07:16 Сейчас в теме
(25) я там статью на хабре зафигачил можете поиметь меня в коментах https://habr.com/ru/post/722002/
165. rabid_otter 134 28.10.22 18:20 Сейчас в теме
194. alexey_kurdyukov 213 10.01.23 14:40 Сейчас в теме
(2) Полный хабр и вообще любой сайт таких ответочек, одинэсников более-менее всерьёз стали воспринимать только лет 10 назад, если не меньше
3. cosmo2004 38 30.09.22 13:23 Сейчас в теме
Отличная статья! Актуальная, сам задумывался о переходе на другие языки программирования.
ivanchai; olexi2012; +2 – Ответить
4. berd1c 30.09.22 13:24 Сейчас в теме
Правда жизни, отличная статья!
Когда ты программист 1С с опытом, то в любой сфере деятельности ты уже знаешь, как можно "применить" 1С для ведения учета, автоматизации бизнеса...
5. shmalevoz 315 30.09.22 13:38 Сейчас в теме
есть сильно обратная сторона медали - подобная модель сильно "расслабляет" 1С специалистов и они рассматривают задачи в контексте "лишь бы были решены бизнес-задачи". ища сиюминутные решения, решительно неподдерживаемые.
и простота фреймворка стимулирует не только скорость решения задач, но и отсутствие вообще какой-либо культуры кода. возникает множество "специалистов" а-ля быстренько как придутся пропатчили типовую, бизнес доволен и все "ок". что даже в среднесрочной перспективе совсем не гуд.
кажется надо бы сделать важную ремарку - за всякими такими "быстрыми" решениями надо бы наблюдать, или допускать до них опытных и ответственных специалистов. ну или они вполне допустимы где-нибудь на ИЧП Палатка 32 =)
Forest_Owl; Yakuskenergo; Dmitri93; paramedik; AllexSoft; olexi2012; a_a_burlakov; pavlov_dv; Artem-B; SeiOkami; +10 – Ответить
19. fatman78 21 30.09.22 15:10 Сейчас в теме
(5)Ничего не мешает программисту гавнокодить на любом языке. 1С уже давно стандарты разработки публикует. Но к сожалению не все программисты читают стандарты от 1С, и еще меньше тех, кто их соблюдает.
Forest_Owl; Moto45; Iren1809; TerveRus; freeek; Сто27001; +6 – Ответить
33. ats333 10 01.10.22 13:28 Сейчас в теме
(19) 1. Нет нормальной иде, которая поможет эти стандарты поддерживать.
2. Никто не готов за это платить.
cheburashka; Dmitri93; lebedovskiy; olexi2012; OneScan; Brawler; +6 – Ответить
109. ivanchai 04.10.22 16:42 Сейчас в теме
(19)у них все меняется по сто раз за год)))) хрен уследишь
184. user598231_nicka 14.11.22 09:10 Сейчас в теме
(19)
Угу, только вот 1с забила на стандарты.
Ерп 2.5.9. Свежие приколы.
Для проведения документа за ноябрь 2022 нужно открыть январь 2021. Иначе не проводится.
Там же - при обмене по встроенному Эдо сносятся проводки документов прошлых периодов.
Там же - нельзя перепровести или распровести взаимозачет цепляющий прошлогодние доки оплаты, ибо система расчетов в фоне прописывает его в исходный документ. Спасибо хоть проводки по регистрам прошлогодние не сносит.
Итд итп.
123. gaglo 05.10.22 10:23 Сейчас в теме
(5) ...расслабить можно лишь "специалистов", а специалисты без ковычек не расслабляются, в любой области, и за пределами программирования тоже.
6. SeiOkami 3655 30.09.22 13:41 Сейчас в теме
Тоже хочу пилить свой 1С-подобный фреймворк. Кто последний в очереди?
Moto45; TerveRus; +2 – Ответить
170. TerveRus 03.11.22 15:42 Сейчас в теме
(6) очередь большая, но так никто ни одного фреймворка и не запилил.
7. biimmap 2128 30.09.22 13:43 Сейчас в теме
Я вот на дух не выношу англоязычные языки программирования. Несмотря на профильное образование!

На третьем курсе впервые увидел язык программирования 1С (2003 год). Сразу же решил что буду работать именно в этой сфере!
Дальнейшее обучение в институте было "для галочки". чтоб диплом получить. Программирование на так называемых "языках высокого уровня" не вызывало вообще никакого желания)

Но как говорится - это всё вкусовщина)
Forest_Owl; Perfolenta; Поручик; +3 – Ответить
8. Поручик 4611 30.09.22 13:44 Сейчас в теме
Недавно грузанули задачами по питону и Джанго. Ни то ни другое раньше в глаза не видел. Ничего, разбираюсь, уже кое-что достиг. 1С, php и прочее никуда не делись.
freeek; SagittariusA; nurik727; papami; +4 – Ответить
9. Quantum81 7 30.09.22 13:48 Сейчас в теме
Чёт лень много писать. Кончено, сила разработчика не определяется языком. И то, что тут Андрей пишет уже и присуще проектам на 1с. (про "тупых" кодеров :( )
По поводу перехода, можно провести мысленный эксперимент. Вот 1С плюнет на нас и скажет, а давайте весь код модулей будет на С++. Вот что сильно изменится в вашей работе? Ничего! Вы только сможете более круто и глубоко говнокодить. А если будут теже сроки что и сейчас, то ни в какую глубину вы не полезете. Более того, даже если будет ошибка платформы, вы вряд-ли полезете её править. Вы будете так же ждать исправления. (последнее для апологетов, что если бы код платформы был открытым.. бла... бла.. )
И все равно много букф написал :) значит зацепило :)))
Forest_Owl; +1 – Ответить
10. Bayker 30.09.22 13:49 Сейчас в теме
Дочитал до конца, прикольно.
Как раз посещала мысль куда нибудь переметнуться.
11. mas_kot 84 30.09.22 13:50 Сейчас в теме
Слушал в записи, плюсик поставил, вторая часть про "1С много вещей облегчает": клиент-серверное взаимодействие, работа с объектов и так далее - "по фактам" как говорится) Но хочется пару слов критики. Причём не являюсь "настоящим программистом" - вопросы назревают сами собой в процессе просмотра, как только начинаешь думать немного дальше "да! мы самые умные!"

- «Зачем поставлена задача?» - с позиции архитектора это естественный вопрос, но много ли программистов-консультантов задают этот вопрос? Вспоминая себя и ребят из франчайзи, назревает ответ что нет - это приходит с опытом. Так что где тут достоинство 1С - я не очень понимаю. Можно сказать, что "вот окружение, оно показывает тебе как правильно!", то тут 1С тоже как-то не причём
- "Нет соблазна налепить интеграцию «прочитаем из базы соседей»" - а разве в 1С нельзя налепить такую интеграцию? Можно - и 1С тебе тоже не запретит это сделать из кода, даже не поперхнётся. И тоже потом будет "а всё сломалось!"
- А другие программисты с легкостью могут налепить такой объект, который при считывании еще и всю историю заказов контрагента будет поднимать. - мы будем в "настоящие программисты" записывать людей, которые не умеют в абстракцию? А в 1С такого не происходит? Нельзя заказы в справочник поместить? Странно - я то как раз на заре работы во франчайзи даже курс видел где так делали, благо до этого в типовых уже насмотрелся, что это разные сущности. Так что тут тоже не достоинство 1С, а фактически регламентирование проектирования.

Ну и там ещё мелочи, но с той же претензией: первая часть - это достоинство не 1С-платформы как таковой, а той же стандартизации, регламентов, примеров в виде БСП. И так получается, на мой взгляд, в результате естественного роста программиста из "техподдержки", когда ты больше постигаешь как пишут "нормальные 1С программисты", в отдельного "нормального 1С программиста" - тут в принципе любой более-менее освоит "правильную" архитектуру. И, снова оговорюсь, тут достоинства 1С как платформы не вижу...)
Forest_Owl; My_Victory; paramedik; +3 – Ответить
39. starik-2005 3309 01.10.22 23:00 Сейчас в теме
(11)
мы будем в "настоящие программисты" записывать людей, которые не умеют в абстракцию?
В 1С много хорошего, но для хайлоада она просто сама по себе плоха. Во-первых, при изменении шапки будут перезаписаны все табличные части. А в них может быть овер дофига всего. И если у нас нет очереди клиентов, то мы и не паримся - просто перезаписываем все в транзакции, хотя никаких изменений итогов и не происходит - мы может просто справочник писать или документ без проведения. Да, отдаем все на откуп платформе, которая тупо блюдет ACID. Но если вдруг оказалось, что мы решили сначала записать, а потом провести, сделав это раздельно (три потока записи, пять потоков проведения), то все, что мы проводим, мы записываем еще раз (т.е. в транзакции сначала DELETE, потом INSERT, абдейт только для итогов в регистрах накопления, ну так этих таблиц как бы и "нет" - они виртуальные). С таким подходом хайлоад в принципе противопоказан, а что-то с этим сделать ты не можешь от слова "совсем". Ну и во-вторых - долбанная реструктуризация. Ты не можешь произвести миграцию через абдейт - платформа это не умеет, она умеет создать новую таблицу и медленно по несколько штук копировать туда старые данные. И такое впечатление, что каждая копия делается с соблюдением этого ACID, т.е. атомарно в транзакции пообъектно. Да, если немного что-то поменалось, то, поставив джаву на сервак и повинтив конфиг, ты можешь иногда получить альтер тэйбл, но вообще никто не знает, в каком случае это сработает, а в каком - нет. Приходится каждый раз тестить, а потом выбивать технологическое окно. А все эти "фоновые" реструктуризации просто приводят к недоступности таблиц, которые подвергаются изменениям. Это архитектурный пипец 1С.
Ну и ты никак не можешь повлиять на реальные запросы к СУБД, т.к. тебе недоступны ни хинты, ни большинство операторов языка. А костыль, который 1С прикрутила в оператор автонумерации строк в запросе - это отдельный перл. Интересно, заплатили тому, кто этот изврат придумал при наличии приличных возможностей сделать то же самое без извратов, премию?
Yakuskenergo; cheburashka; OneScan; mas_kot; ice-net; AllexSoft; Dach; zqzq; +8 – Ответить
41. kirinalex 16 02.10.22 05:47 Сейчас в теме
(39) "при изменении шапки будут перезаписаны все табличные части."
Вроде бы неизмененные ТЧ не перезаписываются. Нет?
52. Evil Beaver 8429 02.10.22 22:32 Сейчас в теме
(41) этого нигде не гарантируется, насколько я знаю. Как оптимизация - возможно, но гарантии нет. В общем случае - перезаписывается всё и каждый случай, когда это не так, следует считать везением.
144. Slava_prog 07.10.22 09:14 Сейчас в теме
(39)
Насчет реструктуризации не совсем так.

Реструктуризация может выполняться двумя разными способами:

● Обычный механизм реструктуризации. Единственный вариант реструктуризации в «1С:Предприятии» версии 8.3.10 и младше.

В данном режиме реструктуризация всегда выполняется через создание копии каждой изменяемой таблицы с последующим преобразованием каждой строки данных в конфигураторе или на стороне сервере (в зависимости от настроек выполнения реструктуризации).

● Оптимизированный механизм реструктуризации. Работает только для клиент-серверного варианта работы информационной базы в том случае, если в качестве СУБД используется Microsoft SQL Server или PostgreSQL.

В данном режиме происходит попытка выполнить максимальное количество действий на стороне СУБД, а также выполнить модификацию существующих данных и индексов вместо создания копии и переноса данных с обработкой. В данном режиме большинство действий выполняется на стороне сервера системы «1С:Предприятие».

При выполнении реструктуризации из конфигуратора, используемый механизм реструктуризации определяется параметром UpdateDBCfg файла conf.cfg
145. starik-2005 3309 07.10.22 09:18 Сейчас в теме
(144) ну я об обоих вариантах и написал с помеикой о том, что второй вариант требует трех вещей: джавы, правки конфига и проверки, ибо далеко не всегда в нем система использует "быстрый" кейс. Пробовали, знаем.
146. Slava_prog 07.10.22 09:58 Сейчас в теме
(145)
(145)
Насчет джавы согласен. Зачем 1С её использует непонятно. Мне всегда нравилось что платформа самодостаточная.
У меня пока положительный опыт. Я конечно сперва та тестовом стенде смотрю поведение.

Удалось выявить в каких случаях реструктуризация пошла по обычному сценарию ?
147. starik-2005 3309 07.10.22 10:25 Сейчас в теме
(146) ну так там написано, что 1С пытается все сделать на стороне СУБД и модификации мутнуть средствами альтер тейбл/альтер индекс. Но пытаться еще не значит сделать. Наблюдал, что при добавлении регистратора к регистру бухни это не работает, хотя там вот вообще изменений нет. При добавлении полей вроде отрабатывает, ну так сейчас уже привыкли все и всё добавляемое кладут в регистры, ибо часто добавляемому нужны двты начала действия.
12. alexshtenn 577 30.09.22 14:01 Сейчас в теме
Прекрасно. Все по делу и с примерами. А то набегут обычно, все обхают и свои точки зрения объяснить не могут, дескать так просто надо и все. Спасибо за статью.
Forest_Owl; +1 – Ответить
13. Поручик 4611 30.09.22 14:05 Сейчас в теме
Афтырь не в теме. Бесплатная и хорошая библиотека, чтобы скормить хороший макет в PDF на PHP есть, успешно работает на наших сайтах лет 5 пять, Называется mPDF - это библиотека классов PHP, которая генерирует PDF-файлы из HTML-кода в кодировке UTF-8. Так что не свистите и считайте, что облил помоями.
Moto45; OneScan; +2 – Ответить
17. Dimanchik00 8 30.09.22 14:48 Сейчас в теме
(13) Так Андрей и написал, что генерация из html.
53. Evil Beaver 8429 02.10.22 22:33 Сейчас в теме
(13) Я, конечно, не изучил все-все-все библиотеки на рынке, но для Java и C# ситуация прям горькая. Для PHP наши пхпшники тоже юзали консольный html2pdf, возможно они не знали про mPDF, а может она им не подошла, тут уже их надо спрашивать.
Forest_Owl; Moto45; TerveRus; +3 –1 Ответить
14. AntonRealIT 40 30.09.22 14:33 Сейчас в теме
ОГОНЬ! Концентрирования мудрость в каждом предложении!
Gulloper; Сто27001; SergeyTerentyev; +3 –1 Ответить
15. user767423 30.09.22 14:36 Сейчас в теме
Отличная статья. Это правда. По работе часто приходиться работать в команде с программистами на других системах, разработка на других платформах занимает в разы больше времени по сравнению с 1С.
Gulloper; Сто27001; oleg-m; AllexSoft; +4 – Ответить
16. Dimanchik00 8 30.09.22 14:47 Сейчас в теме
Теперь буду статьей тыкать своим оппонентам, что за пределами 1С средний бизнес-IQ ниже. А то достали уже. Сам не переходил в другие языки, но нахлебался взаимодействий с веберами. Задорнова вспоминал после каждого совещания.
P.s Эх, не сидится нам на месте и за язык нас вечно тянут. На день карьеры 1С в 2015 выступал перед студентами с докладом "Зачем идти в 1С" :)
TerveRus; Сто27001; +2 –1 Ответить
49. OneScan 110 02.10.22 21:46 Сейчас в теме
(16) Тыкая этой статьей только усилите мнение, что у 1Сников IQ меньше.
paramedik; SagittariusA; CK3; rabid_otter; hamsar; +5 – Ответить
171. пользователь 03.11.22 15:50
Сообщение было скрыто модератором.
...
18. Krasnyj 1289 30.09.22 14:54 Сейчас в теме
Великолепно написано 👍
21. axelerleo 327 30.09.22 20:34 Сейчас в теме
Отличная статья! Но как водится, истина где-то посередине. Хороший фуллстак будет представлять себе и структуру данных, и sql запросы, и много чего еще. А тем, кому надоело 1С-ить, но боязно уходить в "настоящее программирование" - попробуйте 1С Элемент :) Будет вам и веб-разработка, и пулл-реквесты, и облачная IDE с преферансом и куртизанками, и отсутствие многих плюшек, которые есть в 1С. Но в более легкой версии))
А многие веб-фреймворки не сильно уступают по уровню абстракции платформе 1С. Тот же Ангуляр, не к ночи будь помянут :)
То что 1С-разработчик сочетает в себе навыки и компетенции половины отдела, включая DBA, аналитика, бэкэндера и формошлепа UX/UI дизайнера - несомненный плюс, но есть и многие разрабы, которые могут только по ТЗ манкикодить.

З. Ы. , судя по последним событиям, с названием "Post-Apocalypse" чутка поторопились)))
Forest_Owl; TerveRus; +2 –1 Ответить
90. Dimanchik00 8 04.10.22 06:25 Сейчас в теме
(21) Можно провести "Post-Post-Apocalypse"
23. RRmice 2 30.09.22 23:58 Сейчас в теме
Проработал 10 лет в 1с. Сейчас 1.5 года как программист Java.

При переходе я потерял 100 тыр/месяц, но я все равно радовался каждому дню.
freeek; Dmitrij-2; OneScan; kirinalex; Andrey_Timofeev; rabid_otter; SeiOkami; Leonard; +8 – Ответить
28. a_a_burlakov 293 01.10.22 08:22 Сейчас в теме
(23) А поделитесь: как сейчас доход, через 1.5 года?
freeek; rabid_otter; kirinalex; SeiOkami; +4 – Ответить
61. hexhoc 193 03.10.22 09:11 Сейчас в теме
(28) Поделюсь я. Я перешел внутри компании без потери зарплаты.
Спустя 2 года смог без каких-либо проблем устроиться на 260к. Вопрос усилий и интереса. Я два года учился забивая на семью, друзей, хобби.

Стоит ли переходить в текущих реалиях. Не не стоит, конкуренция высокая, кол-во вакансий сильно уменьшилось после начала войны.
Iren1809; freeek; DennyPhilord; SagittariusA; Сто27001; ubnkfl; user705393_den; AllexSoft; a_a_burlakov; +9 – Ответить
62. a_a_burlakov 293 03.10.22 10:21 Сейчас в теме
(61) Очень неплохо, спасибо. )
68. SergeyTerentyev 03.10.22 11:29 Сейчас в теме
(61)260 и на 1С можно зарабатывать.
cheburashka; TerveRus; smit1c; Сто27001; starik-2005; AllexSoft; +6 – Ответить
71. hexhoc 193 03.10.22 11:34 Сейчас в теме
(68) Да можно, но тут вопрос стоит в том, как заниматься тем что больше нравится и сколько при этом можно зарабаывать.
72. SergeyTerentyev 03.10.22 11:39 Сейчас в теме
(71)На 1С можно и 400. Только я сам не дошел до этого уровня вознаграждения за труд. И это уже не разраб, а функциональный архитектор.
starik-2005; AllexSoft; +2 – Ответить
143. g1_tdc 07.10.22 08:58 Сейчас в теме
(68) И больше чем 260, если ты настоящий профи и не только программируешь но и можешь работать как архитектор.
173. пользователь 03.11.22 15:55
Сообщение было скрыто модератором.
...
172. TerveRus 03.11.22 15:54 Сейчас в теме
(23) и чему там в Java можно радоваться, что стоило идти на такие жертвы? И прям каждому дню?
24. rabid_otter 134 01.10.22 01:23 Сейчас в теме
Просто оставлю это здесь:

Сплошная субъективщина и корнер-кейсы.
Как бывший 1Сник могу сказать, что 1С - фреймворк, по типу Spring + ORM + JavaFX, все минусы идут из этого.

1) Работа в 1С интереснее, т. к. за тебя "подумали". В 1С есть сложные проекты.
В настоящем программировании ты можешь строить что хочешь, а не только то, что захотели дядьки в 1С. Ты не должен ничего очень жадному вендору. Из этого следует, что множество решений более N тиражных от 1С. Работа сложнее, но и интереснее, т. к. ты решаешь такие задачи, о которых в 1С ты даже не задумывался. А в 1С 90% вакансий - работа с N тиражными решениями от 1С. В настоящем программировании есть настоящий хайлоад, с выбором баз и сервисов под задачу бизнеса.

2) Кнопочек не видно? Долго рисовать интерфейс? Интеграционные тесты?
Зато можно нарисовать именно то, что нужно бизнесу И ПРОТЕСТИРОВАТЬ ЭТО. В 1С пока ты лепишь простое CRUD приложение, все норм. А вот когда этот монстр начнет расти, или когда надо что-то сложное впилить в веб-клиент. В кишки уже не залезешь! Например отображение карт через Javascript в веб-клиенте. Впилил и ловишь баги, именно того, что 1С нагенерил не очень прямой код на JS, потом эвристическим методом находишь в чем же ошибка. Я знаю, я делал это!
В 1С интеграционных тестов просто нет. Ты даже не можешь застраховаться чтобы какой-нибудь джун переделал логику твоего функционала.

3) Настоящий программист не работает без аналитика.
Неправда, мои коллеги и я, идут в другие команды и уточняют зачем и почему мы это делаем. Если аналитик недоаналитил - это проблема нехватки коммуникации между аналитиком и бизнесом.
Если в классы кладут бизнес-логику и не знают ничего про DTO, то с кем вы работали? С джунами?
Программисты не вникают в смысл? ЧТО ЗА ДИЧЬ ВЫ НЕСЕТЕ????!!!!

4) Настоящие программисты не знают ничего без SQL.
Судя из того, что я вижу в таблицах сервисов, они могут даже в 3-ую нормальную форму. Не поверите! Ваши коллеги видимо не знали, что такое lazy fetching. Если надо все красиво, можно отказаться от ORM. Мы так и сделали.
1Сники знают только про profiler и про read only операции. Настоящие же программисты с опытом 10+ знают про нюансы той или иной СУБД и знают как сделать Insert, Update, Delete без поиска по гуглу. А 1Сник может?
DBA добавил индексы без совещаний с другими людьми. Так это он - аутист, это проблема нехватки коммуникации. Уже второй звоночек.

5) В 1С есть импорт в PDF, а в настоящем программировании надо платить.
ХАХАХАХА, В 1С вам платформа бесплатно дается. Ну да, ну да. В той же условной джавке приходится выбирать нужный фреймворк, в 1С зачастую таких средств просто нет! Не смешите меня.

6) В 1С можно заработать столько же, сколько и в других ЯП. Опять неправда, в настоящем программировании рядом рынок есть, где ЗП в долларах США. В 1С потолок был X рублей, в другом ЯП мне на миддловую позицию предложили на 25% больше, чем было в 1С.

Я не скучаю по 1С. Жалею, что с ним связался :) Надо было бежать еще 10 лет назад.
cheburashka; Elisey654321; paramedik; CK3; Feelthis; Sh00rick; Artem-B; Ruler; ivanchai; Borometr; user2525; ice-net; angur; Romakon92; Поручик; zqzq; OneScan; scanner1980; bliver; lunjio; LeXXeR; ats333; salbey; jonny_x; SeiOkami; kirinalex; A1WEB; a_a_burlakov; hamsar; Leonard; +30 –2 Ответить
27. muskul 01.10.22 05:55 Сейчас в теме
(24)
6) В 1С можно заработать столько же, сколько и в других ЯП. Опять неправда, в настоящем программировании рядом рынок есть, где ЗП в долларах США. В 1С потолок был X рублей, в другом ЯП мне на миддловую позицию предложили на 25% больше, чем было в 1С.

А занимаясь купи продай можно заработать столько сколько и не снилось программистам
freeek; smit1c; AllexSoft; Aphanas; hamsar; Evil Beaver; bulpi; Brawler; +8 – Ответить
29. rabid_otter 134 01.10.22 10:31 Сейчас в теме
(27) особенно, если продавать что-то нелегальное где-то в Питере. дело то ведь только в деньгах.
TerveRus; +1 – Ответить
38. starik-2005 3309 01.10.22 22:35 Сейчас в теме
(24)
Жалею
Напрасно. У меня друг один уехал в Австралию после окулиарда лет в 1С, работает там DBA, а не как некоторые околоайтишные джависты с предельно устаревшими знаниями из Канады, работающие водителями лесовозов.

В общем, все зависит от того, чему ты учился. Если 1С-у - тебе, чувак, просто не повезло. Если программировать - тебе, чувак, вообще пофиг, на чем писать и что. Я, например, уже в 7-м классе на машинном языке программировал (да, все эти единицы и нули). До этого бейсик, после этого паскаль, делфи.,С, С++, питоны, пыхи и все прочее. Но работаю с 1С с 1999-го, еще с 6.0. И когда в 1С что-то появляется, я в большинстве случаев это уже лет 10 назад юзал. И для меня синтаксис современного развития 1С исполнителя не является глазвырывающим, как для большинства 1С-негов, которые не работали с шаблонами в С++, так и для людей из другого стека, которых коробит от русских букв в языке. И когда "деды" матерились на управляемые формы, а потом и на такси, я прекрасно понимал, зачем это сделали и как с этим работать. Но кое-кто все же учился 1С-у - мои соболезнования.

А в остальном я с Вашими тезисами скорее соглашусь, чем поспорю. Просто не стоит быть настолько категоричным*.

* категоричность — решительность, твердость, ультимативность, безапелляционность, императивность; безусловность, директивность

А по поводу заработать, так вон в релокейтных группах телеги в братские республики бывшего СССР народ готов ехать за полторы штуки баксов. Я уже забыл, когда столько зарабатывал.
Forest_Owl; paramedik; primat; SagittariusA; rabid_otter; AllexSoft; SergeyTerentyev; Andrey_Timofeev; +8 – Ответить
43. пользователь 02.10.22 09:10
Сообщение было скрыто модератором.
...
69. пользователь 03.10.22 11:31
Сообщение было скрыто модератором.
...
74. пользователь 03.10.22 11:46
Сообщение было скрыто модератором.
...
85. пользователь 03.10.22 23:11
Сообщение было скрыто модератором.
...
86. пользователь 03.10.22 23:51
Сообщение было скрыто модератором.
...
26. muskul 01.10.22 03:46 Сейчас в теме
Жду статью на хабре что бы почитать пылающие пердаки.
зы.Все они пишут так как будто только в 1с, все криво вкось и медленно, но на самом деле не видел ни одного приложения (да и вообще чем они там занимаются из полезного людям) которое работало бы четко и понятно.
Вот недавно перевожу в приложение ВТБ денег по номеру карты. выбираешь свою карту, тыкаешь перевести, потом в менюшке из трех картинок тел/карта/счет тыкаешь счет, и оно как ни вчем не бывало меняет счет списания с деб. карты на кредитную, потому что последняя операция была по ней......так подарил втб и их "тру программистам" 300 рублей не нужной коммисии
Forest_Owl; Moto45; TerveRus; bulpi; +4 –1 Ответить
30. papami 55 01.10.22 10:57 Сейчас в теме
(26) ВТБ - это отдельная история)
37. starik-2005 3309 01.10.22 22:22 Сейчас в теме
(26)
300 рублей
Даже не буду прикидывать, сколько бабла теряют ежедневно на косяках 1С и программеров 1С. Но т.к. 1С - это очень небольшой одной не сильно богатой страны сегмент, то в общем и целом в других стеках теряют больше. Вот, например, "До-До пицца" при очередном каком-то обновлении вернула народу кучу бабла за уже оплаченные и отгруженные "пиццы". А потом они писали статьи и просили, чтобы клиенты им вернули это бабло обратно. И вроде бы там был не 1С, но это не точно.
70. пользователь 03.10.22 11:32
Сообщение было скрыто модератором.
...
174. пользователь 03.11.22 16:02
Сообщение было скрыто модератором.
...
31. ats333 10 01.10.22 12:51 Сейчас в теме
Можно спорить по мелочам например среда разработки это тихий ужас древний конфигуратор или глючная и прожорливая едт.
Но основная проблема не в этом, а в том, что проекты на 1с стоят существенно дешевле аналогов. Отсюда все проблемы, кроилово и полумеры.
OneScan; rabid_otter; +2 – Ответить
32. A1WEB 61 01.10.22 13:27 Сейчас в теме
(31)
проекты на 1с стоят существенно дешевле аналогов.

Это далеко не всегда так. Одно дело купить типовую коробку ЗУП, другое дело внедрять такого монстра как 1C:ERP на крупном предприятии со сложными устоявшимися бизнес процессами: часть купленного функционала остается незадействованной, что-то в усмерть переписывается, и потом это все нужно сопровождать.
Forest_Owl; OneScan; +2 – Ответить
34. ats333 10 01.10.22 13:35 Сейчас в теме
(32) проект на sap или dynamix будет дешевле при прочих равных? Очень сомневаюсь.
Moto45; Iren1809; TerveRus; AllexSoft; +4 – Ответить
142. g1_tdc 07.10.22 08:54 Сейчас в теме
(126)
(32) Альтернативы будут стоить еще дороже, как внедрение так и поддержка (поддержка дорогих и редких систем - это может быть очень больно)
Moto45; Iren1809; TerveRus; AllexSoft; +4 – Ответить
185. user598231_nicka 14.11.22 09:18 Сейчас в теме
(32)сап и аксапта будут сильно дороже даже перепиленного ерп.
Ерп с внедрением обычно до 50 лямов, и саппорт в пределах ляма, реже двух в месяц. Ну разумеется если внедряют не дебилы-вредители из франча, которые не могут не изгадить весь код.
Сап за такие деньги будет куплен если только однопользовательский :) проект ценой меньше мегабакса - редкость, саперам не интересная вообще.
Ах подешевле, но не сильно.
А уж иде в них - это такая грусть, что ужас. В ах так уж точно, турбо Си и турбо Паскаль начала 90х и то удобнее.
Moto45; Iren1809; A1WEB; +3 – Ответить
35. chilyagin 91 01.10.22 15:08 Сейчас в теме
Если смотреть на постулаты этой статьи поверхностно, то все выводы вроде бы кажутся логичными, но есть нюансы. И когда начинаешь вникать в детали перечисленных тезисов, то не все выглядит так мажорно.
Начну с материальной мотивации, как основы всех трудовых отношений:
Если сравнить уровень зарплаты в локации РФ 1С-ника и какого-нибудь фрондера или джависта, то получается переезд на другой технологический стек – овчины выделки не стоит. Но, если оценивать локацию «вся Земля», то перспективы увеличить гонорар повышается в разы. Правда, придется подучить English, но за счет обнуления знаний по предметной области и законодательства РФ и всяких там БУ и НК, а также других подзаконных актов, то можно высвободить свой мозг.
Другой нюанс. В одном из комментариев под этой статьей было мнение, что вендор может сменить, причем жестко, платформу. И не пишите, что этого не может быть. Могу напомнить кому-нибудь переход с 1С:77 на 1С:80, а потом и на 1С:82. Тогда мне пришлось изучать новые подходы в разработке и новые структуры данных. Было больно. И да, чтобы вы понимали суть этого бизнеса. Фирме 1С глубоко безразличны ваши боли и не удобство. Миссия этой фирмы зарабатывать бабло на продажи коробок, только за этим была создана сеть франчей, а чтобы денежный поток (мёд) не закупоривался, то нанимают пчел, и внушают им, что они программисты, которым остается только слизывать то, что прилипло и выпиливать косяки типовых конфигов с каждым новым обновлением.
И еще другой момент. Смаковать, что умеет 1С и не умеет java enterprise – ну, это смешно, на право же, даже не стоит начинать. И тема здесь принципиально другая: «вам шашечки или ехать». Перефразируя анекдот напишу, вам надо не дорого и быстро внедрить, или нужна производительность выполнения операций.
В этом случае могу от себя дать совет: если вам надоели физиономии заказчиков, а ваши телепатические навыки не развиваются до приличного уровня, надоели звонки от них в нерабочее время, то смело уходите разработку для мобильных устройств, или писать какие-либо сервисы обмена или код для железяк.
SagittariusA; Feelthis; vakham; LeXXeR; Artem-B; OneScan; scanner1980; insurgut; +8 –1 Ответить
164. kser87 2485 28.10.22 17:07 Сейчас в теме
(35) за счет обнуления знаний по предметной области и законодательства РФ и всяких там БУ и НК - 90% программистов 1С с этой фигней (БУ и НК РФ) никогда не работают. В общем, вы застряли где-то в 2007 безнадежно
186. user598231_nicka 14.11.22 09:23 Сейчас в теме
(164)угу. Не работают. И кодят говнокод который делает противоречащее этим самым бу и нк.
Поэтому сбросить проводки документа в закрытом периоде при обмене по Эдо - легко и непринуждëнно.
Спросить бухов, финансистов итд про "поменять документ в закрытом периоде" - а зачем?

Если что - эту херь творит коробочная версия.
175. TerveRus 03.11.22 16:08 Сейчас в теме
(35) а разве заказчики только в 1С бывают? И кто тогда платит программисту его тысячи долларов?
Смело уходить выдумывать свои приложения и стать заказчиком самому себе?
Каков процент программистов-владельцев продукта от всей кучи программистов для телефончиков?
36. starik-2005 3309 01.10.22 15:48 Сейчас в теме
Ну не бред сумасшедшего, конечно, но очень недалеко...
OneScan; rabid_otter; +2 – Ответить
40. Andrey_Timofeev 14 02.10.22 00:08 Сейчас в теме
Много лет работаю в 1С. И всегда откровенно радуюсь, когда приходится заниматься задачами в других средах программирования.
Есть, конечно, у 1С ряд своих не самых приятных особенностей и ограничений. Но в целом инструмент для решения определенного класса задач достойный. Здесь каждый пусть выбирает в соответствии с заточенностью собственного головного мозга и желанием.

Хорошо, если работа: 1. Зажигает огонь внутри Вас. 2. Приносит пользу обществу. Какая разница, на какой платформе и в каких средах она при этом выполняется?
user1734848; Forest_Owl; bgazobeton; Leon29; Nefrit88; Moto45; Iren1809; cheburashka; TerveRus; freeek; kser87; paramedik; eternium; alexeyvs77; SagittariusA; thevist; AllexSoft; bulpi; A1WEB; kirinalex; +20 – Ответить
44. A1WEB 61 02.10.22 09:20 Сейчас в теме
(40) Полностью поддерживаю!
42. insurgut 208 02.10.22 09:06 Сейчас в теме
Настоящий хардкор - это ассемблер. Всё остальное - детский сад :)

P.S. Никогда не понимал холиваров по теме языков программирования. Программисту в принципе без разницы на чем программировать. Всё зависит исключительно от его компетенции, желания и стремлений, а навык - это просто дело времени.
Forest_Owl; Moto45; Iren1809; kser87; SagittariusA; Barmi; oleg-x; AllexSoft; shard; +9 – Ответить
46. biimmap 2128 02.10.22 13:15 Сейчас в теме
(42)
Настоящий хардкор - это ассемблер


Было у нас это чудо на первом курсе. Препод был такой же древний как и сам язык.
И начал он нам не с того, что программирование основано на передаче информации между регистрами... А с фразы:
"Для того чтоб передать информацию из одного регистра в другой пишем: mov ax, bx"

Весь курс сидел хлопал глазами и нифига не понимал: ни что мы передали, ни куда, ни откуда, ни зачем... Со временем конечно он снизошёл до пояснений регистров, команд и т.д. Но его первую фразу мои одногруппники помнят до сих пор)
Forest_Owl; kser87; TerveRus; unknown181538; +4 – Ответить
77. Поручик 4611 03.10.22 13:30 Сейчас в теме
(42) Зависит от задачи и от имеющегося софта.
45. cdiamond 212 02.10.22 13:10 Сейчас в теме
А кто сказал что 1с-ник мечтает программировать то же самое, но на другом языке? Полно проектов других, написание игр например, или пилить ядро линукса, где никаких браузеров и индексов. Очень узкий подход, автор по сути и не покидал мир 1С, оставшись на тех же задачах при тех же заказчиках со сроками "вчера".
daMaster; kser87; paramedik; +3 – Ответить
47. insurgut 208 02.10.22 13:53 Сейчас в теме
(45) да тут не столько вопрос языка программирования, сколько коммуникации с заказчиком. 1С-нику сильно много приходится с людьми общаться, вникать в предметную область. В других в основном есть ТЗ и монитор. Ни с кем общаться не надо и можно полностью погрузится в код.
alexeyvs77; +1 – Ответить
176. TerveRus 03.11.22 16:11 Сейчас в теме
(45) ага, в написании игр, конечно, кранчей и сроков "вчера" не бывает. И в играх тоже сплошные базы данных и браузеры.

А за пиление ядра Линкуса кто-то платит?
183. cdiamond 212 10.11.22 16:37 Сейчас в теме
(176) давно не секрет, что основной вклад в код ядра линукса вносят не любители-одиночки забесплатно, а крупные компании. В частности это Microsoft, Oracle, RedHat, китайские гиганты и подобные. И да, там за это платят неплохую зарплату. И если ты спросишь зачем это они делают, то стоит узнать, что ядро линукса уже вставлено и интегрировано в твой Windows 11, если успел на него перейти.
48. Ruler 85 02.10.22 17:43 Сейчас в теме
2 года назад ушел в java, 80% того что автору кажется минусом и сложным решается фреймворками или всякими кодогенераторами.
Например конвертация из сущности БД в бизнес сущность и потом в ДТО - объект для передачи наружу, поэтому тут или автор не знаком или лукавит.
1С это узкоспециализированный инструмент и в рамках своей специализации безусловно он показывает лучше результаты по скорости решения Бизнес задачи, но это не значит, что работать с 1С программисту удобно, интересно... И как только задачи начинают выходить за рамки, того на что рассчитан 1С, начинается боль, страдание и костыли. Поэтому странно сравнивать конструктор лего с набором инструментов по созданию чего бы хотелось.
Работая программистом 1С мне вот как раз не нравилось быть и экспертом в прикладной области и снимать информацию с заказчика и согласовывать трудозатраты с руководством + программист + тестировщик + базовик и прочее.
Я в своей практике часто сталкивался с тем, что заказчик не понимает чего хочет или смутно это представляет, что часто приводило к тому что надо по десять раз переделывать, ну сейчас такое количество легаси в 1С, что это жуть страшная все эти кастомизированные типовые как-то допиливать, очень не приятно залезать в модуль переписанный 10 разными программистами, каждый со своим кодостайлом. Работая с консультантами постановщиками не было такого что бы ты мог спокойно кодить по ТЗ, всегда приходилось многое самому уточнять, т.е. качество аналитиков с кем сталкивался было среднее.
С точки зрения технологий мне не хватало ООП + паттерны проектирования, это позволило бы раз в 10 минимум сократить кодовую базу и ту лапшу, что 1С развел в типовых структуировать и сделать понятным программисту.
Используя java можно написать все из свободных компонент, запускать везде где есть JVM. Есть возможность писать, так что бы не привязаться к конкретному вендору СУБД, хочешь SQL хочешь NoSQL. Огромное комьюнити, т.е. программистов java сильно больше чем 1С и практически на любой вопрос есть ответ и под многие задачи уже есть платные или бесплатные библиотеки упрощающие жизнь. Уверен что и на js, python, Rust, Go, Dart можно все тоже самое собрать без вложения денег или с минимальными.
kser87; cheburashka; freeek; paramedik; Feelthis; zqzq; Andrey_Timofeev; A1WEB; rabid_otter; +9 – Ответить
54. Evil Beaver 8429 02.10.22 22:37 Сейчас в теме
(48)
конвертация из сущности БД в бизнес сущность и потом в ДТО - объект для передачи наружу


Да, все это есть. Но это надо правильно использовать и создать на это всё мапперы, и создать их корректно, не запихав туда бизнес-логики. Это не всегда случается. Про маппинг ДТО-МОДЕЛЬ-СУЩНОСТЬ даже есть отдельный слайд там, но согласен, он упомянут вскользь, а тут тема на целый доклад почему единый тип данных предметной области (как в 1С) лучше чем три, как в других фреймворках.
58. oleg-m 03.10.22 06:47 Сейчас в теме
(48)
2 года назад ушел в java, 80% того что автору кажется минусом и сложным решается фреймворками или всякими кодогенераторами.


2 года, значит уже можете ответить на вопрос. Сколько (процент) java программистов реально умеют в ООП? Прошу ответить честно)


1С это узкоспециализированный инструмент и в рамках своей специализации

И как только задачи начинают выходить за рамки, того на что рассчитан 1С, начинается боль, страдание и костыли.


В java по такому же принципу выбираете типы данных для решения задач?


быть и экспертом в прикладной области и снимать информацию с заказчика

заказчик не понимает чего хочет или смутно это представляет, что часто приводило к тому что надо по десять раз переделывать


Не понял, вы были экспертом в прикладной области или нет?


С точки зрения технологий мне не хватало ООП + паттерны проектирования, это позволило бы раз в 10 минимум сократить кодовую базу


Серьезно? Моделируя задачу в ООП, не говоря уже о применении паттернов, вообще-то приводит к искусственному увеличению программного кода и появлению дополнительных сущностей.

Используя java можно написать все из свободных компонент, запускать везде где есть JVM. Есть возможность писать, так что бы не привязаться к конкретному вендору СУБД, хочешь SQL хочешь NoSQL.


Зачем обязательно нужно останавливаться на какой-то конкретной платформе? Это же не религия.
За счет http-протокола 1C прекрасно взаимодействует с другими платформами. И не нужно все информационное поле на площадке запихивать в одно адресное пространство.
Iren1809; TerveRus; +2 – Ответить
59. Ruler 85 03.10.22 07:42 Сейчас в теме
(58)
2 года, значит уже можете ответить на вопрос. Сколько (процент) java программистов реально умеют в ООП? Прошу ответить честно)

С кем работал, более чем у мели, но я работаю в компании с более 700 сотрудников в которой обучение, код ревью, наставничество это норма + коллеги поясняют и помогают если что-то не понимаешь или не знаешь. Код ревью был 2 уровня первый это внутри комманды и второй это уже сотрудники заказчика. Перед тем как отдать на ревью нужно проверить код Сонаркубом. Коллеги при написании замечаний всегда поясняли почему так или иначе не хорошо и как правильно решается подобная задача.

(58)
В java по такому же принципу выбираете типы данных для решения задач?

Странные вопрос, исходя из поставленной задачи. Строгая типизация это мастхев для больших проектов, сначала кажется что это неудобно, но защита от глупых ошибок на уровне компилятора, дополнение кода со стороны среды разработки (сколько бы раз не передавался объект а все методы и свойства доступны при дополнении), возможность по клику посмотреть где тот или иной класс используется супер удобно.

(58)
Серьезно? Моделируя задачу в ООП, не говоря уже о применении паттернов, вообще-то приводит к искусственному увеличению программного кода и появлению дополнительных сущностей.

Погрузитесь в немного в ООП и вы увидите как ООП сокращает количество кода, как делает его читаемым, на сколько легче добавить новый функционал. Тут дело привычки, я в начале изучения java тоже, думал что все как-то громоздко но это дело привычки.
starik-2005; kirinalex; +2 – Ответить
63. oleg-m 03.10.22 10:35 Сейчас в теме
(59)
С кем работал, более чем у мели

Я не про код ревью и взаимопомощь, я про качество моделей. Возможно, у вас просто процедурный ООП, поэтому вы меня не поняли.

(59)
Строгая типизация это мастхев

Я не про строгую типизацию, а про оптимальный выбор типа данных под конечную задачу. Тоже самое относится и к выбору продукта, платформы, фреймворка и т.д.

(59)
Погрузитесь в немного в ООП и вы увидите как ООП сокращает количество кода

Предпочитаю верить только своим глазам, опыту и сравнительному анализу. Попробуйте решить несколько реальных задач двумя способами. Очень полезный опыт, кстати. Регулярно приходится чередовать эти стили.

(59)
ООП сокращает количество кода

(59)
все как-то громоздко но это дело привычки

Не понял, как сокращение объема кода может создавать ощущение громоздкости? И почему, вдруг, привычка работает только в джаве?
83. starik-2005 3309 03.10.22 22:48 Сейчас в теме
(63)
Не понял, как сокращение объема кода может создавать ощущение громоздкости?
Вы предложение видимо не смогли понять и пропустили слова "в начале".ООП - это один из механизмов переиспользования кода - следующий уровень абстракции после процедур и функций. Чем выше уровень абстракции, тем меньше кода.
92. oleg-m 04.10.22 09:20 Сейчас в теме
(83) Нет. Все предложения поняты так, как написаны. В тексте полно противоречий поэтому и вопросов масса.

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

Если честно, мне, как программисту, чуждо такое понятие как "сложный код" или что-то подобное. Особенно, если речь идет о низкоуровневом коде. Внизу сплошные протоколы и стандарты.
Возможно, у сервис-инженера сложность кода является важным препятствием, потому что надо быстро что-то "состряпать", "плюнуть" в нескольких местах небольшими кусочками кода и сдать этот "франкенштейн" заказчику. Но к программированию эта работа не имеет ни какого отношения.


(83)
Чем выше уровень абстракции, тем меньше кода.

Итого программный фонд = Программный фонд низкого уровня абстракции + Программный фонд какой-то прикладной логики
Общий объем программного фонда в ООП принципиально ниже не становится. Стейт-машины, протоколы и интерфейсы сами по себе не зашевелятся, надо все-равно где-то описать инструкции, пусть и где-то там - в иерархии файлов и классов)))
103. starik-2005 3309 04.10.22 15:40 Сейчас в теме
(92) Код низкого уровня - интерфейс класса - он не будет меньше, но он определяет тот самый низ, хотя и там есть куда двигаться в сторону переиспользования - классовая иерархия. Но суть в том, что куда чаще нам нужны методы объекта, реализованные классом. И тут как раз все говорят, что на 1С можно сделать больше за меньшее время, т.к. в платфору уже напихана туева хуча прикладных объектов типа СКД, реализующих достатояно сложный механизм взаимодействия юзера и платфомы. В итоге за счет этого объекта твой прикладной код вообще может отсутствовать - только элементарный запрос, который польщователь будет группировать кликами мышки. Вот в идеале ООП в принципе сводит всю программу к new app и app.run(). Остальная логика пилится на своем уровне абстракций в иерархии взаимодействующих объектов. И если сто лет назад диалог выбора файла писался кучей слов, из которых писалась функция, то потом все это стало частью системных диалогов. А сейчас приложения идут по пути от монструозных интерфейсов к системе общения с ботом в телеге, код которого - это дергание микросервисов и осуществление роутинга сообщений между юзером и сервисами.
187. user598231_nicka 14.11.22 09:42 Сейчас в теме
(92) угу, очень удобно и компактно иметь по 5-9 вложеннных вызовов процедура бла-бла-бла() между разными модулями.
А потом удивляться, что начисление зп на всего лишь 200 человек считается и проводится полчаса на неплохом железе.
Или что модель и экземпляр бюджета на 12 колонок и более чем полсотни строк каждый чих переваривает по 5+ минут. Поскольку каждая ячейка передается тудасюда *количество строк в таблице. А в базу падает 100к запросов.
Или что отражение по статьям делается через вложенные циклы с запросами по детализациям. Одинаковые почти запросы. Просто с отборами. Переписывание с доп запроса на обработку вложенной выборки на одном из емнип 4х вложений - и вуаля, отражение идет не 16 часов а 10-30 минут.
Типовые конфы если что.
Ну и даунов с очень странным кодом в 1с не меньше, чем везде. Пожалуц даже больше, ибо вход типа простой
bgazobeton; +1 – Ответить
81. AllexSoft 03.10.22 19:54 Сейчас в теме
(48) как то проводил мысленный эксперимент, а что если у нас есть полноценное ООП в 1С, что будет если взять какую либо подсистему и переписать ее на ООП? Ну вот я открыл РаботаСФайлами... ну сделал бы тип, класс.. и точно такие же методы чтения\записи этих самых файлов. Да, это было бы внешне на программном интерфейсе красивее и правльнее.. но объем кода был бы примерно тот же. ООП удобно когда вы эти объекты создаете "с нуля", а у нас платформенные механизмы есть уже, и вот получается либо мы отказываемся от методов платформы. ну либо используем платформенные методы, но тогда уровней абстракции (слоев в этом пироге вызовов) и так достаточно потому что платформа все "низшие" методы закрывает, в своем стиле, но закрывает. В общем не так уж нужно ООП полноценное в 1С. А код сокращает возможности языка ну и синтаксический сахар от части.. возможностей языка действительно не хватает.
Forest_Owl; TerveRus; +2 – Ответить
82. Ruler 85 03.10.22 20:30 Сейчас в теме
(81) ООП - это не только разделение на классы..
Вы упускаете одну из важнейших возможностей - наследование...
Есть базовая сущность - и от не наследники, которые содержат все свойства и возможности базовой и от них тоже наследники и мы получаем иерархию классов, где дублирование кода минимально.
Ниже упрощенные пример для понимания о чем я:
Например - Документ - Банковский Документ ( абстрактный класс без реализации) - Приходный Банковский Документ, Расходный Банковский Документ. В Расходном и Приходном документе будут доступны через точку процедуры и свойства как они определены в базовом "Банковский Документ" (упрощаем, что они все публичные) и при необходимости вы можете их в потомке переопределить.
Т.е. потомок содержит только отличия от базового, т.е. некий инкремент к базе.
https://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0­%B0%D0%BD%D0%B8%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80­%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
Конечно везде есть подводные камни, но подход интересный и он реально работает.
По поводу платформенных методов, по мне так большинство функций и методов БСП надо в платформу зашивать, и работать будет быстрее и при необходимости можно будет переопределить или что то свое написать, а не таскать при каждой сборке это.
Хотя может что то движется, уже 2 года не открывал конфигуратор))
Forest_Owl; SagittariusA; rabid_otter; +3 – Ответить
97. AllexSoft 04.10.22 11:07 Сейчас в теме
(82) да я это все помню и понимаю, только вот попробуйте придумать хотя бы 3 метода которые должны сидеть в родительском классе Банковский документ ? ну и что без дублирования нельзя реализовать экспортными функциями общего модуля... я даже знаю как реализовать тот самый ООП "в стиле 1С" - в ветке общих объектов метаданных сделать "группа метаданных", что то типа подсистем. ну и собственно у каждой группы мог бы быть модуль менеджера, модуль объекта - родительский класс для включенных в группу метаданных. Ну или просто для подсистем сделать подобное. Но опять же это наведет порядок, но кодовую базу не уменьшит.. ну сделали вы условную функцию НайтиПоУникальномуИдентификаторуПлатежа() в таком классе.. чем она будет отличаться от такой же функции в общем модуле БанковскиеДокументы ? ничем...
Forest_Owl; TerveRus; +2 – Ответить
112. Ruler 85 04.10.22 20:20 Сейчас в теме
(97) Общий модуль некая сущность, которая никак не связна с объектом "Банковский документ" или "Расходный банковский документ" и живет такой модуль своей жизнью, в какой-то момент кто-то смотрит и такой а давайте отделим вызовы функций от их реализации а то как то все вперемешку опа уже 2 модуля, потом кто-то решит что функции не правильно по модулям распределены и надо их в перетасовать и а потом давайте разделим их еще по какому признаку и вот уже стройный порядок превращается в клубок лапши, приходит потом новый программист на проект и при отладке занимается блуждением по таким модулям, а еще у нас нет типизации ведь это так сложно, и в процессе отладки мы смотрим что наша процедура вызывает еще 10 других каждая из которых что-то возвращает, например некую структуру состав которой зависит от кучи параметров половина которых как-то вычисляется в других функциях и процедурах вызываемых и это все тоже в разных модулях, которые тоже как-то называются и от обновления к обновлению меняются названия и состав и вот мы попадаем в чудесное путешествие....
Классы и объекты решают какую-то задачу, описывая класс вы понимаете зачем он создается, какое у него будет поведение и цель его создания какие данные ему нужны для выполнения задач. Модуль - некое именованное место где хранят код...
178. TerveRus 07.11.22 11:29 Сейчас в теме
(97) согласен полностью. Общих модулей более, чем достаточно, а все основные свойства и методы уже есть в классах документов, справочников и регистров на уровне платформы. Не надо там еще одной надстройки ООП для пользователя. Если было бы надо, то 1С реализовала бы. Вот общие реквизиты есть, и то редко используются.

Вот товарищ ниже призывает общий модуль как бы закреплять за определенным документом, и тогда типа ему будет понятнее что где искать. Но это дичь какая-то, никаких проблем с бардаком в коде она не решит. Ну и в конфигурациях 1С так уже делают, когда группируют формы и методы по смыслу внутри определенной обработки.
177. TerveRus 07.11.22 11:22 Сейчас в теме
(82) в платформе уже есть почти все, что надо. Есть классы справочников, регистров, документов, у них есть куча общих методов. 1С-никам вменяется в вину то, что они сами не пишут класс документа. А зачем?

Очень мало внутри нескольких документов пересекается общих функций. И все методы, что пересекаются, вынесены в общие модули и вызываются удобно одной строкой. Зачем там городить ООП ради того, чтобы оно там просто было? Что поменяется кардинально? Как возрастет удобство? Никто конкретно сказать не может, просто какие-то пустые абстрактные рассуждения, что было бы неплохо и все.

БСП - это попытка унифицировать общие функции в различных конфигурациях, тоже неплохо. Что-то типа фреймворка в терминологии других языков. Все остальное решают общие модули и расширения. Что там еще выдумывать?
84. starik-2005 3309 03.10.22 22:52 Сейчас в теме
(81)
Ну вот я открыл РаботаСФайлами... ну сделал бы тип, класс.. и точно такие же методы чтения\записи этих самых файлов.
Ну просто у Вас не висело бы стопиццот функций, создающих файл и его версию, часть из которых не работает, а для второй части написано, чтобы их не использовали ))) А так был бы у Вас один класс, вы бы создали экземпляр этого класса и получили бы объект с файлом и методами работы с ним, с его свойствами. Сейчас ведь есть внутренний тип Файл от 1С, просто в нем не хватает методов, привязывающих его к ORM-модели конфигурации. А могли бы мы расширить этот "прототип" - была бы у нас совершенно другая жизнь с куда меньшей кодовой базой.
95. AllexSoft 04.10.22 10:09 Сейчас в теме
(84) А это стопицот функций это легаси, оно же ведь никак не зависит от ЯП... оно для совместимости там оставлено. Можно хоть сейчас взять этот модуль и выпилить эту функции из областей УстаревшиеПроцедурыИФункции.. ну и как бы останется по одному методу на все, то есть то что бы у вас висело в паблик методах класса. Если присмотреться что там внутри этих методов - это бизнес логика типа если в настройках флаг такой то то пишем в файловую систему, если флаг другой то в бд, если версионирование то еще и версию записываем... в общем эта прослойка бизнес логики она как была на уровне конфы (ну так как к конфе и относится собтсвенно) так и останется, будет ли ООП или нет. То есть платформа и так сейчас позволяет сделать свой слой бизнес-логики, ну и все собственно. Нужна ли еще одна абстракция выше уровня бизнес-логики, например на уровне подсистем (как предложили в камменте выше) - это очень большой вопрос, с учетом что есть общие модули на каждую подсистему и там по сути методы и собраны.. общих свойств нет разве что, но опять же были бы они кодовую базу это никак не уменьшило бы. С ооп внешняя оболочка программных интерфейсов - да станет красивше из за классов как вы и описали, с этим полностью согласен, меньше говнокода было бы возможно. я об этом в своем камменте писал.
Forest_Owl; TerveRus; +2 – Ответить
104. starik-2005 3309 04.10.22 15:54 Сейчас в теме
(95) а я и не говорил, что без ООП нельзя. Просто ООП создает отдельный слой абстракции, который, на мой взгляд, более прозрачен. Сейчас код раьоты с файлами разнесен на несколько модулей, при этом он достаточно сильно связан. В нем выделена и интерфейсная часть, и внутренние функции механизма, и интерфейс, и переопределяемые - попытка наследования, как расширение через обработчики событий. Но это запутанная логика. Вот в идеале код прикрепления файла к объекту долден быть каким-то таким: файл = новый Файл( ИмяФайла, Объект ); файл.Записать(). Вот не должно быть кучи дополнительных методов. Я вот делал народу для УТ11 фотографер на мобильной платформе, чтобы фоткать позиции на складе. Так вот я полчаса тупил, почему вроде бы такое простое действие, как добавление основной картинки к номенклатуре, заставило меня лезть в отладчик, ибо функция БСП просто вываливалась с ошибкой. Пришлось для веб-сервиса писать обертку над системной внутренней функцией, получать двоичные данные и заполнять структуру параметров файла. Ну да, это просто отдельные баги в БСП и к ООП вроде бы никак не относится, но наличие шести (если не ошибаюсь) разных модулей раьоты с файлами - это перебор.
111. AllexSoft 04.10.22 19:36 Сейчас в теме
(104) с этим абсолютно согласен, наличие ооп привело бы к большему порядку и прозрачности в коде конфигураций однозначно
57. hamsar 17 03.10.22 05:24 Сейчас в теме
1С-ники умнее, и я не шучу


вот это смешно. Небольшое противопоставление. В году в 2014 до крыма, когда доллар стоил 30 рублей за штуку, я работал в компании где были и 1сники и другие, каждой твари по паре. И Так или иначе все мы взаимодействовали, еще и мигрировали от стека к стеку, обменивались данными. и я внезапно выяснил, что тупой мидл jsер получает столько же, сколько и хорошенький синьер на 1с(не спешите уничтожать этот пример, с того времени прошло почти 10 лет, а я уже не раз подтверждал эту картинку, данный пример не один, а приведен только для илюстрации), значит ли это что 1сники умнее. В целом да соглашусь, вы получаете 1сника умнее за меньше денег, но умнее ли он этого бооольшой вопрос.

Я бы перефразировал эту фразу, 1сники умнее на 1 рубль, получаешь больше ума ,чем нанимая другого программиста на эту же единицу, тем самым абсурдно уничтожая суть этой фразы, тем фактом что 1сник туп раз получает меньше вебера(не люблю обьяснять шутки) но последние пару лет, показали что иногда это не шутки.

Ах ну и скажу что курс поменялся в 2 раза с 14го года
60. Ruler 85 03.10.22 08:49 Сейчас в теме
(57) умнее странная оценка, вот знание сопутствующих технологий у среднего 1С-ка не очень и это сильно затрудняет переход, например Git, SQL ( то что использует 1С маленькая часть языка, нет DDL, DML(1С только например часть пользует, DCL) ), Docker, HTTP протокол (что-то кроме Get и Post редко кто может рассказать ну и чем они отличаются тоже), Rest, самый обычный вопрос на собесе "Вот вы набрали что то в поисковом запросе в браузере и нажали Enter, расскажите что будет дальше максимально подробно".
Тут не претензия к 1с-ку, тут претензия к 1С, что они создают свои велосипеды и программист вынужден учить не лучшие практики Ит а то как в 1С это работает, ну или верить, что ему это не нужно и без этого вон как удобно кастомизировать ЕРП отлаживать и тестировать в нем))
SagittariusA; hamsar; kirinalex; rabid_otter; +4 – Ответить
75. SergeyTerentyev 03.10.22 11:47 Сейчас в теме
(57)Делать отсылки к курсу - само по себе не умно. Нормальный 1С ник таким не занимается. )
88. hamsar 17 04.10.22 02:38 Сейчас в теме
(75)
(75)
(57)Делать отсылки к курсу - само по себе не умно. Нормальный 1С ник таким не занимается. )


курс добавляет множитель ко всей этой истории, что и без курса выглядит не очень с точки ума/рубль
93. SergeyTerentyev 04.10.22 09:41 Сейчас в теме
(88) Ничего он и никуда не добавляет. Этот показатель почему считается важным у людей, которые в функционировании экономики и ценообразовании мало что понимают. Тупой механистический подход.
94. hamsar 17 04.10.22 09:51 Сейчас в теме
(93) ваша польза приносимая обществу, в котором вы проживаете, на которое вы работаете оценивается в этом множителе.

Это не всегда честная оценка, иногда признание приходит после смерти.
Но спрос, на услугу и соответственно цену определяется деньгами.
Поэтому отрицание этого явления, есть отрицание культуры и общества.
105. starik-2005 3309 04.10.22 16:00 Сейчас в теме
(57) скажем так: потолок 1С-нега ниже потолка многих других стеков. Т.е. вот ты, допустим мидл в 1С и выше головы не прыгнешь. В другом стеке ты тоже мидл, но в 1С потолок твоей ЗП - это условно 200к, а в других стеках этот потолок может быть и на порядок выше. Ну и для того, чтобы стать сеньором в 1С, необходимо хорошо знать не столько программирование, сколько экономику бизнеса, его процессы. Для того, чтобы стать сеньором во многих других стеках тебе достаточно знать сумму технологий, а бизнес-аспекты знать вовсе необязательно.
121. hamsar 17 05.10.22 06:52 Сейчас в теме
(105)
а бизнес-аспекты знать вовсе необязательно.

немного не соглашусь, мне довольно неплохо помогает в карьерном росте знание бизнес аспектов.
И моим коллегам программистам тоже.
122. starik-2005 3309 05.10.22 08:26 Сейчас в теме
(121) Вы путаете необходимость знать бизнес-аспекты 1С-негом для того, чтобы стать сеньором и отсутствие этой необходимости в большинс ве других стеков. В 1С без этого знания в руководители разработки, РП и ко5сультанты путь заказан, в то же время в других стеках это далеко не всегда так.
64. leemuar 63 03.10.22 10:38 Сейчас в теме
Андрей, спасибо, интересный рассказ.

Помимо проблемы отсутствия погружения в предметную область я увидел в твоем рассказе еще одну проблему "других языков" - отсутствие единой методологии и единых подходов решения типовых проблем. И это действительно так - каждый решает как может.

В мире PHP, например появление Laravel в свое время сильно перевернуло отрасль т.к. фреймворк принес не только общие библиотеки, но и методологию использования и решения типовых проблем.
AllexSoft; +1 – Ответить
65. leemuar 63 03.10.22 10:44 Сейчас в теме
Возведение ООП (если точнее - "ООП с классами") в ранг священной коровы тоже интересный феномен. Этому в свое время сильно поспособствовала Sun и Java. Большинство книг по методологии были написаны и распиарены именно с учетом использования классов: все эти рефакторинги Фаулера и прочие промышленные паттерны проектирования. Других книг, которые объясняли бы другие подходы просто днем с огнем не сыщешь. Поэтому у людей едет крыша, когда ты им показываешь как в том же чистом C без классов полиморфизм реализован лучше, и что дело не в инструментах, а в способах их применения.
atomskxs; AllexSoft; +2 – Ответить
66. Starikova_NK 03.10.22 10:52 Сейчас в теме
Андрей, снимаю шляпу!
80. Evil Beaver 8429 03.10.22 16:06 Сейчас в теме
67. Ruler 85 03.10.22 11:00 Сейчас в теме
(63) Что-то я потерял нить вашей мысли применительно к утверждению автора статьи, что в 1С все сделано супер по уму а вот вне 1С все слишком сложно и отвлекает от задачи...
Холивар между парадигмами программирования это тема отдельной беседы и точно не в рамках этой статьи, но уже давно общепринятая практика что большие проекты пишутся с использованием ООП и там это нужно и оправдано, уверен что платформа не пишется на чистом С )) при этом программистам 1С предлагается работать с кодовой базой ЕРП где более 5 млн строк кода именно в процедурной парадигме (ну или как 1С это называет предметно ориентированном)...
78. пользователь 03.10.22 15:55
Сообщение было скрыто модератором.
...
98. oleg-m 04.10.22 14:51 Сейчас в теме
(78) К чему эти обобщения с оскорблениями? Вы кто такой? Кто вам дал право обобщать неизвестных вам людей и их опыт?

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

Если вам кто-то что-то не хочет объяснять, возможно речь идет о базовых вещах, которые учат в школе.
starik-2005; +1 –1 Ответить
99. пользователь 04.10.22 14:59
Сообщение было скрыто модератором.
...
101. oleg-m 04.10.22 15:12 Сейчас в теме
(99) Жесть. Если вас кто-то обидел в интернете, то я то тут причем?

Кстати, вы сами такой стиль задали) Перечитайте свой первоначальный комментарий.
102. пользователь 04.10.22 15:14
Сообщение было скрыто модератором.
...
73. SergeyTerentyev 03.10.22 11:43 Сейчас в теме
Я кстати до сих пор не понимаю почему кто то решил что IT шнеги это какие то жутко дефицитные человеки в России. В России их не умеют сурово бить по тестикулам что бы они продуктивно работали. Уехала толпа и чего? А ничего. Реально те кто свалили - мусор оказался. А 1С-ник если он не раб главного бухгалтера еще и в бизнес умеет и все такое прочее. Он реально нужен.
atomskxs; muskul; +2 –2 Ответить
76. MikhailDr 03.10.22 12:06 Сейчас в теме
Тема из разряда "Почему гвозди лучше забивать молотком, а не микроскопом". 1С изначально создавалась и развивалась как среда для разработки бизнес-приложений (учетные системы, склад, бухгалтерия, CRM и т.д.) Она годами под это затачивалась и внезапно оказалось что это действительно лучшая платформа для этих задач.

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

С другой стороны ничего другое кроме этих самых приложений нам не доступно. Тут конечно могут привести какие-то исключения, но на то они и исключения. Собственно на этом все.

В итоге автор лукавит. Он сравнил 1С и ее специалистов на том поле, где она выступает лучше всего и ожидаемо победил. Я скажу так, 1С не лучше, она другая, для своих задач лучшая. Хотите другие задачи, идите в другие стеки.
Forest_Owl; cheburashka; obmanOZ; salbey; AllexSoft; angur; Ruler; rabid_otter; kirinalex; +9 – Ответить
79. Evil Beaver 8429 03.10.22 16:06 Сейчас в теме
(56) нет, конечно, не признаю. Доклад такой, как я и хотел. Провокационный. Кто-то поймет, а у кого-то сгорит стул и штанишки. Так и задумано.
Forest_Owl; oleg-m; +2 – Ответить
87. hamsar 17 04.10.22 02:36 Сейчас в теме
(79)
Если вы считаете, что у меня сгорели штанишки, от того что вы выставили себя клоуном и исказили факты, вы ошибаетесь.
ivanchai; rabid_otter; +2 –1 Ответить
110. ivanchai 04.10.22 16:48 Сейчас в теме
(79) а мне кажется не провокационный а однобокий и врушный
hamsar; rabid_otter; +2 –1 Ответить
89. Petr54-ru 95 04.10.22 05:59 Сейчас в теме
Я посмотрел доклад на ютубе и не понял смысла этих ковыряний в наших и не наших технологиях.

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

Еще можно сравнить полисы ДМС, качество рабочего места, наличие парковки для сотрудников на работе, стоимость кофе в кофемашине и качество печенек и фруктов, корпоративные абонементы на фитнес и в бассейн. Хотя наверно лучше этого не делать, сравнение будет стопудово не в нашу пользу. Я конечно про Новосиб, возможно в столицах все не так.

Исходя из этих соображений, я невестке, когда она собралась перековываться в айтишники, настоятельно порекомендовал обходить наше гетто стороной. Потому что два рубля - это в два разА больше чем один рубель.
Forest_Owl; VEkimov; SagittariusA; Feelthis; A1WEB; ivanchai; Andrey_Timofeev; +7 – Ответить
179. TerveRus 07.11.22 11:38 Сейчас в теме
(89)
полисы ДМС, качество рабочего места, наличие парковки для сотрудников на работе, стоимость кофе в кофемашине и качество печенек и фруктов, корпоративные абонементы на фитнес и в бассейн.

Это свойство не вакансий "настоящих программистов", а самой конторы. И такое только в Москве видел, и не у всех. Кто-то не дает этих плюшек, но дает выше зп, и весь этот ДМС и фитнес тебе в итоге дороже обойдется.

(89)
уровень зарплат там в полтора - два раза выше чем в нашем родном 1С.

Уровень зарплат зависит от "мск"/"не мск" и проектов, а не от языка программирования.
Forest_Owl; +1 – Ответить
182. Petr54-ru 95 08.11.22 18:32 Сейчас в теме
(179) я вообще то про Новосиб писал.

(89)
Я конечно про Новосиб, возможно в столицах все не так.
96. coollerinc 189 04.10.22 10:42 Сейчас в теме
Самый главный минус, что на 1с можно делать легко и быстро приложения для бизнеса. Где пофиг на красивый интерфейс и удобство. Просто приложение для конечного пользователя написать не получится.
Если сравнивать 1с с конкурентами, то 1с сильно проигрывает в производительности.

Т.е. 1с идеальна для бизнеса и их сотрудников, где одновременных пользователей на одном участке учета не больше 100.
Forest_Owl; +1 – Ответить
100. ivanchai 04.10.22 14:59 Сейчас в теме
Сама концепция построения системы 1с построена на принципе впихнуть не впих@емое и склеить вату с воздушным шариком это так если по философски и кратко. Если чуть подробнее - код типовых конф пишут не программисты, а программные фреймворки а что им там скармливают не знаю))). Иначе не понимаю зачем использовать 12 уровней вложенности для процедуры которая используется только в одном месте. Нет единной цементирующей идеи - все по принципам там приклеим + там пришлепнем получается зоопарк, но не стройная и четкая система. 8.2 платформа была еще более менее оптимальная по скорости и производительности, но 8.3 это тормоза, глюки и конкретный жор оперативы. появляются баги их залатывают на один старый - три новых. 1с и биг дата или дата сайнс это вообще вещи не совместимые, нет оптимизации, производительности. да для учета система рабочая, но если больше 1000 человек тогда начинаются пляски с бубном. для среднего бизнеса пойдет да же очень хорошо. для крупного это трешак. самое главное нет обратной связи между чаяниями рядовых программистов и разработчиков платформы 1с. все спускается сверху в декларативной форме.
Feelthis; rabid_otter; +2 –2 Ответить
120. g1_tdc 05.10.22 04:35 Сейчас в теме
(100)
Нет единной цементирующей идеи - все по принципам там приклеим + там пришлепнем получается зоопарк, но не стройная и четкая система.

Я видел кучу систем (не 1С) где все тоже самое ))) Зоопарк делают люди а не 1С
ktb; AllexSoft; oleg-m; +3 – Ответить
106. Borometr 11 04.10.22 16:27 Сейчас в теме
Отучился на программиста, но в свое время не смог найти работу по специальности без опыта. Пришлось идти в 1С. Давно мечтал уйти из 1С, но семья, ипотека и прочее сдерживали. Сейчас имея немалый опыт в 1С, нестрашно попробовать себя в других языках и уйти из 1с, даже несмотря на временный спад дохода. Вернуться всегда можно будет, если захочется. Хотя, таких как Андрей, наверное единицы.
TerveRus; SagittariusA; ivanchai; rabid_otter; +4 – Ответить
107. пользователь 04.10.22 16:37
Сообщение было скрыто модератором.
...
113. user705393_den 04.10.22 21:48 Сейчас в теме
У меня вопрос не к 1С - никам. Вы че здесь делаете вообще?) И если вам действительно так кайфово в других языках, откуда столько эмоций и попыток доказать, что там круче?
Forest_Owl; TerveRus; +2 – Ответить
114. starik-2005 3309 04.10.22 22:05 Сейчас в теме
(113)
доказать, что там круче
Я тут ни одной попытки доказать, что там круче не увидел. Были попытки доказать, что там "правильнее", но никак не круче. Круче 1С только яйца )))
116. ivanchai 04.10.22 22:36 Сейчас в теме
(114)Круче TensorFlow, Keras, Teano, Torch, Python, Java, С++
да даже Delphi круче
117. starik-2005 3309 04.10.22 22:38 Сейчас в теме
(116) яйца все-равно круче.
SagittariusA; ktb; AllexSoft; +3 – Ответить
118. ivanchai 04.10.22 22:46 Сейчас в теме
(117) яЙца фаберже еще ...
115. ivanchai 04.10.22 22:33 Сейчас в теме
(113) Да мы здесь уже почти ничего не делаем, смотрим на эту лажу и смеемся
119. g1_tdc 05.10.22 04:33 Сейчас в теме
"Будете говорить: «Господи, неужели я должен неделю кодить то, что раньше делал за две минуты». " - о да!!! Так и было!!!

Если абстрагироваться от названий ЯП и фреймворков и использовать холодную логику то нет ни "хороших" ни "плохих", есть только "правильно выбранные для решения поставленной задачи" и соответственно "не правильно выбранные". Причем под "задачей" мы подразумеваем не только этап разработки но и этап модификации и поддержки, можно написать/внедрить дешево но дорого поддерживать и наоборот.

Автоматизацию большинства бизнес процессов учета логично делать на 1С, под другие задачи возможно лучше использовать другие инструменты.
TerveRus; AllexSoft; +2 – Ответить
124. AllexSoft 05.10.22 10:51 Сейчас в теме
(112) собственно я об этом и писал, что ооп наведет порядок и придаст этому прозрачности, хотябы на уровне типовых решений и бсп.. кодовую базу она не уменьшит, как было в бсп порядка 500к строк, так и останется, пользоваться и подключаться будет проще, документация будет проще. По поводу дублирования и говнокода - это и с ооп можно нагородить и своих классов непонятно что делающих. Вот и написал какое то программист свой класс БанковскиеДокументы и какие то методы в нем, дальше пришел какой нибудь юнец из франча, который про ооп в универе слышал в лучшем случае, и вот в 99% он не полезет разбираться с этим монстром, он напишет рядом свою процедурку как попросил бухгалтер... а еще хуже просто скопирует этот класс (ну всмысле модуль с ним целиком) и назовет МойКлассБанковскиеДокументы, потому что про наследование не знает... в общем налепить можно такого что с ооп что без ооп... это от уровня специалистов зависит.
Вот что прям ооп маст хэв в 1с что жизни нет без него, ну вряд ли... я бы предпочел вместо него появление лямбда-функций, инициализацию входящих параметров процедур\функций результатом другой функции или стандартным значением (включая предопределенные элементы справочника\перечисления), получение ссылки на функцию модуля, нормальную асинхронность из коробки. то есть создание реальных потоков (а не обертку над ОписаниеОповещения то что сделали асинх)
125. starik-2005 3309 05.10.22 14:26 Сейчас в теме
(124) асинхронность - это такая однопоточная многозадачность, когда ожидание нажатия кнопаря позволяет копировать файл, а ожидание, пока файл копируется, позволяет еще что-то сделать. А реальные потоки - это многопоточность, которая к асинхронности мягко говоря не относится. И у 1С есть возможность что-то делать в несколько потоков через фоновые задания, но обмен данными между ними весьма труден, а процесс синхронизации потоков ограничен только методом ожидания завершения, который вываливается в исклбчение, если не дождался. Да, убого. Но сделай они какой-нить объект типа pTread или что-то в этом духе, то пользоваться им с умом не такое большое число 1С-негов сможет.
Forest_Owl; +1 – Ответить
128. ivanchai 05.10.22 18:13 Сейчас в теме
(125) сдается мне что они не могут сделать нормальный объект типа pTread
во ржачь, это центральная концепция 1с - сделать через... все от А до Я - 1с-ники они ведь почти все - такие пользоваться с умом не смогут, короче пусть они там плескаются в нашем "идеальном конфигураторе", ковыряются в непонятно чем кем и для кого написанном типовом коде. нетленки гораздо приятнее читать и кодить чем типовые конфы 1с. корочь вы как бы намекаете за 1с - "ребята программисты вы наши 1с-ники мы вас совсем не уважаем, ну так чуток самую малость, терпите это - ведь вы терпилы))))" так что ли?
126. ivanchai 05.10.22 14:28 Сейчас в теме
(120) пройдет лет 20 и автоматизацию большинства бизнес процессов учета будет делать ИИ и он будет написан не на 1с
129. AllexSoft 05.10.22 19:18 Сейчас в теме
(125) ага, я не так выразился, но вы все поняли.. многопоточность конечно имелась ввиду.. На клиенте вообще нет сейчас ничего по этой теме. На сервере убого, в отдельном сеансе.
130. Ruler 85 05.10.22 21:39 Сейчас в теме
(129) а зачем вам на клиенте многопоточность? На клиенте как раз асинхронность работает лучше, мы же хотим тонкий клиент и работать на любом калькуляторе, что то тяжелое запустили на сервере и пока оно выполняется, работаете с системой. У многопоточного программирования куча подводных и не очевидных проблем, основная это синхронизация, придется работать с блокировками на уровне потоков, обмениваться сообщениями, бороться со странным поведением потоков ну и как вишенка можно и дедлоки получать)) так что на сколько это полезно... Для параллельной обработки данных и то, что есть норм.
Общее адресное пространство при многопотоке это не простая задача, придется придумывать потокобезопасные структуры данных, или в полный рост рулить блокировками на уровне потоков...
131. AllexSoft 05.10.22 22:19 Сейчас в теме
(130) это сложная тема, я согласен... из того что было нужно недавно это на форму разместить таймер - пользователь может работать в форме не более 30 минут (такая бизнес логика продаж некоторых в общем), причем на этой форме должна быть надпись которая отображает состояние таймера, сколько еще осталось работать - оказалось что эта достаточно простая задача не решается без прямого назначения выполнения таймера в отдельном потоке. Если кратко то любое изменение надписи на форме приводит к неявному обновлению элементов формы и вот вы печатаете какой то текст в форме ввода, в эту секунду происходит обновление надписи на форме - поле куда вы набирали текст очистится... такие вот камни. Сейчас это решается через поле html-документа и простой JS с таймером + отлавливание события когда таймер закончился. Вот поле html-документа видимо выполняется в отдельном потоке на клиенте - его обновление никак не влияет на остальные элементы формы. Хотя я признаю что таких задач немного - всякие там дашборды, свои рисованные элементы управления, кто в общем упарывается в UI тому точно зайдет - вот где я работаю например
133. starik-2005 3309 06.10.22 08:35 Сейчас в теме
(129) да ладно, все решается обработчиком ожидания. Не верю, что менеджерам нужно было добиться вот прям 30 минут и ни миллисекундой больше. А в остальном простой алгоритм - в реквизите формы запоминаем время открытия, раз в 30 сек отображаем изсенение таймера, если текущее время больше, чем время открытия формы + 30 минут - блокируем форму на изменение, которое только манагер сиаршой может снять своим мегаштрихкодом или паролем.

Но в 1С другое меня бесит. Вот вчера помогал друзьям до часу ночи разобраться, почему на одном серваке форма открывается 100 часов (судя по замеру производительности), на другом хватает 10 секунд. И вот в 1С вообще никак не посмотреть, почему она на этом "медленном" серваке в одной из 4х практически идентичных процедур виснет на выходе. Т.е. основное время тратиться на то, что происходит уже после КонецПроцедуры. И обе процедуры находятся в сервкрном контексте, так что передача контекста тут вряд ли играет роль.
Forest_Owl; +1 – Ответить
134. AllexSoft 06.10.22 10:16 Сейчас в теме
(133) а вот и нет.. я сделал сначала ровно то что вы и описали, обработчик ожидания, сравнение текущего времени и времени запуска таймера и раз в н-секунд (даже раз в минуту делали) обновление надписи... написал я это, протестили, положили в прод, сижу такой радостный... а самые камни начинаются в реальной работе, был у них там один длинный комментарий в продаже, что то там со слов клиента.. и вот это самое время обновления надписи иногда совпадало с тем временем когда менеджер что то активно печатает в поле комментария (а менеджеров у нас больше 100, так что происходило это с завидной регулярностью). И выяснилось что любые поля формы будут очищены при любом изменении формы в обработчике ожидания если в них не срабатывало событие ПриИзменении (то есть перевод фокуса ввода в другой элемент или нажатие enter), собственно это длинное поле просто чистилось и клиента приходилось опрашивать заново.
135. пользователь 06.10.22 11:32
Сообщение было скрыто модератором.
...
138. starik-2005 3309 06.10.22 20:06 Сейчас в теме
(134)
собственно это длинное поле просто чистилось и клиента приходилось опрашивать заново
Вопрос решается отдельным окошком с таймером в форме №2.
137. 1CUnlimited 427 06.10.22 19:33 Сейчас в теме
Постановка вопроса в статье странная. Зачем прикладному программисту 1С идти в совершенно НЕприкладные языки программирования? То что на них ктото реализует бизнес задачи для которых проще использовать 1С Enterprise или шаблоны Битрикса это проблема проектных команд. Да платформа 1С позволяет сосредоточится на реализации бизнес процесса поскольку многое делается под капотом незаметно.

Но и границы архитектуры 1С видны четко - просто попробуйте на 1С сделать горизонтально маштабируемое решение и Вы сразу упретесь в издержки реализации платформы о чем я написал тут https://infostart.ru/1c/articles/1683197/

Если посмотрите архитектуру приложений JavaEE , сразу понятно что это полный отход от монолитной архитектуры, где все можно сделать в рамках одной платформы или фреймворка с net примерно тоже самое. Поэтому даже простой с точки зрения логики 1С клиентбанк для банка приходится реализовывать в виде микросервисов, которые работают с несколькими системами. Да это долго, дорого и длительно и альтернативный вариант это кастомизация готовых решений на базе Java, Spring , Net и т.д.
https://docs.oracle.com/javaee/7/tutorial/img/jeett_dt_001.png

В мире *net похожая ситуация
https://learn.microsoft.com/ru-ru/dotnet/architecture/modern-web-apps-azure/media/image5-12.png
139. AllexSoft 06.10.22 22:22 Сейчас в теме
(138) по условиям задачи этого нельзя было реализовать в другой форме, говорю же у нас упарываются в интерфейсы (самописная crm система), таймер должен быть ровно на том месте где было в макете, он должен иметь точно такие размеры\цвет и прочие оформления как было заказано.. у нас даже 1с сама на себя не сильно похожа - свои стилистические решения, макеты оформления отчетов, форм. свои элементы управления которые генерятся динамически из кучи декораций\надписей и групп + элементы на поле html документа в котором динамически генерящаяся страница на html+css+js и все это в одной форме ) Формы списка некоторых регистров сведений - дашборды в виде различных диаграмм с возможностью расшифровки до реальных записей регистра.
140. starik-2005 3309 06.10.22 22:57 Сейчас в теме
(139)
в котором динамически генерящаяся страница на html+css+js и все это в одной форме
Остается задать вопрос на тему того, а нахрена вам там, собсно, 1С? Выкинуть ее в бэкофис, чтобы глаза не мозолила. Ну и все общение с ней, как с гиперсервисом через http/rest/soap.
148. AllexSoft 07.10.22 11:05 Сейчас в теме
(140) правильный вопрос... а ответ в том что это и был бэкофис 3 года назад. Собственно была классика: 1с на бэке + фронт CRM на классическом языке (bpm от Terrasoft переработанная под нас) + api для взаимодействия между ними. В итоге много лет боролись c этой схемой и 1С победил в решающих сражениях) Победил скоростью и стоимостью разработки разумеется, как всегда - то что бизнес хотел писалось на классическом ЯП месяцами и за много-много-очень-очень-много денег, правда и хотелки космических масштабов. Годами ждать появления нужных подсистем в crm никого не устроило, в итоге то что надо бизнесу скатилось до банального экселя, в bpm вели то что он мог поддержать. Причем заметьте это Москва и компания очень даже крупная - один из топ-заказчиков у тех парней были явно. Поэтому собственно и 1С оказался на фронте. Я общаюсь напрямую с бизнес-заказчиками (РП со стороны бизнеса, руками отделов и департаментов) и никто даже не думает уйти из 1с на что либо, ибо разницу вкусили так сказать. Головные боли которые тревожили последние лет 10 сняли, эксели почти все вывели.. Из минусов что оказалось в 1С - ожидаемо интерфейсы, очень не гибко, очень в парадигме 1С, шаг в сторону и хочется всяких вещей типа многопоточности на клиенте, множества дополнительных свойств на тех же диаграммах, элементах форм (стилевых в первую очередь), больший выбор разнообразных вида текущих элементов форм (то что скины называется). Из плюсов - архитектура на порядок продуманее выходит (вот тут обращаюсь собственно к докладу Андрея, 1с программисту приходится и архитектором быть и бизнес-аналитиком) да и платформа подсовывает правильные архитектурные построения сама - за счет этого сложные выборки в отчетности проходят по итогу намного быстрее чем это смогли реализовать на классическом ЯП. Ну и скорость разработки за счет БСП той же, много готовых платформенных кейсов (готовых классов, типов данных)
dvsidelnikov; TerveRus; +2 – Ответить
149. AllexSoft 07.10.22 11:34 Сейчас в теме
(141) в (148) ответил развернуто почему так.. дорого и долго, хотят здесь и сейчас.. на высококонкурентном рынке это всегда так. Про вероятность что 1С что то сломают в платформе, это да, есть риски конечно, а где их нет? У нас в принципе есть подстраховка КОРП лицензия и подписка с расширенной поддержкой в том числе вендора напрямую, через нее даже решили 1 платформенный баг, вполне себе кстати оперативно признали ошибку и включили в один из ближайших релизов платформы исправление. Чему я был удивлен даже (ибо за 7 лет работе во фране имел дело с вендором и там решалось все на отстань, правда было это давно).
150. 1CUnlimited 427 07.10.22 13:55 Сейчас в теме
(148) Если бизнес интересует только функционал, туда ему и дорога. Есть такое понятие маштабирование, которое особенно актуально для фронт офиса. Скажем возможность принять запросы от десятков тысяч клиентов одновременно. 1С имеет четкие архитектурные лимиты для таких задач, поэтому бэкофис карма 1С. Даже SOAP в 1С https://its.1c.ru/db/intgr83/content/80/hdoc с повторным использованием сеансов как бы намекает на лимиты. Это вопрос психологии общения с бизнесом, что он хочет упустить выгоду от маштабирования, или сиеминутные хотелки.
141. Ruler 85 07.10.22 08:18 Сейчас в теме
(139) хм, может вам на 1С поднять рест контроллеры и интерфейс сделать красивым при помощи средств фронта?
В 1С всегда есть не 0 вероятность, что в следующей версии платформы, что то "поправят" и все ваши хаки и костыли лягут или начнут как то не так работать.
151. AllexSoft 07.10.22 17:45 Сейчас в теме
(150) у нас это внутреняя CRM система, там не может быть десятков тысяч клиентов одновременно, да и продаем мы недвижимость.. сами понимаете насколько это долгая история продать 1шт товара в нашем случае) в общем масштабирование не актуально от слова совсем..актуально удобство пользования, детальная проработка отчетности с кучей аналитик, возможность оперативно допилить функционал (сегодня у нас специоперация и ломанулись все кто был с одобренной ранее ипотекой под низкую ставку, они за месяц закончились и актуальна стала рассрочка и всякие там субсидированные программы, послезавтра гибкая система скидок и лояльности...). Возвращаясь к докладу Андрея - он все правильно говорит, бизнес не интересует чистый код и наличие ООП.. их интересует только поможет ли это решение заработать очередной лярд или не поможет. ну а мы с вами не для себя это все пишем на любом ЯП, а для бизнеса, кто платит тот и заказывает музыку как говорится.
Evil Beaver; +1 – Ответить
152. starik-2005 3309 08.10.22 14:56 Сейчас в теме
(151)
это решение
Ну у вас очень особенное такое решение, что просто пипец какое + небольшое количество пользователей. Но некоторые пытаются внедрить 1С на 10к рабочих мест, а потом тратят только на то, чтобы она хоть как-то работала, годовые бюджеты средней африканской страны. И я вот ни разу не уверен, что отдельное решение на питоне или ноде чисто для фронта было бы в поддержке и скорости разработки дороже и медленнее, при том с неограниченными возможностями, а фронтмены могут стоить вполне недорого - у вас же этот фронт и так для 1С пишется, которая завтра с вебкита перейдет на еще что-то и все сдохнет - риск. А прокинуть отчеты в вебку - это вообще не проблема. А с чем-нить типа кликвью или повербиай эта штука была бы куда подвижнее. Но это просто вопрос компетенций ИТ-директора. И раз он кроме 1С и этого вот кейса, который стоил как авианосец, ничего не знает, то мои соболезнования. С другой стороны, раз 1С работает, то и пусть работает - это ни разу не плохо, просто есть решения лучше (опять же на мой скромный взгляд).
153. AllexSoft 10.10.22 11:38 Сейчас в теме
(152) ну по меркам 1С у нас не "небольшое количество пользователей". какбы лизензия КОРП намекает) другое дело что их число относительно стабильно, поэтому мы плюс минус можем прикинуть ресурсы с прицелом на среднесрочную (3-5лет) перспективу. Есть у нас и PowerBI (который видимо таки отвалится по причине что MS уходит), и клик есть и даже 1С:Аналитика ) и красивые интерактивные дашборды в 1с... в общем все разнообразие поверьте... и вебщики внутри отдела у нас есть, поэтому прекрасно мы все знаем и затраты на фронт и скорость разработки, из первых рук так сказать. Если бы у нас была относительно статичная конфа и 10к пользователей, то да, фронт на каком нибудь JS был бы очень неплох, его можно было бы неспешно пилить, вводить кусками, вылизывать... но по факту не тянут даже 20 фронтендеров то что будут делать 10 1с программистов, то есть бэк (ну по сути БД для фронта) будет намного быстрее развиваться, то есть узким горлом опять станет фронт который не может обеспечить потребности бизнеса.
bmp на классическом яп вот это был крейсер с эскадрой самолетов, медленный и дорогой, уже пройденный этап, ну не работает это и все, не объяснишь бизнесу почему нужно ждать год, когда надо за неделю, через год эта задача уже станет не актуальна, таких клиентов уже не будет просто, я собственно выше писал почему 1С - дешево и быстро.
ПС: не бывает дешевых фронтендеров, бывает дешевая рабочая сила, не важно на каком ЯП... если вы платите мало - покупаете джуна, но и качество будет соответствующее, нас этот вариант не устраивает никак.
154. пользователь 10.10.22 12:00
Сообщение было скрыто модератором.
...
155. starik-2005 3309 10.10.22 12:33 Сейчас в теме
(154)
стоит ли
Хабр?
(153) Ну фронт - это средство ввода данных. С одной стороны, в 1С проще добавить реквизит на форму. с другой стороны, это вызовет реструктуризацию. И если бизнес ночью спит, то техокно - огого! А если нет, то ... Большой и красивый фронт на ноде или питоне может атомарно обновиться за единицы секунд - там есть множество вариантов для этого. А на 1С вариантов немного - две штуки: полная реструктуризация или через новомодную фичу, требующую джавы, при том нет 100%-й гарантии, что это будет существенно быстрее.
156. пользователь 10.10.22 12:52
Сообщение было скрыто модератором.
...
157. kser87 2485 14.10.22 16:37 Сейчас в теме
На самом деле вывод такой: надо активнее продвигать 1С в странах дальнего зарубежья. Писать конфигурации, искать клиентов, учить английский. Мы имеем все шансы
161. smit1c 107 24.10.22 14:47 Сейчас в теме
(157) 1С там теперь даром никому не нужна
158. papami 55 17.10.22 12:08 Сейчас в теме
Такие темы обычно собирают кучу комментов просто потому, что кто-то навязывает чувство вины "ненастоящий программист", а кто-то (многие) ведется.
159. user745543 17.10.22 15:24 Сейчас в теме
Автор явно путает работу проститутки, которая обслуживает клиентов и работу преподавателя в консерватории классической музыки. Да, проститутка зарабатывает намного больше и у нее есть обратная связь от клиентов, которая греет ее ЧСВ. Ведь она приносит такую очевидную пользу всем ) Она и архитектор, и менеджер, и финансист в одном лице. Куда до нее какой-то скрипачке из консерватории. Если автор до сих пор не понимает разницу между настоящими программистами и 1с-ником, его просто жаль. Хотя, конечно, кто-то добровольно идет в проститутки и им это может нравиться.
160. papami 55 21.10.22 09:31 Сейчас в теме
(159) Еще автор забыл привести пример клоунов, которые качественно работают с эмоциями зрителей)
162. SagittariusA 24.10.22 19:42 Сейчас в теме
Андрей, спасибо за труд! Также отдельное спасибо всем кто "продолжает статью" в виде комментариев! Интересно почитать.
163. sojuznik 23 27.10.22 12:11 Сейчас в теме
Статья довольно вызывающая.
Нельзя так прямо сравнивать программистов, среды и возможности языков программирования. 1С заточена для учета ведения бизнеса для малых и средних предприятий - это ее ниша. Этот механизм позволяет запустить, например торговое предприятие за день используя типовую конфигурацию.
В свое время 1С использовала такой же маркетинговый ход как компания Microsft со своей операционной системой - с платформой можно было работать не покупая ее, т.е. бесплатно. Это сработало. Многие этой возможностью пользуются до сих пор. Стоимость входа и владения в 1С очень низкая.
Да - программист 1С - это универсальный швейцарский нож - но только в своей нише: он же аналитик, архитектор, программист и техподдержка. Если хотим сделать что-то другое или что-то большое - вести учет бизнеса для большого предприятия - нужно использовать другой механизм, 1С здесь не потянет.
Ограничение во благо - это неверное выражение. В платформе должны быть возможности, что б у программиста были крылья, которые он мог расправить.
Если можешь использовать несколько языков программирования - это великолепно. У тебя больше возможностей для оптимального решения задачи.
Не стоит забывать, что для решения поставленной задачи заказчик может заплатить определенное количество денег. Что бы вложиться - лучше допилить типовое решение, чем что-то создавать с нуля. Для личного удовольствия с 1С никто не работает - это бизнес-платформа.
166. pyrkin_vanya 505 02.11.22 09:55 Сейчас в теме
Я аж прослезился) Спасибо за статью.
167. rebuzx 167 02.11.22 15:23 Сейчас в теме
По логике статьи, программист составляющий алгоритмы на С++ для секвенирования генома, составления статистических данных на R и вывода информации на Phyton, в подметки не годится программисту 1С.
А программист 1С с полуоборота разберет геномные цепочки.
Выводы про самых умных, недооценённых и всеми обиженных, мягко говоря, очень странные.
168. muskul 03.11.22 03:34 Сейчас в теме
(167)-Методичка есть? -Есть.. -Сейчас до курю пойдем сдавать.
180. TerveRus 07.11.22 14:08 Сейчас в теме
(167)
программист составляющий алгоритмы на С++ для секвенирования генома

Программист С++ сам не выдумывает алгоритмы секвенирования генома! А 1С-ник может работать за всех, и за постановщика задачи, и за пользователя тоже. И сам себе интерфейс придумает/нарисует, и алгоритм. А "настоящие" программисты гнут пальцы насчет своей супер ультра специализации, хотя ничего крутого в этом нет - вот о чем статья.
181. rebuzx 167 08.11.22 15:28 Сейчас в теме
(180) Если бы сравнивались программисты SAP и программисты 1С, я бы с вами согласился.
Но автор сопоставляет несопоставимое, нарушает правило "при прочих равных" и делает ошибочные выводы.
rabid_otter; +1 – Ответить
189. kser87 2485 14.11.22 10:17 Сейчас в теме
Да здравствует 1001 й срач между 1сниками и "настоящими погромистами"
192. muskul 21.11.22 03:03 Сейчас в теме
(189)И тем не менее задницу одина положили на прошлой недели как раз те самый "трупрограммисты"
196. WarAn 07.01.25 22:02 Сейчас в теме
Статья, наверное, хорошая, сейчас попробую дочитать, но ОЧЕНЬ СИЛЬНО ВЗБЕСИЛИ ваши картинки. Потому что они дебильные! Потому что они бесполезные. Потому что они на 100% дублируются в тексте под ними. Удалите их, и качество вашей статьи улучшится многократно!
199. Evil Beaver 8429 04.02.26 19:54 Сейчас в теме
(196) это не статья, а транскрипт выступления.
197. пользователь 07.01.25 22:17
Сообщение было скрыто модератором.
...
198. DmitryKlimushkin 9 12.11.25 20:28 Сейчас в теме
"...программисты SAP и программисты 1С..." = "...бегуны левой ногой и бегуны правой ногой..."
Спор двух блондинок, оценивающих автомобили "Ой, а эта больше красненькая, чем вон, та-а..."
200. acvatoris 584 27.03.26 10:46 Сейчас в теме
То же самое с объектно ориентированной моделью – ORM-моделью
- ORM - расшифровывается, как Object-Relational Mapping, и если это перевести на русский язык, то получим - Объектно-реляционное отображение или Объектно-реляционное преобразование.
Для отправки сообщения требуется регистрация/авторизация