
Многие считают 1С особым замкнутым миром. А методы работы в нем — неприменимыми в «нормальном» программировании. Это давно не так. Конечно, у каждого решения есть свои плюсы и минусы. Но я уверен: если вы не любите 1С, то вы просто не умеете его готовить.
Меня зовут Владимир Короткий, я руководитель отдела проектов 1С в Lamoda Tech. В этой статье расскажу, по каким принципам мы работаем внутри компании и почему оптимистично смотрим в будущее этой технологии.
В Lamoda Tech на 1С завязана часть ключевых процессов, и количество систем на стеке 1С год от года только растет, — а все потому, что мы умеем и любим с ней работать.
Рассказываю наши рецепты.
Не замыкаться на одной технологии
Кому-то это покажется удивительным, но в команде 1С мы используем те же best practices, что и любые другие разработчики. Kafka для работы с интеграциями, Prometheus и Grafana для мониторинга, ClickHouse для хранения и работы с логами: если есть удобные и понятные всем инструменты, почему бы не начать с ними работать?
Компания — это одна общая информационная среда. В случае Lamoda Tech большинство систем работают с Kafka. Для управления интеграциями в 1С это нестандартное решение. Но с ним удобно отдавать данные на вход и выход без долгого поиска точек соприкосновения.
Конечно, начиная работу с этим инструментом, мы на какое-то время усложнили себе жизнь, пока изучали новый инструмент. Но в результате у нас появилась общая подсистема, которая очень быстро встраивается в любое 1С-решение и обеспечивает единообразный подход к интеграциям.
Результат упростил и поддержку продуктов: Kafka в Lamoda Tech использует не только наша команда, поэтому все знают, как с ней работать и как ее поддерживать.
Решать нестандартные задачи
«Классические» системы 1С, которые есть во многих компаниях, — это бухгалтерия, финансы и зарплата. Но если разработчику в компании приходится заниматься только ими, то он быстро заскучает.
Нашей команде скучать не приходится: в Lamoda Tech мы поддерживаем 12 систем 1С — от рутинных решений для выплаты зарплат до хитрой логистики.
У нас настроены интеграции со всеми возможными платформами внутри компании. Мы создаем подсистемы, благодаря которым быстро встраиваем новые решения на 1С в общий IT-ландшафт. Когда у бизнеса появляется новая задача, наша команда предлагает варианты, как быстро и надежно реализовать проект.
Так появляются неожиданные продукты — например, управление перевозками. В этом проекте мы взяли за основу «1С: TMS Логистика» и серьезно ее кастомизировали: оставили ту часть, которая касается управления автопарком, и добавили необходимую нам маршрутизацию грузов. Получилась сложная система, которая получила награду «Проект года» от 1С.
Сложность проекта связана с особенностями нашей логистики. География широкая — от Бреста до Владивостока; вариантов, как доставить груз, много. Заказ покупателю из Кемерово может ехать 4 дня машиной до Новосибирска, затем отправиться в Кемерово в пункт выдачи заказов. Может вылететь на самолете на пару дней позже, но оказаться у заказчика раньше, если это экспресс-доставка. Или два заказа могут встретиться на транзитном складе в Новосибирске и поехать к покупателю вместе.
Важно правильно рассчитывать стоимость доставки, чтобы понимать, как управлять затратами и их оптимизировать. Учитывая большой бюджет перевозок, эта информация важна для принятия решений в рамках всей компании.
Lamoda с 10 тысячами сотрудников не стала исключением и использует у себя и классические системы вроде «1С:Зарплата и управление персоналом». Выбор в пользу 1С в некоторых ситуациях выглядит очевидным, и мы не противимся этому — выбираем тот инструмент, который позволяет быстро решать задачи бизнеса. Например, если нужно запустить с нуля офлайн-торговлю, то «1С» подходит для этого идеально.
Но мы стараемся расширять возможности наших систем. Например, ЗУП в Lamoda — это не только зарплата и страховые взносы. Мы ведем в ней несколько видов учета рабочего времени, автоматизировали многие льготы для сотрудников, включая питание на складах, доплаты за отпуск, компенсации по больничным и интегрировали систему с ЭКДО.
Создавать универсальные инструменты
Функциональность, которую можно переиспользовать в других системах, мы стараемся выделять в отдельные подсистемы или включать в наш аналог библиотеки стандартных подсистем.
Общие подсистемы — блоки с универсальным кодом, который можно интегрировать в любую систему на платформе 1С. Используем их, когда необходимо синхронизироваться или интегрировать новый процесс или технологию. Это значительно снижает затраты на новые запуски. Например, за короткий срок мы можем в новой системе начать создавать пользователей на основании данных из Active directory или научить систему общаться с Kafka.
В правильности подхода мы в очередной раз убедились, когда внедряли «1С:Управление нашей фирмой». Пару недель назад Lamoda открыла первые офлайн-магазины Lamoda Sport, и для них мы за короткое время доработали систему с учетом всех потребностей.
Работать в команде
Команда 1С в Lamoda Tech вписана в общий IT-ландшафт. Так что мы постоянно общаемся с коллегами из других направлений разработки и ищем совместные решения. Во главе угла — интересы компании, поэтому мы не упираемся и отдаем задачи коллегам, если кто-то может сделать их лучше нас.
Например, некоторые отчеты в нашей системе за долгое время существования превратились в монстров Франкенштейна: усложнились запросы, структура репорта. Нам стало тяжело их поддерживать. В результате часть репортов мы отдали в наше хранилище данных, команду DWH. Им намного проще собрать отчет, сделав его красивее, нагляднее, структурнее: они умеют делать витрины. А нам было несложно передать нужные им данные.
Интеграции с большим количеством данных это всегда трудоемкая задача. А интеграция с большим количеством разрозненных видов хранения — еще сложнее.
Мы решили задачу проще: создали представления. На уровне базы SQL сформировали вьюхи, и наши коллеги из DWH работают в привычной для них среде — большом количестве плоских таблиц. Нам не приходится ничего согласовывать, они сами запрашивают нужные данные и забирают их.
Настроив один раз генерацию и формирование вьюх, мы навсегда избавили себя от трудозатрат на интеграцию со своей стороны. При этом не побоялись попросить помощь и открыть наши данные: кооперация здесь для нас только выгодна.
Не бояться экспериментов
«1С» как компания сейчас активно развивается, и мы стараемся быть в мейнстриме — анализируем новинки вендора и смотрим, что может быть интересно с точки зрения развития бизнеса и развития команды и ее экспертизы. Например, сейчас в рамках эксперимента совместно с «1С» мы пробуем «1С:Предприятие.Элемент» — новую технологию разработки веб-приложений.
Ее еще нет в открытом доступе, мы участвуем в пилоте. Он требует от нас дополнительных усилий, так как отличается от привычной нам разработки. Но мы уже видим набор преимуществ для наших задач, поэтому заинтересованы в том, чтобы начать скорее использовать эту технологию.
Это не просто эксперимент, когда дают «поиграться»: мы решаем настоящие бизнес-кейсы, а не просто исследуем возможности на абстрактных задачах. И уже накопили полезный опыт.
Делать проекты для людей, а не «галочки»
В Lamoda Tech развитая продуктовая культура. И команда 1С не исключение. По системам есть свои продакт-менеджеры, определены метрики, мы работаем по тем же принципам и следуем тем же ритуалам, что и другие команды разработки. Приоритезируем бэклог с точки зрения значимости для компании и пользователей, формируем продукт исходя из текущих потребностей и задач.
Есть проекты, для которых план доработок расписан на несколько лет вперед — например, это наша логистика, TMS. При этом компания большая, реализация фичей занимает время, и мы понимаем, что требования за это время могут сильно меняться. Продуктовый подход гарантирует жизнеспособность наших продуктов и их развитие в долгосрочной перспективе.
Мы не выпускаем мертворожденные проекты, только чтобы отчитаться за потраченный бюджет, поставить галочку «готово» и после начать все переделывать. Мы работаем не для того, чтобы закрыть проект. Для нас важно создавать ценность для бизнеса.
Искать единомышленников
Многие принципы управления командой, которых я придерживаюсь, я подчерпнул из Agile, так что хорошо понимаю и признаю важность людей и их взаимодействия. В Lamoda Tech эти принципы работают на уровне всей компании: командная работа, взаимовыручка, поддержка — одни из наших главных ценностей.
По тем же принципам мы ищем сотрудников. Условно называем это Lamoda fit, когда по общению понимаем, что нашли «своего» человека. Не буду углубляться в детали найма, так как вопрос дискуссионный и всегда зависит от конкретной ситуации. Но поиск единомышленников, людей, с которыми говоришь на одном языке, помогает нам формировать крепкую и сильную команду.
Что важно: внутри Lamoda Tech мы не создаем свой «загончик» для 1С-разработчиков, которые общаются только с HR и бухгалтерией. Наши системы — одни из ключевых в Lamoda, и у бизнеса к нам большой кредит доверия.
Благодаря доверию у нас регулярно появляются те самые нестандартные задачи, которые не дают заскучать. А также ресурс для развития сотрудников, поддержки новых технологий, экспериментов, — всего того, чего часто не хватает 1С-разработчикам и за чем они уходят в другие языки программирования.
Комментарии (46)
 - CrushBy26.12.2023 09:11+4- В 1С разработке не может быть скучно. Каждый день же нужно на столько граблей, заложенных в платформу 1С наступать. Вот в Java все скучно как-то...  - starik-200526.12.2023 09:11- Каждый день же нужно на столько граблей - Там ниже про фатальный недостаток, который сводится к тому, что не юзается эклипс/vscode/idea/..., нет гита, плохая поддержка постгреса. - Так вот сейчас есть ЕДТ на базе эклипса, которым, правда, ограниченно можно пользоваться - он тормозит просто пипец как. У меня разработка идет в гите, кстати. ЕДТ просто юзаю. для коммитов, разрабатываю в конфигураторе. С постгресом стало все достаточно неплохо. - Вообще, 1С сейчас достаточно неплохой стек. И, честно говоря, в последнее время встречаюсь с низким уровнем разработчиков на других языках в компаниях-партнерах. Например, делал сервис для такой конторы. Сделал на базе SOAP (да, не самая новая технология, но по крайней мере запрос валидируется по параметрам), так в ответ пришел вопрос о том, как вообще с этим работать. Скинул им код на питоне. Они в ответ, что нафиг код - раскажи, какой пакет посылать, чтобы данные получить. Скинул им пакет (xml), они придрались, что давай тогда уж если xml шлешь, то и данные не в json шли, а в xml. В итоге переделал им на HTTP-сервис, который шлет им правильные json'ы без обертки в xml. Жду следующих претензий )))  - CrushBy26.12.2023 09:11+3- Так вот сейчас есть ЕДТ на базе эклипса, которым, правда, ограниченно можно пользоваться - он тормозит просто пипец как. У меня разработка идет в гите, кстати. ЕДТ просто юзаю. для коммитов, разрабатываю в конфигураторе. С постгресом стало все достаточно неплохо. - Ну я же говорил. Не скучно ведь. Работать сразу в двух IDE, разбираться с косяками PostgreSQL и много чего веселого. - А коммитете в гит, как я понимаю, xml-файлы ? А как вы их потом мерджите и конфликты решаете ? Вот так вручную читаете и сливаете xml-файлы ? Удобно ? - И, честно говоря, в последнее время встречаюсь с низким уровнем разработчиков на других языках в компаниях-партнерах. - Но это явно не из-за того, что 1С как платформа сильно выросла. Это возможно потому, что много разработчиков с высоким уровнем куда-то по какой-то непонятной причине уехали... А вот 1Совцам особо некуда уезжать. Поэтому и изменился средний уровень.  - starik-200526.12.2023 09:11- А при чем тут постгрес? Я на мелкомягком скуле. Просто постгрес сейчас тоже достаточно неплохо работает. - По поводу двух ИДЕ, то я работаю в части разработки только в конфигураторе. Дальше в ЕДТ просто заливаю изменения после реализации фичи и делаю фикс в репу. Дальше уже в гитлабе создаю мердж. Соседи делают из фикса черри-пик и собирают из них итоговый мердж. Но что у них, что у нас - давно уже не наблюдал конфликтов, т.к. я, например, сначала получаю конфу с гита, потом сливаю ее с конфигуратором, смотрю изменения, потом уже фиксирую и создаю мердж. - По поводу среднего уровня, то он изменился из-за офигенного количества курсов, которые готовят даже не джунов, а недостажеров. Была ж тут "крутая" статья о том, как научиться быть мидлом после курсов. Там было одно слово "никак", но статья вошла в супертоп супертопов. Но, честно говоря, и раньше-то не так много было действительно хороших разработчиков, а то откуда тянется весь этот легаси-спагетти-код в проектах, которым уже много годиков? Их начинали в светлые времена, но из-за слабого уровня их начинателей они сейчас такие, какие есть. И это не у нас все так плохо - это общая проблема. И чем дальше от РФ, тем она выраженнее даже. Ну если не считать фаанги или как их там и подобного уровня конторы - да, там вон свои проектики, а у нас тут один в ВК жалуется, что на свои проектики подзабил, в итоге вместо бонуса получил аз щеку.. - А по поводу стека 1С, то сейчас там и SOAP, и REST. и oData, и JWT-токены, и oAuth, и боты, и сервис взаимодействия с софтфоном, и регулярные выражения, и все такое прочее, о чем далеко не все свалившие разрабы даже в курсе. Смотрю я один чатик в телеге, так там предел мечтаний - 3,5к евров - 1Снеги даже смотреть на такое не будут.  - CrushBy26.12.2023 09:11+1- например, сначала получаю конфу с гита, потом сливаю ее с конфигуратором, смотрю изменения, потом уже фиксирую и создаю мердж. - Это значит "просто читаю комментарий коммита", или именно читаются изменения в XML, по которым восстанавливается картина того, что меняли в конфигураторе визуально ? Как в Матрице ? - Информации, получаемой из Матрицы, гораздо больше, чем ты можешь расшифровать. Ты привыкнешь к этому. Я уже даже не вижу код. Я вижу блондинку, брюнетку, рыжую.  - starik-200526.12.2023 09:11- Да, просматриваю код. На это уходит очень небольшое количество времени (30 секунд). В 99% случаев просто нажимаю "Закрыть" в окне сравнения, просмотрев те изменения, которые внес. Потом еще раз смотрю код при мердже - просто так у нас заведено. - Посмотрел изфьюжн тестовую конфу. очень медленно переключается между светлой и темной темой, на кой-то фиг при первом нажатии значок меняется на значок настройки. При клике не пиктограмме меню сверху вижу слева открывшийся список, но через секунду пиктограмма уменьшается и список слева пропадает. Так и не смог его прочитать. Покрутил список товаров - не понял, как зайти в карточку этого товара. Совсем непонятно, что за атрибуты слева внизу. Попахивает недоделанностью, которая вот прям из каждой щели сочится. В общем у меня от этой штуки впечатление нехорошее.  - CrushBy26.12.2023 09:11- Да, просматриваю код. На это уходит очень небольшое количество времени (30 секунд). В 99% случаев просто нажимаю "Закрыть" в окне сравнения, просмотрев те изменения, которые внес - Я не про код говорил. Часто в заслугу 1С ставят именно "визуальное программирование". Но, чтобы визуальное программирование подложить под гит, его надо преобразовать в плоский текстовый формат. Насколько, я понимаю, 1С выбрал для этого универсальный xml-формат (тогда как lsFusion свою грамматику сделал под это). Речь шла о том, что как вы читаете изменения, которые сделаны визуально ? Например, изменение доменной логики, дизайна и т.д., а не кода. - Посмотрел изфьюжн тестовую конфу - Лучше смотреть не тестовую конфу, а демку MyCompany. Там сейчас везде на демо master-ветки с самыми последними изменениями. На release'е понятно, что все проблемы исправятся. На стабильной версии lsFusion работают сотни проектам (в некоторых из которых по 3 тысячи одновременно работающих пользователей), так что о сырости говорить не приходится.  - starik-200526.12.2023 09:11- Даже интересно стало, что такое "доменная логика". Визуальные элементы форм в 1С - это дерево иерархии объектов и свойств. Там все предельно понятно при сравнении - такие элементы добавлены в группы, такие убраны, у таких свойства изменились. В общем это на столько элементарно, что я даже и не думал о них, пока Вы не спросили. - ЗЫ: Посмотрел демку - все те же проблемы. Навожу на верхнее меню - оно становится больше, жму на пиктограмму - слева появляется меню. Через секунду пиктограмма сворачивается, меню пропадает. Та же непонятная пиктограмма настройки после нажатия на кнопку смены темы. И только со второго нажатия тема меняется. - И еще - нажимаю "Новый чек". Мне вопрос о том, действительно ли я хочу. А потом еще раз. Это нормально? Я попробовал поправить - не нашел, как. В 1С я бы это поправил за секунду. - И еще наборал продкутов, которые можно только из списка выбрать, т.к. поиск опять отображает все. Ну ладно. Пробиваю чек - нельзя товары в минус. Чек не пробился. А я уже в корзине все к кассе принес, я голодный покупатель, а оно не продает... При том информации об остатке нигде нет... - Вот Вы серьезно на таком продукте работаете? Мне вас жаль..  - DAleby26.12.2023 09:11- Та же непонятная пиктограмма настройки после нажатия на кнопку смены темы. И только со второго нажатия тема меняется. - Это не пиктограмма настройки, это пиктограмма светлой темы - солнце. А переключатель там: светлая тема (солнце) - темная тема (месяц) - системная тема. Возможно, не совсем очевидно, соглашусь, но обычно это переключение происходит один раз (или ноль). 
  - CrushBy26.12.2023 09:11- В общем это на столько элементарно, что я даже и не думал о них, пока Вы не спросили. - Но при этом так и не ответили на вопрос. То, что визуально делают в конфигураторе Вы потом анализируете в git'е в виде изменений в xml ? Удобно ? - Навожу на верхнее меню - оно становится больше, жму на пиктограмму - слева появляется меню. Через секунду пиктограмма сворачивается, меню пропадает. - Там есть переключатель, где можно все зафиксировать. Смысл такого поведения в том, чтобы максимально все спрятать, когда Вы не работаете с навигатором, чтобы как можно больше места отходило рабочим формам. Ведь частое поведение - открыли и формы и дальше с ними работаем. - Та же непонятная пиктограмма настройки после нажатия на кнопку смены темы. И только со второго нажатия тема меняется. - Там 3 варианта : светлая, темная и как в ОС. Соответственно, в одном случае она не меняется, если совпадает с той, которая в ОС. Все эти параметры, как и выше, могут задаваться как глобально, так и в настройках, и сохраняются для конкретных пользователей. Напомню, что в 1С вообще нет темной темы, что лично для меня большой минус. - И еще - нажимаю "Новый чек". Мне вопрос о том, действительно ли я хочу. А потом еще раз. Это нормально? Я попробовал поправить - не нашел, как. В 1С я бы это поправил за секунду. - Это совершенно не критично, но действие определяется вот тут. Там же можно и править. Но сначала придется немного изучить lsFusion. - Пробиваю чек - нельзя товары в минус. Чек не пробился. - Запрет задается в настройках (в демке включен, чтобы минусы не плодить). Кстати, на практике у нас есть клиенты, которые именно так просили, чтобы кассирам запрещали продавать в минус. Это спорный подход, но имеет право на жизнь - дисциплинирует кассиров (конечно же, не в продуктовых магазинах, а там где продаж немного - там корзин нет). - Вот Вы серьезно на таком продукте работаете? Мне вас жаль.. - Нет, мы работаем на другом коммерческом продукте, который в разы сложнее MyCompany. Но и на MyCompany тоже есть работающие клиенты. И не только мы ее используем. Есть сторонние разработчике, которые самостоятельно установили клиентов и правят ее.  - starik-200526.12.2023 09:11- Ну вот, например, открываю управление ценами, там вкладка "Прайсы". Заголовки таблицы кривые. Ну, думаю, ща потяну - нифига. За что бы ни потянул - раздвигается только колонка с номером. - Я вообще не против систем других, поверьте. Я просто вот прям сходу вижу кучу проблем, которые не понимаю, как вообще в принципе решить. - И да, в 1С тоже много проблем. Но я с ними научился справляться. До сих пор полно программистов 1С, которые в ступор впадают при редактировании форм, наворачивают там столько всего, что глаз дергается от обилия масс. У вас там тоже этого не удалось избежать - большинство форм перегружены. Тот же отбор в 1С вынесен в отдельный механизм настройки динамического списка. Элементы отбора могут быть размещены пользователем в специальной области формы списка (по умолчанию над списокм, но это пользователем настраивается), а у Вас они просто выведены слева внизу. - Но вообще интересная система. Было бы у меня много свободного времени, то помог бы даже с развитием. Могу тестером быть ))) - По поводу форм, то если Вы до сих пор 1С воспринимаете на уровне обычных форм, где элементы имеют привязки аля Делфи, то времена этих обычных форм прошли. Уже давно в 1С управляемые формы - это такой ХМЛ/ХТМЛ. Нет там никаких проблем с объединением, т.к. нет уже давно у элементов форм ни привязок, ни координат.  - CrushBy26.12.2023 09:11- Ну, думаю, ща потяну - нифига. За что бы ни потянул - раздвигается только колонка с номером. - Это потому, что у колонок есть минимальная и максимальная ширина. По умолчанию, например, у колонок с датами она такая, чтобы влазила только дата. Соответственно, растянуть и сузить их нельзя. - Элементы отбора могут быть размещены пользователем в специальной области формы списка (по умолчанию над списокм, но это пользователем настраивается), а у Вас они просто выведены слева внизу. - Они не просто выведены снизу. Еще когда начинаешь просто вбивать первые буквы, то автоматически включается фильтрация по текущей колонке. Почему так в 1С не сделали - мне не понятно (это вообще стандартное поведение везде - поиск/отбор по колонке на которой стоишь). В 1С же включается полноконтекстовый поиск, который на больших объемах явно не лучшим образом работает. - Нет там никаких проблем с объединением, т.к. нет уже давно у элементов форм ни привязок, ни координат. - Понятно, что при разработке сейчас использовать абсолютное позиционирование - это моветон. Тем не менее, в 1С проблема в том, что там layout идет фактически javascript'ом, что делает GUI очень тормознутым (лично меня бесит подлагивания в 1С в простых действиях). Вот, например, как выглядит DOM в демке 1С:  - Там вся таблица div'ам с пикселями нарисована... Ну вот как так можно в 2023м году ? 
  - starik-200526.12.2023 09:11- Это потому, что у колонок есть минимальная и максимальная ширина. По умолчанию, например, у колонок с датами она такая, чтобы влазила только дата. Соответственно, растянуть и сузить их нельзя. - Ну когда колонка просто маленькая и ее заголовок видно - без претензий, но когда в заголовке видно только три буквы, при том они идут одна под другой - это Вы как объясните? Смотрится как полный зашквар. - Они не просто выведены снизу. Еще когда начинаешь просто вбивать первые буквы, то автоматически включается фильтрация по текущей колонке. - В 1С также. Странно, что Вы это не знаете. Но есть еще и полнотекстовой поиск, который за последние три релиза платформы поменялся, а за следующие три еще поменяется. Но это если в списке просто набирать "иванов", например. Но если нажать АЛЬТ+F, то работает как раньше без полнотекстового, и работает весьма быстро, если, конечно, бравые прораммисты 1С не наворотилди там кучу подзапросов. - Тем не менее, в 1С проблема в том, что там layout идет фактически javascript'ом, что делает GUI очень тормознутым (лично меня бесит подлагивания в 1С в простых действиях). Вот, например, как выглядит DOM в демке 1С - Все очень по разному. У меня, например, интерфейсы получаются весьма отзывчивыми, т.к. я не тащу на форму все на свете и не бегаю на сервер при любом непонятном действии. Но да, многие программисты 1С тут далеки от идеала. С другой стороны, многие программисты и не на 1С умудрябтся такого размера виртуальный дом мутнуть, что он начинает нехило так подвисать. 
  - CrushBy26.12.2023 09:11- Ну когда колонка просто маленькая и ее заголовок видно - без претензий, но когда в заголовке видно только три буквы, при том они идут одна под другой - это Вы как объясните? Смотрится как полный зашквар. - В любом случае, это не проблема платформы, а конкретной конфигурации (когда задали длинный текст заголовка относительно размера колонки). Но думаю, сделаем как минимум опцию, чтобы размеры колонок можно было изменять вне зависимости от ограничений. - Все очень по разному. У меня, например, интерфейсы получаются весьма отзывчивыми, т.к. я не тащу на форму все на свете и не бегаю на сервер при любом непонятном действии - Вот в этом и нюанс, что программисту 1С приходится вообще этим заниматься (то есть вручную определять, что делать на сервере/клиенте, и всем этим управлять). В статье "Почему не 1С" про это все, кстати, и писалось. В lsFusion, например, все делается автоматически, и разработчик пишет единый код, а за оптимальное общение клиента и сервера отвечает сама платформа. Тем самым, не дает выстрелить себе в ногу. - Кстати, это одна из причин, почему у lsFusion гораздо ниже порог вхождения, чем у 1С - не надо загоняться ни взаимодействием сервер-СУБД (прямыми запросами SQL, временными таблицами и т.д.), ни взаимодействием клиент-сервер (НаКлиенте, НаСервере и т.д.), ни управлением блокировками (та еще тема для непосвященного человека)... 
  - starik-200526.12.2023 09:11- Ну раз ниже порог, то и компетенции ниже. - Про клиент и сервер, то фронтендер прекрасно понимает, что джисоны, которые он перекладывает, то него перекладывал бэкэндер. А 1С-нег не заморачивается - у него просто директивы сервера и клиента, а код внутри на одном и том же языку и одними и теми же объектами. И да, нужно немного головой уметь думать, чтобы понять, что запросы вообще не 1С выполняет, а СУБД. Это несложно. Если разраб на фьюжене этого лишен, но мне его жаль еще раз. 
 
 
  - DvoiNic26.12.2023 09:11- Вот Вы серьезно на таком продукте работаете? Мне вас жаль. - Все смешнее. Он это разрабатывает.. 
 
 
  - slonopotamus26.12.2023 09:11- очень медленно переключается между светлой и темной темой - Я извиняюсь, вам сколько раз в минуту в процессе работы необходимо переключать тему?  - starik-200526.12.2023 09:11- Мне вообще не надо, но раз кнопка сделана - я на нее нажал. И вместо переключения кнопка поменяла пиктограмму на настройку, со второго раза переключилась на темную тему и делала это долго. И уж если в проекте такие мелочи так сделаны, то я даже не могу предположить, как там сделано остальное. - Там выше написал, как бетатестером поработал. Почти все операции - один сплошной глюк.  - CrushBy26.12.2023 09:11- 1С значительно больше глючит в демке (веб-версии). Я ее всегда могу уронить приблизительно в течение минуты. То, что Вы написали - это "не баги, а фичи".  - starik-200526.12.2023 09:11- Ну вот открыл по сцылке выше ЕРП. Да, разобрался с закреплением меню, понял с системной темой (нафиг она вообще нужна?), но в тех же списках колонки шириной в один символ красоты точно не добавляют, при том в ряде форм я их раздвинуть не смог - выше отписал. - Ну и всё в ЕРП-системах уходит к учету. Вот как он осуществляется? На внедрении ЕРП или того же САП до 90% времени тратится не на разработку, а на консультации, анализ, формирование требований, ... Вот есть у нас сырье, продукция, денежные потогки, производственные переделы, отходы, ... Все должно быть определено, заведено в систему, распределено одно на другое. Вы вообще представляете себе учет в производстве? Там бухгалтера больше времени тратят на поиск проблем, чем на ввод данных. И я вот не особо понял, как у вас там в системе до первички спуститься, найти долю созданной стоимости в разрезе первичного документа. Для производства это является важным критерием, если не основным. 
 
 
 
 
 
 
 
 
  - nixel26.12.2023 09:11- Вам не надоело портить репутацию lsfusion своими токсичными комментариями под каждым постом про 1с?  - CrushBy26.12.2023 09:11- Ну разработчики 1С должны же знать, что есть гораздо лучше альтернатива, которая при этом открытая и бесплатная. А то не все еще знают и думают, что нужно мириться со всеми косяками 1С.  - e2e4e2e4 Автор26.12.2023 09:11+2- Для крупного энтерпрайза "бесплатно" далеко не решающий фактор? - Почему крупные компании выбирают решения крупных компаний, а не опенсорсные решения? Потому что, им надо понимать, что у решения есть поддержка вендора, основатель не бросит все и не уедет в ашрам отшельником. Потому что найти специалистов на поддержку 1С ERP можно, а найти разработчиков, которые будут поддерживать незадокументированное кастомизированное решение намного сложнее. И таких факторов много. - Так что выбор 1С не всегда обусловлен идеальностью платформы.  - CrushBy26.12.2023 09:11- Но при этом на хабре куча статей, где на 1С делали именно с нуля кастомизированное решение собственными силами. Даже в этой статье автор указывает, что многие решения у них - это фактически custom made, а не коробочный 1С ERP. И для таких решений гораздо лучше подходит lsFusion. И поддержка платформы гораздо лучше, чем у 1С. Попробуйте достучаться до разработчиков 1С. А у нас просят что-то доработать в открытом slack-канале, или telegram-канале - мы бывает в тот же день добавляем (в master-ветку конечно же).  - e2e4e2e4 Автор26.12.2023 09:11- Предлагаю рекламу делать в рамках рекламных размещений  - CrushBy26.12.2023 09:11+1- Причем тут реклама. Я отвечаю по существу на конкретные неверные утверждения. Не я вообще начал тут про lsFusion. Я просто ссылку на статью с проблемами 1С кинул.  - nixel26.12.2023 09:11+1- Вы кидаете ссылки на статьи по lsfusion или на блог lsfusion в каждой статье пил 1с. Это реклама. И вы изрядно утомили  - CrushBy26.12.2023 09:11+4- Я не просто кидаю ссылки, а конструктивно критикую, и показываю как можно было бы сделать нормально. Или я пропустил, и появилась статья за дискредитацию платформы 1С ? (а то там много новых статей за дискредитацию, я уже перестал их читать...) 
 
 
 
  - mixsture26.12.2023 09:11- Это хороший вопрос. А есть ли хоть одно такое же на вашей платформе (с нуля кастомизированное решение собственными силами)?  - CrushBy26.12.2023 09:11- Да, таких много. Как нашими собственными силами, так и сторонними людьми/организациями. Отдельную разработку под конкретный проект и задачу сделать гораздо проще, чем продукт, который используется многими компаниями. 
 
 
 
 
 
  - mixsture26.12.2023 09:11- Но и у вас не java. У вас платформа с промежуточным языком и вы вроде придерживаетесь принципа, что почти все решение на этом языке и должно быть сделано. Тоже скорее всего с багами. Их просто мало кто ищет, уж больно маленькое сообщество.  - CrushBy26.12.2023 09:11+1- В той статье, на которую я дал ссылку, именно архитектурные проблемы в платформе 1С. Вопрос же не в багах, а в неправильно заложенном фундаменте, а точнее большой накопленный технический долг. Баги то понятно, что везде есть. А вот архитектурные проблемы можно решить только полностью снеся все заново и построив с нуля. Что и сделано в lsFusion.  - mixsture26.12.2023 09:11- А почему вы решили, что у вас нет архитектурных проблем? 
 Вы выбрали язык ближе к БД и функциональному, декларативном подходу. Это дало вам оптимизацию запросов и ленивые вычисления. Забрало низкий порог входа разработчиков (императивные языки попроще декларативных, да и выпускники вузов натренированы больше на императивные) и скорее всего забрало часть возможностей в построении форм.
 Это все выливается в очень маленькое сообщество. В довольно сомнительные перспективы роста - под этим я понимаю когда решения создаете не вы, а другие фирмы под себя самостоятельно.
 Лично мне ваши проблемы кажутся ничуть не лучше. И они тоже имеют архитектурную природу. - CrushBy26.12.2023 09:11+1- Забрало низкий порог входа разработчиков (императивные языки попроще декларативных, да и выпускники вузов натренированы больше на императивные) и скорее всего забрало часть возможностей в построении форм - Декларативные языки значитель проще, чем императивные. Например, SQL значительно проще Java/Python, разве нет ? lsFusion - это скорее усложненный (да и то условно) SQL, чем упрощенная Java/Python. 90% процентов разработчкиов на lsFusion конкретно в нашей компании, вообще никогда ни на чем не программировали до lsFusion. Так что, наоборот, у нас порог входа гораздо ниже, чем в классическом программировании. Мы даже отдельную статью про это писали.  - mixsture26.12.2023 09:11- SQL значительно проще Java/Python, разве нет - Думаю, что нет и все дело в бэкграунде. Что в школе, что в вузах нас обучают массе императивного. А из декларативных - только sql, да и то продолжительность обучения кратно ниже. 
 Примерно по этим причинам, думаю, и родилась идея ORM вообще - хоть как-то скрыть сложность декларативного sql.
 Из моих знакомых, пытающихся вкатиться в ИТ, я видел, как плавится мозг у них при попытке написать sql с парой соединений и условий. Видел у знакомого backend-разработчика на js, что для любого запроса, сложнее "выбрать из таблицы, соединить с" зовут отдельных людей на написание. Все это не похоже на "декларативный язык проще". - CrushBy26.12.2023 09:11+3- С другой стороны, есть еще один пример декларативного поведения и "программирования". Это Microsoft Excel/Google Docs. Там используется классический декларативный подход (с или без ВПР, которые являются по сути JOIN). И есть определенное количество людей, которые на Excel делают целые системы. - В школе, как раз обучает больше декларативному. Те же формулы в математике/физике/химии - это именно декларативные вещи, где вы задаете не последовательность, а "правила". - Для использования императивности, вы должны воспроизводить в голове "виртуальную машину Тюринга", то есть уметь запоминать в голове состояния (переменных), делать переходы между ними. А это логически сложнее. Так что не все так однозначно. 
 
 
 
 
 
 
 - gennayo26.12.2023 09:11+1- Кафка + Рэббит + Кликхаус решают большинство проблем взаимодействия 1С с внешним миром в крупных компаниях. Другой вопрос, стоит ли стоимость лицензий и обслуживания 1С преимущества "быстрая разработка" на платформе 1С.  - e2e4e2e4 Автор26.12.2023 09:11+3- Если сравнивать собственную разработку и платформенные решения, то тут математика простая - покупая коробку, ту получаешь большую часть функционала уже готовую, соответственно, ее не надо писать, а это сэкономленный ФОТ разработчиков. 
 Безусловно, если коробочное решение совсем не покрывает потребности и все надо переписывать - проще выбрать собственную разработку.
 Ну и если система связана с регламентированными штуками, типа налогов, ФЗ и других законодательных требований, то тут еще надо внимательно смотреть на стоимость поддержки такого решения. - gennayo26.12.2023 09:11- Частая история - компания выросла, 1С исторически использовался для оперативного и управленческого учета, решили дорабатывать под выросшие потребности...А теперь отказаться тяжело, несмотря на затраты на поддержку и проблемы платформы.  - e2e4e2e4 Автор26.12.2023 09:11- Такое тоже бывает. - Но сейчас все же 2 основные истории - импортозамещение и нежелание брать какой-то продукт, который непонятно как поддерживать. Не смотря на недостатки 1С, всегда понятно как его поддерживать.  - gennayo26.12.2023 09:11- Импортозамещение это понятно, но у гос и полугос контор, для которых это актуально, денег обычно много. А если типового продукта в природе нет, как, например, для крупной розницы :) Как поддерживать понятно, да. Только цена вопрос уже весьма значительна, и продолжает расти...  - e2e4e2e4 Автор26.12.2023 09:11- Нет, это касается не только гос и полугос контор. Любая компания, которая не готова ходить с перевязанным глазом и попугаем на плече должна оценивать риски, что она не сможет купить доп лицензии или расширить существующие. Я уже молчу про клаудные сервисы, где можно словить отключение в один момент.  - gennayo26.12.2023 09:11- У частных компаний, в отличии от, нет никаких сроков перехода. И они могут спокойно выбрать подходящий продукт (в том числе, прийти к решению, что нужно разрабатывать свой), оценив функциональность, стоимость поддержки и разработки, и т.п. И, при этом, они не ограничены утвержденными реестрами, в которые далеко не все достойные продукты включены. 
 
 
 
 
 
 
 - ana_meow26.12.2023 09:11+1- по поводу стека 1С, то сейчас там и SOAP, и REST. и oData, и JWT-токены, и oAuth, и боты, и сервис взаимодействия с софтфоном, и регулярные выражения, и все такое прочее, о чем далеко не все свалившие разрабы даже в курсе. Смотрю я один чатик в телеге, так там предел мечтаний - 3,5к евров - 1Снеги даже смотреть на такое не будут. 
 
           
 
starik-2005
А зашел я в вакухи, нашел там разраба УНФ, нажал на него, а он мне 404 )))
e2e4e2e4 Автор
привет, сайт не на 1С, поэтому не так стабильно всё:)))
Коллеги сообщают, что уже пофиксили, спасибо, что обратил внимание