Pull to refresh

Comments 300

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

Ну это не совсем так — есть сравнение объектов между 2 версиями конфигураций, зачастую достаточно просто утвердить старый код.
Также модульность частично обеспечивается внешними обработками (хранятся в файлах).
Обновления тоже не все являются исправлениями багов — это и изменения в законодательстве, а чаще просто новая функциональность.
Также многим хватает типовой конфигурации (либо проще изменить не-IT процессы, чем доработать конфигурацию), поэтому куча фирм сидит на старых конфигурациях и платформах со стандартными обновлениями.
Следует заметить, что и не так много софта, где пользователь сам может менять программный код.

Но в целом, статья на 99% справедливая.
Угу, до сих пор к горлу тошнота подкатывает, при воспоминаниях о том, как я несколько часов подряд «просто утверждал старый код» при обновлении перепиленной УТ с 10.3.21 до 10.3.23, когда ВНЕЗАПНО разработчики конфигурации решили поменять все символы переноса строк во ВСЕХ модулях конфигурации, just because they can.
Почему вы думаете что нет адекватной причины для перехода?
Я далек от 1С, но телепатор подсказывает что они перешли от Win переноса к Unix переносу.
И скорее всего это было сделано для обеспечения совместимости между разными ОС.
То что вы не видите логики в изменения не означает, что ее нет.
С последним предложением я полностью согласен, однако должен заметить, что платформа под любой операционной системой одинаково переваривает и те, и другие символы переноса строки в коде. И, вообще говоря, это одна из целей существования этого монстра: предоставление уровня абстракции, отделяющего разработчика от прямого взаимодействия с подавляющим большинством механизмов, специфичных для отдельных ОС или БД.

В любом случае, гадать на кофейной гуще смысла нет. Проблема вовсе не в том, что поменяли символы переноса строк, а в том, что механизм платформы, призванный облегчить слияние кода, превратил (благодаря этой замене) процедуру обновления доработанной конфигурации в полную задницу. Более того, что совсем уже хреново, это произошло без малейшего предупреждения или хотя бы примечания к выпуску.
В диалоге сравнения-объединения (который показывается при обновлении): Настройки — показать только дважды измененные объекты. И проверить только те модули, в которые вносились изменения.
Для мелкофирм с упрощенкой в целом уже есть хорошие конкуренты это стартап моё дело, эльба от скб контур и другие, но для ндс фирм полноценных аналогов нет, плюс ещё сказывается то, что нет бухгалтеров умеющих работать с альтернативами, а порог входа я такие программы бывает не самый низкий, войти в 1с я так и не смог, посыпаю голову пеплом.
Для мелких фирм есть практически беспроблемная альтернатива: пользоваться «залоченными» конфигурациями. То есть, пользователь просто берет и пользуется ими за свои 2 тысячи за копию и бесплатно получать обновления — те самые необходимые обновления, свзанные с изменениями законодательства, которые прилетят по интернету и спокойно установятся. Но опять-таки, это подойдет для сферической организации в вакууме (если пользоваться только «фабричными» наработками 1С), которая ведет только бухгалтерию, или только «обычную розницу», или ведет прочий учет в других программах. А вот, скажем, захотели вы открыть книжный магазин и вам позарез нужно воткнуть в справочник «Номенклатура» поле ISBN — тут уже либо покупать полную версию и мучиться с обновлениями, либо искать готовое отраслевое решение от «1С: Совместимых» товарищей и пользовать его.
это стартап моё дело, эльба от скб контур и другие, но для ндс фирм полноценных аналогов нет, плюс ещё сказывается то, что нет бухгалтеров умеющих работать с альтернативами
Подпишусь. Вел отчетность ИП в Эльбе сам. Вобщем-то на упрощенке там и вести нечего — она все за тебя делает. Но когда открыл ООО (тоже кстати на упрощенке) бухгалтерия сильно усложнилась, и понял что сейчас налеплю косяков в отчетности. Нанял бухгалтера. Первым делом она сообщила что «программка симпатичная, но бухгалтеры так не работают». И конечно же притащила свою 1С. Благо что это полностью её вотчина на её ноутбуке, я туда даже не лезу. Задачу выполняет — и хорошо.
А что вы все про бухучет, управленческий учет вообще не ведете?
Не веду. Пока бизнес маленький и процессы часто меняются — хватает Excel'я и Мегаплана.
SAP, если денег хватит :-)
Я надеюсь это злая шутка? т.к. все написанное в статье можно умножить раз на 5 (если не на 10) и получить ситуацию с SAP'ом.
А по 1С, я бы сказал что проблема даже не столько в платформе, восьмая платформа к слову вышла достаточно хорошей, сколько в специфике разработки бухгалтерских конфигураций для СНГ.
И поверьте, разрабатывать, а главное успевать за изменениями и тонкостями в законодательстве, на .Net/C# платформе никак не легче, и все те же проблемы присущи и тут. Хотя вы же не будите винить в этом платформу .Net?
все написанное в статье можно умножить раз на 5 (если не на 10) и получить ситуацию с SAP'ом

Хотелось бы вместо голословного утверждения почитать аргументацию. Если будут конкретные примеры будет вообще замечательно.
Ох, на эту тему есть замечательная статья, пусть и от конкурентов, но все равно, до слез и за живое. С примерами и аргументами. www.ultimaecommerceerp.com/compare/sap/
К слову, у них же есть и статья об 1С, и не смотря на то что они им конкуренты, честно признаются что для среднего бизнеса 1С их обыгрывает. Почитайте.
Шикарное произведение, и, как ни печально, внедрение этого чуда технологической мысли у нас идет ровно по описанному в ней сценарию.
c SAP-ом всё гораздо проще, там «конфигурация» очень жёстко отделена от базового функционала и поэтому при обновлении косяки возникают редко, и то в случаях когда используются костыли для обхода некоторых особенностей.
Во вторых, для расширения функциональности под конкретного клиента предусмотрены стандартные точки подключения к базовому функционалу. Поэтому риск потерять всё при обновлении — минимален.
К сожалению, частые изменения (читай, обновления) в законодательстве — тоже реальность. Изменилась печатная форма — необходимо обновление и для 1С.
(если что, я про свое, мелкое)

Есть одна альтернатива (если не уходить от 1С):

во многих случаях (а это касается мелких фирм) все беды обновлений растут из некорректных вмешательств сторонних копрокодеров в Конфигурации. Сам видел не раз, и не два, как из-за того, чтобы сделать импорт документов из, скажем, xls, или поменять печатные формы, эти ушлёпки ковыряют информационную базу, даже не сопровождая свои шедевры комментариями. А потом, накатывая обновления, думай, как мерджить эту кашу. А ведь можно просто написать плагин (в терминологии 1С — внешний отчет или обработку) и подключать ее к конфе.

То есть беды от чего? От того, что мало кто читает кодстайлы (у 1С он есть. Должен быть), использует все все возможности платформы, читает встроенный синтаксис-помощник, вместо пресловутого заколачивания велосипедами костылей.
Для того чтобы были альтернативы — надо для начала с законами порядок навести. Потому как в ситуации когда каждый месяц по толстой пачке новых и еще более толстой пачке поменявшихся — только такой монстр как 1С и может обеспечить поддержку и обновления.

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

О том, почему так происходит — книга Александра Долгина Как нам стать договоропригодными, или Практическое руководство по коллективным действиям. Начала экономической теории клубов (текст доступен на сайте автора, распространяется по лицензии Creative Commons CC-BY-SA, обсуждался на хабре).
Поэтому прежде чем ставить задачу «как навести порядок с законами» — нужно решить другие вспомогательные задачи: научиться объединяться для решения крупных задач. В России с этим не очень хорошо, но если не учиться — там и будем жить в отсталой стране.
Есть еще более интересная теория — что некоторая часть этих законов на самом деле, чаще всего — инструкций инициируется заинтересованной компанией. Связи оной компании в минфине и фнс — не секрет…
Вы так не шутите пожалуйста. Мы когда это чудо рассматривали к внедрению (2010 год) — 1Сники то слезы от смеха утирали, то впадали в полное офигение. Вопросы «как сделать в Парусе вот такую штуку» (а штуки входили в базовый функционал 1С «из коробки) вызывали в подавляющем количестве случаев судорожные чесания в затылках и фразу „надо написать небольшую процедурку“.
Я, мягко говоря, не люблю 1С много за что, но советовать переходить на Парус даже злостным врагам не стану.
Очень хорошая статья, но с некоторыми утверждениями хочется поспорить
Программисты 1С заинтересованы в том, чтобы клиент как можно чаще обновлял программное обеспечение. Им это просто выгодно. При каждом обновлении понадобится заново настраивать конфигурацию. А потому при помощи обновлений они получают доход буквально «из воздуха».

Зависит от того, кто этот программист 1С. Если представитель франчайзинга, то, наверное, да, но зачем его нужно слушать? Бывает еще должность штатного программиста 1С на предприятии, и тут уж его обязанности понимать, нужно накатывать очередное обновление платформы 1С или нет. И мое ощущение, что платформу нужно обновлять как можно реже, задерживаясь на стабильных релизах (да, такие бывают).

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

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

В том-то и дело. Не хотите обновлять 1с — тогда придется платить за КонтурЭкстерн, СБИС++ и прочие продукты для сдачи отчетности. И еще возиться с экспортом из одного в другой. А частенько платят и за то, и за другое.
Но насколько необходимо при этом обновлять каждый раз платформу?

(это не подкол, а реальный вопрос; мы живем на самописной конфигурации, и поэтому таких деталей я не знаю)
Ну, за 4 года для БП реально пришлось обновлять платформу (8.2) только раз в прошлом году, новая конфа ругалась на платформу (хотя и запускалась). До этого был переезд с 8.1.
UFO just landed and posted this here
Все правильно, я программист. Только не программист франчайзи, а программист, поддерживающий самописную конфигурацию в одной конкретной организации.
Но кхм… проблемы пользователей это и есть проблемы программиста, которому приходится дорабатывать программу из-за этих проблем…

А, главное, я не понимаю, почему вы восприняли мой комментарий как негативный
Лично я не люблю 1с за то, что в коде приходится писать нечто подобное:

Если Докум.СуммаДокумента>ПоступилаОплата Тогда
    Предупреждение("Поступившая оплата "+Формат(ПоступилаОплата,"ЧЦ=10; ЧДЦ=2")
    +Символы.ПС+"Нужна предоплата в сумме "+Формат(Докум.СуммаДокумента,"ЧЦ=10; ЧДЦ=2")
    +Символы.ПС+"Отгрузка на сумму больше предоплаты - нарушение договора!");				
КонецЕсли;

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

Если Вам.Нравится(«Писать операторы по-русски») Тогда

КонецЕсли;

(правда, за подсветку куска кода сомневаюсь)

Я бы оставил относящееся к языку — английским, а имена переменных, функций и пр. — разрешал бы хоть по-арамейски писать. Были и волки сыты, и овцы целы: логику языка куда приятнее читать латиницей, она тогда от русских имен переменных будет еще более отличаться в тексте конфигурации.
Именно так и можно делать. Более того, у всех объектов конфигурации, их полей, методов есть официальный английский аналог (всё описано во встроенном «Помощнике по синтаксису») и все это можно намешивать в коде, как вашей душе заблагорассудится. Только кому оно надо?
Да знаю я что есть. Но почему им даже в 1с никто не пользуется, английским-то? )
Зачем, а? Единственное, для чего он нужен, как мне кажется — это для роспуска 1С-ом своих тентаклей на другие страны. И всё.
А для русской версии использовать английский — значит, переломать все привычки, понизить производительность выпуска кода за счет привыкания. Его нужно было использовать либо изначально, либо уже никогда.
Так я про про что «с начала» и думал.

Ой, заминусуют 1с-любители сейчас.
Да ну и это элементарно не-у-доб-но. Вы в python часто используете кириллические имена переменных (или иероглифы, или арабскую вязь)? Не думаю. И я бы не использовал, потому что мне просто лень постоянно переключать раскладку. Мне просто-то на тексте ее переключать не хочется, а в коде, где надо еще и немножко думать…
Всё очень просто. Код на русском — официальная позиция 1С, если хотите, они это как конкурентное преимущество позиционируют. Поэтому все объекты и таблицы имеют русские наименования. А когда вы начнёте смешивать кирилицу и латиницу в одном участке кода, вы возненавидите клавишу «с», я вам гарантирую. Вот и приходится писать по-русски, чтобы не умножать непонятные глюки.
Я ее уже возненавидел, хоть и не 1с-кодирую )))
C#, например, позволяет называть переменные как угодно. Но я извращенцев с русскими переменными не видел. Подозреваю, что не в последнюю очередь из-за «прелестей» с двумя раскладками.
Подозреваю, что это из-за опасений, что код не будет компилироваться или исполняться в какой-либо специфичной среде.
Это не так, юникодные имена переменных предусмотрены спецификацией C#. Если компилятор не работает с юникодными именами — это компилятор чего угодно, но не C#.
Понимаю. Ещё я бы не стал делать переменные на русском — если все основные операторы на английском. Код из смеси двух языков смотрится неэстетично. Ну и с раскладкой проще. Согласен.
А 1с это «один-эс» или «один-це»?
Кстати, вы ABAP не видели? У них там все основные таблицы называются по-немецки. Почему? Потому что писалось тогда, когда SAP ещё не был международным.
Им хватило ума ключевые слова сделать все же английскими)
Нынешний SAP, и то, что разрабатывалось в 70-80-е — две большие разницы. Может у них и ключевые слова когда-то были немецкими, кто ж скажет сейчас.
Я думаю все так и было изначально. Если автозаменой в исходниках самого сапа заменяли ключевые слова, никто не мешал такой же автозаменой имена таблиц перегнать, но оставили как есть.
Не видел ни одной таблицы на немецком. Все таблицы названы английскими буквами, иногда конечно названия выдают немецкое происхождение, но чисто немецких имен таблиц не видел.
Комментарии к системным программам и многим таблицам — да, те в большинстве своём на немецком…
ключевых слов — кот наплакал, а из-за них ПОСТОЯННО в процессе написания придется переключать раскладку с русской на англ. и наоборот.

Точно подумали прежде чем предлагать такое? Проще алиасы в мозгу прописать. Через неделю практики мозг просто перестанет различать IF и ЕСЛИ и при написании программы в 1С по триггеру в виде знакомой формы мозг будет автоматически переключать профиль.
Всегда радовала позиция коментаторов 1С по поводу языка.
И все пишут именно про русский, хотя есть возможность использовать и другие языки. К примеру украинский. При разработке конфигурации с нуля, программист может создавать свой шедевр на том языке на котором хочет. Придираться к тому что создали другие и на каком языке — лишнее. Возьмите и напишите учетную систему с двумя планами счетов. И чтобы в коде было понятно что это за счет/субсчет/субконто.
И в полях которые будете показывать пользователю придется все предварительно переименовывать. Ведь он возможно захочет отсортировать отчет по каким либо фильтрам/критериям.
А затем вы решите распространять и поддерживать вашу конфигурацию. И попадутся внедренцы которые не владеют иностранным. И им не знакомы слова контрагент или оборотно-сальдовая ведомость написанные на английском языке. Время и сложность сопровождения вырастет в разы.
Вы возможно в языке программирования видите только логику работы программы. Дело в том, что 1С полноценная СУБД. В которой надо оперировать еще и методаби/объектами того учета в какой сфере используется конфигурация. Придумывать перевод для каждого начисления в ПФР очень сложно и муторно, а возможно и аналогов то нет на английском. Писать транслитерацией прикажете?
Ни одного плюса от использования латиницы нет. Сложная/дорогая поддержка. Не возможность перевести некоторую часть понятий. Это лишь два огромных минуса которые перечеркнут весь плюс от того, что на латинице букв напечатается чуть меньше.
Простите. Не думал задеть за живое. Выглядят диковато все эти «если». Еще со школы, знаете, когда на метаязыке, который был переведенным бейсиком.
Я начинал с паскаля, потом бейсик, С, С# но потом решил пойти в 1С.
В самом начале даже писал на английском (еще на 7.7) но это быстро прошло.
Как пишется логика-не важно. Но вот доступ к данным — это уже другое и переключать раскладку ради If или For уже лишнее )
русская терминология является одной из преград распространении 1С зарубежом
Вот как-то так я это ощущаю, как участник безобразия:

Экосистема 1С:Предприятия
Блин, хочу себе такой же стул!
1C поддерживает код и на латинице и на кириллице.
Я в курсе этого, но писать на латинице когда весь остальной код на кириллице как то странно вы так не считаете?
Когда я встречаю негатив по поводу программирования на русском, я всегда думаю, как себя чувствуют носители английского в этой ситуации? :)
Нормально носители английского себя чувствуют. Код на английском выглядит естественно, потому что падежей (почти) нет. И слова короче. А когда пишешь русскими словами, получаются длиннющие нерусские выражения, поэтому смотреть на это и противно.
А причем тут падежи-то? Когда пишешь русскими буквами, получается действительно немного длиннее. Но «противно» — это субъективная характеристика. Мне, скажем, первое время было немного непривычно. А потом привыкаешь и воспринимается нормально.
А ведь иногда, это просто необходимо…
Например когда работаешь с COM-объектами, получается достаточно феерический код…
КИ = cnr.NewObject("ХранилищеЗначения",COM,cntr.NewObject("СжатиеДанных",9));
Да, ну в свете всей остальной конфигурации на русском…
Все равно довольно странно.
Ничего там странного нет, единственное, что НУЖНО писать по-русски — названия объектов/таблиц/полей таблиц, если они написаны по-русски. В 1С при разработке типовых конфигураций пишут всё по-русски, в результате приходится, да, извращаться. Если конфигурация написана с нуля — никто не запрещает везде и всегда использовать английский(кроме форм и сообщений).
никто не запрещает везде и всегда использовать английский(кроме форм и сообщений)

Запрещать-то не запрещает, а вот поноса в карму вы от последователя своего точно получите массу :)
Ну не знаю, я свободно переключаюсь между языками, спокойно и без нервов читаю код и на русском, и на английском(не на 1С, само собой). Мешанина только паршиво смотрится, это да.
А я очень долго привыкал к SQL запросам, писал сначала на латинице
select * from table

интерпретатор 1С сам переводит его на «свой» русский
Угу. А потом опять на английский но уже для СУБД :)
Меня всегда интересовал вопрос: если ареал обитания программы — постсоветское пространство, то какой смысл требовать знание английского для работы? Где логика у людей, которые хотят английского?

Это то самое исключение из «правил».
1С внедряют в Германии и Румынии
Так пусть там и требуют и пишут на нем же.
Действительно, просто ужас! Использовать модальный вывод с прямой конкатенацией строки да еще и без поддержки многоязычности!
Да нормально это! А многоязычность не нужна, так как в виду законоориентированности 1С не ленится выпускать отдельную версию ПО для каждой из поддерживаемых стран (коих, по-моему, и немного — раньше были только Украина и Казахстан, и то, только «Бухгалтерия предприятия»).
Изначально, конечно, «Язык 1С» разрабатывался с той целью, чтобы сами бухгалтеры дописывали конфигурации под свои нужды.

Естественно, бухгалтеры в основной своей массе в роговых очках и с гульками на темени (это я по своей сужу) ни о каком программировании и слышать не хотели, зато родился целый клан «Программистов» 1С» — недобухгалтеров-недокодомартышек-недоадминов (это я тоже о себе, а к настоящим «Программистам 1С» я отношусь с большим уважением и завистью, что ли), не понимающих, про какие такие «водки» идет речь, и не подозревающих о наличии в 1С системы версионирования.

Думаю, что к восьмой версии 1С поняли истину (о несовместимости матёрого бухгалтера и «Конфигуратора»), но было уже поздно всех переучивать на английский. А может, им самим так удобно.

А ввиду того, что решение очень специализированное, заточенное под особенности платформы, которая сама по себе весьма непроста
Если кто не видел Конфигуратор, кратко поясную: это такой конструктор информационных баз, имеющий встроенные классы данных, которые максимально приближены к реальным объектам: Справочники (без комментариев), Документы (изменяют состояние других), Регистры (хранение значений и изменений по содержимому Справочников), Константы и прочие. Всё, конечно, гораздо сложнее, и я, когда пытался заниматься этим, въезжал очень долго и туго.
Естественно, все по-русски, для любого экранного интерфейса есть возможность задавать необходимые грамматические формы с учетом морфологии. И устраивать мешанину из английских операторов и русских объектов, а уж тем более переводить объекты на английский (чтобы потом «программисты» сидели с листочком соответствий привычных русских наименований, их полей и методов и их английских обозначений) — бред полнейший.
Изначально, конечно, «Язык 1С» разрабатывался с той целью, чтобы сами бухгалтеры дописывали конфигурации под свои нужды.

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


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

Ну я вообще-то так и думал… И был бы, как эникейщик, очень рад воплощению этого в действительность.
Как там, «четвёртая грамотность»?
VBA явно разрабатывался для того, чтобы секретарши в перерывах между приготовлениями кофе сумели автоматизировать печать в Word докладных записок.
Для этого разрабатывались Word Basic и Excel Basic. А VBA разрабатывался потом, чтоб всё это упорядочить: вместо over 900 функций иметь ~ 30 классов по 30 методов в каждом.
Это не зависит от ЯП. Можно так сделать где угодно, но проще написать аналог printf. Один раз сделанная простейшая глобальная функция на пару десятков строк позволяет везде делать так (и нет, я не программист 1С):

Если Докум.СуммаДокумента>ПоступилаОплата Тогда
  ТекстСообщения = Шаблон( 
    "Поступившая оплата $1.
    |Нужна предоплата в сумме $2.
    |Отгрузка на сумму больше предоплаты - нарушение договора!",
    ПоступилаОплата,
    Докум.СуммаДокумента);
  Предупреждение(ТекстСообщения);				
КонецЕсли;


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

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

Возможности языка да, ограничены. Это не Python, это не функциональная Скала, выразительности и библиотечных функций не хватает.
С другой стороны, сложность проектов 1С не ахти какая, задачи разрабатывать многошардовые базы данных или оптимизированные сетевые протоколы не стоит. ООП и шаблоны тоже не используются, кроме стандартных средств.
Две трети вопросов решаются правильно написанными SQL-like запросами. На русском языке, да. «Выбрать… Из Справочник.Номенклатура… Где… Сгруппировать По». По сути, поместить что-то в БД, достать что-то из БД, немного преобразовать, вывести печатную форму или отчет.

А представьте, как англичане мучаются со своими Джавами, Шарпами, Питонами и прочими! Так что вы еще неплохо устроились.
Да никто не мучается. Немцы, к примеру, спокойно пишут называя все переменные и классы на немецком.
Во-первых, это был сарказм ;). Во-вторых, ваши слова о том же самом: почему-то нам зазорно писать на русском, а вот немцам — нет.
Немцам на русском будет туго
Дело вкуса.
Лично я — не люблю, когда в языке имена переменных, функций (классов, типов и т.п.) — чувствительны к регистру. Но это — моё мнение, как в Вашем высказывании — Ваше.
А я не понимаю — вот что такого есть в английском написании операторов? Гордость за то, что знаешь технический английский без словаря?
Что касается самого стиля языка — то некоторые конструкции на языке «Си» — что называется, «makes me cry»… И тут-же на Хабре имеются статьи (переведенные с английского), в которых рассказывается по-сути, что чем опытнее программист, тем более простой и понятный код он пишет.
У 1С есть уже некоторые стандарты по коду — набор требований, необходимых для прохождения сертификации на 1С-совместимо. В частности, есть требования писать на одном языке, и названия переменных процедур и функций должны отражать цели их применения. К структуризации кода тоже есть определенные требования. И хотя платформа позволяет эти требования не соблюдать — если код пишется по стандартам, то он в последствии — довольно хорошо читается.
Ткните ссылкой, как проводить Unit Test'ы в 1С, в меня, пожалуйста.
Вот так: github.com/xDrivenDevelopment/xUnitFor1C

А вообще, очень похоже, что автор статьи не любит 1С, потому, что не умеет его готовить. Или сталкивался не с теми людьми в работе с ним.
Монополист, который пользуется своим положением, чтобы впаривать говнокод. Типичный представитель копроэкономики, сдобренный «концом если»
А никто не мешает прийти на рынок с лозунгом «Мы лучше 1С!», предложить что-то реально лучше и свергнуть монополиста. Пока всё, что я видел до этого — жалкие поделки, которыми пользуются 0,1 % в лучшем случае.

А вот «копрокод монополиста» — тема немного другая. Зачем писать хорошо, если можно написать хорошо в следующем релизе, за который тоже заплатят? Зачем оптимизировать запросы, когда можно отпихнуть это на сторону франчей — им же тоже нужно чем-то хлеб зарабатывать?
Сначала со скрипом, писком, визгом перетаскивали всех бухгалтеров на 1с, теперь еще куда-то.
Чего мучаться, давайте сразу их в gnucash.
Ой ну не знаю. Я встречал тётечку-бухгалтера-до-мозга-костей, которая всегда была в восторге от 1С, особенно от 8-ки: «как там всё удобно, понятно и быстро делается». Тут дело не в ПО, дело в костях, которые внутри головы.

Если человек действительно работает, то он оптимизирует свой труд — и никакое переобучение его не испугает. А если начинаются всякие ахи-охи и отнекивания — в шею.
есть альтернативы не в России
… даже небо, даже Аллах!
А SAP не может являться конкурентом 1С? А то у меня все знакомые, прознав, что я на учусь на ИТ-специальности, начали кричать: Учи SAP! Учи SAP!)
UFO just landed and posted this here
Есть такое поверие, что саперам очень хорошо платят. Что, очень возможно, является правдой — у сапа такие расценки, что он подойдет лишь большим корпорациям, а не бесчисленному множеству организаций, использующих 1С. Так что, имхо, сап для 1С не конкурент.

А учить его можно. Но тоже тот еще динозавр со странным языком программирования.

Так что хороший совет — это создавать конкурента для 1С ;) И мы все пойдем к вам работать
Ненамного страннее 1С-ки. За сколько лет и ABAP стал как родной… Он правда выглядит странным только потому что заточен под определенные цели — формирование и вывод отчетиков, все остальное это побочка.
А как вам сегодня видится идеальный конкурент 1С?
Сап конкурент 1С такой же, как австралийский седельный автопоезд конкурент Газели Бизнес.
Это совершенно разные уровни.
Нужно сравнивать не компании, а конкретные продукты. Например, 1С Бухгалтерию и SAP ERP 6, что более корректно. Так как SAP это целая куча продуктов типа Business Objects и ещё они купили кучу облачных платформ.
UFO just landed and posted this here
Ну это не значит, что газель всегда хуже. Потолкайтесь на самосвале по пробкам и сравните потом с газелью ;)
Понимаю, что аналогия не сильно прямая, я про границы применимости и цели намекаю.
UFO just landed and posted this here
Карьерный самосвал даже не заметит пробок… если только сможет проехать по ширине улицы.
По САПу нет вакансий за пределами двух столиц. Совсем. Информация из первых рук — от абапера.
Это интеграторы, речь про вакансии в компаниях, непосредственно использующих SAP. Таких очень мало, навскидку назову только нефтянку, и те — нанимают интеграторов, которых ищут в Москве. Если зайти на hh.ru и посмотреть вакансии «разработчик SAP» в Нижнем Новгороде, Ростове или в Ярославле — ответом будет [почти] шиш.
Чуть осилил статью (хоть информация в ней и интересная). Зачем же ж так упорно повторять одно и то же по несколько раз? Про одно только отсутствие модульности 10 раз написали)
Дегенераты, увы.
Ну аргументы там откровенно говоря слабенькие. Так или иначе можно сказать о любой cms
Я сам битрикса не фанат, но по итогу сквозь зубы многим всё равно рекомендую именного его — плотная интеграция с 1с «из коробки» (не знаю чего там автор так разжаловался что ничего не работает, настройка требуется минимальная), большое количество готовых решений, легкость поддержки (каждая собака битрикс знает, которая в веб-программировании больше пары лет) и цена хоть и не мала, но в целом адекватна.
А вот только заметил что та статья написана почти 5 лет назад, ну в то время я был схожего мнения. За пару последних лет все таки битрикс серьезно подрос (качество, конечно всё еще хромает, но некая общая собранность явно улучшилась)
Пока не сталкивался, не думаю что в ближайшее время придется
Автору, прежде всего, спасибо за нормальные аргументы (очень редко кто-либо поливает 1с с аргументами).
По битриксу:
Ну представим среднестатичтического пользователя: лицензионный битрикс с оплаченной поддержкой.
Что я как недохостер (ко мне по знакомству часто обращаются с битриксом) вынужден делать: логировать подключения с IP битрикса и перепроверять за этими крайне безответственными людьми.
Поддержка битрикса(самые частые кейсы):
— в основном не знает как работает mod_rewrite
— лечит «что угодно» установкой прав 0777 и забывает вернуть обратно (привет хостингам без чего-то типа CloudLinux)
— валит всё что угодно (вплоть до удаления файлов своими сотрудниками) на хостера.
— и вообще иногда действуют как слепые котятки

В битриксе нет ничего очень сильно плохого(отдельные интересные места или лапши и говнокода там, к сожалению, есть; но попробуйте делать столько много релизов и почти нигде на сломать обратную совместимость или сделать это в режиме «greacefull degradation»), проблемы начинаются, когда, извините, орудуют дибилы начинается вмешательство квалифицированных специалистов.
По отдельности сотрудники битрикса в основном нормальные люди. Но все вместе…
Постепенно прихожу к выводу, что проблема не в людях. Проблема в том, что от них не требуют нормального ответственного подхода к решению каждой проблемы(не, ну а чо, и так же продаётся). Это, как мне кажется, важнее даже некоторых навыков.
Я уверен, что эту ситуацию можно поменять. Просто хостерам достаточно квалифицированно и с аргументами заставлять стп битрикса решать проблему нормально, однако в 99% такие разборки клиента не интересуют, его устраивает решение вида «работает и ладно». СТП хостинга может отличить нормальное решение от 777, пользователь — нет (и не должен).
Знаете за что в крупных компаниях не любят 1С? Нет не за баги, опытный штат программистов успешно борется с этим. Не любят 1С прежде всего за хаотичные и не системные доработки, а также за карманных программистов.
А может за то, что ради него приходится держать штат программистов?
Хороший аргументированная статья, спасибо!

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

Да еще раз по работе миграции с 1С необходимо было перенсти каталог товаров, список клиентов и поставщиков с сотрудниками + кураторов к клиентам и поставщикам. База «весила» 2.5 Гб (MS SQL), после миграции стала занимать 20 Мб (Mysql). Все связи между сущностями сохранились. Но я был просто поражен количеством таблиц в базе 1С, которые, по всей видимости, содержали в себе какие-то свои данные о настройках платформы и системы.
1. размер базы или размер папочки с базой где лежит еще и лог транзакций?
2. Кроме статичных данных возможно хранились и другие? отчисления, оплаты и прочее. Всегда ведь можно зайти в базу и посмотреть какая таблица занимает сколько места. Вряд ли просто справочники весили столько.
У каждой БД есть свои особенности. У серьезных монстров «база» занимает приличный объем из-за приоритета скорости работы, просто масса пространства резервируется на будущее и для того чтобы обеспечить скорость работы — например за счет выравнивания размера записей. Так к примеру только что созданная пустая база данных в Oracle может запросто занимать 500Мб.
Я может быть не прав, но по-моему вы мешаете в кучу 1С и 1С-Битрикс. Т.е. вы конечно оговорились в разделе про Битрикс, что это:
На самом деле, CMS Bitrix – это отдельный продукт, который разработали специалисты, не имеющие никакого отношения к компании 1С.

Но теги и хабы (1С-Битрикс, веб разработка) вводят в заблуждение.
Сказывается отсутствие блога компании/хаба 1С?

Всё-таки разработка под 1С — совсем не веб…

P.S. всё это не значит, что битрикс лишён проблем с обновлением. Сам обновляюсь когда мажорному апдейту уже месяца два. И предварительно забекапившись.
Можно еще выделить отдельный, необычный набор багов, отличающий linux-версию.

То, что она порой то память кушает, то еще что «детское» выкинет — это «ерунда», привыкли. Проще ребутнуть раз в сутки. Это, правда, показывает качество тестирования, ни чего-то, а платформы для программирования.

Но вот что убивает, так это ощущение, что люди не сильно и linux знают до конца. Одни скрипты инициализации чего стоят. Ни логов работы демона, ни диагностики нормальной, ни даже получить статистику, чем 1с-сервер в памяти занят! Узнать, чем он занят, можно из консоли с винды, т.е. мониторинг средствами unix и без второй, виндовой, машины — не сделать.

Лицензирование 8.2 с привязкой к железу — это вообще песня. Любой чих на машине (обновление чего-то софтового в системе = «чих»; обновление ядра = «гранд-чих!»), и ты без лицензии, притом ТП еще должна соизволить тебе дать новый ключ. Причем по разговору кажется, что человек за месяц не получает столько, сколько простой 1с за минуту дает, но общение идет в стиле «так и быть, дадим вам ключ».

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

И, самое главное, «старые баги убрали, новые добавили» — это, конечно, не слоган, но порой хочется посоветовать им такое писать на коробках )
Но вот что убивает, так это ощущение, что люди не сильно и linux знают до конца. Одни скрипты инициализации чего стоят. Ни логов работы демона, ни диагностики нормальной, ни даже получить статистику, чем 1с-сервер в памяти занят! Узнать, чем он занят, можно из консоли с винды, т.е. мониторинг средствами unix и без второй, виндовой, машины — не сделать.

А зачем тогда нужно все это сертифицированное около 1С-овское окружение? :) Они за отдельную плату и скрипты вам нормальные напишут и отдельную конфигурацию 1С разработают для журналирования и протоколирования. Под Виндоус, кстати, с производительностью дела обстоят не лучше, так что это норма.

Зато после реализации поддержки Postgres у них поломалась блокировка таблиц на уровне БД и целый новый механизм блокировки придумали. :)
Нет, это они ради Oracle его придумали. А то как получалось — крутая СУБД, а 1С всё равно тормозит :)
Да нифига не напишут. Все они говорят — «я пишу код 1с, а сервер вам настроит админ.»

Вот пример: берем сервер 1с (8.2, linux; postgres на другой машине; ресурсов навалом), запускаем, и пускаем на него логиниться сразу 100 клиентов. Если бы это был бы апач, никто ничего бы не заметил, а 1с легко впадает в задумчивость, и не выходит из нее — пик нагрузки и все такое. А если эти же 100 клиентов войдут в течении 5 минут, то все будет работать отлично. Грабли? Да. Кто-то их хотя бы решал? Ой, сомневаюсь, ибо вижу их из версии в версию.

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

Но кого из «сертифицированных партнеров» не спроси… такое услышишь! ) И в конце ответ — переезжайте, мол, на винду, там все понятнее (им), и там все проще (не считая, конечно, стоимости лицензий :) который они ессно готовы продать по случаю).
что значит
Если бы это был бы апач, никто ничего бы не заметил
?

Апач не занимается аутентификацией пользователей.
Но в общем вы правы, любое дефолтное веб-приложение на железных серверах выдержит 100 одновременных клиентов
Ну как бы вопрос в том, что сервер мог бы получить 100 коннекций, поместить их в очередь, и обслужить (с авторизацией и прочими прелестями) по мере мозможности, а не впадать в прострацию. 1с этого не умеет, и вопрос: либо разрабы не сталкивались с подобным (они вообще ПО тестируют?), либо им на репорты положить.

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

Понятно, что есть и хорошие партнеры, могущие что-то сделать. Но общий уровень 1с-ных контор на рынке часто сводится к установке типовой конфигурации и приезду потом с флешкой с обновлениями — что приводит к тому, что, при необходимости, мало-мальски серьезные вопросы никто даже не понимает, не то что способен ответить.
а кто мешает поставить перед 1с apache или nginx?
Если бы они умели протокол 1с проксировать :))) Да не просто протокол, а все варианты — и «толстого», и «тонкого клиента», да еще со всеми подробностями и гарантированно совместимо…

В 8.3 вроде 1с-ники сделали таковой прокси прямо сами, но — он становится единой точкой отказа. Замкнутый круг — прокси для 1с делает только 1с )
Я подумал про веб-сервисы 1с
Они как раз работают на базе Апача, не стал народ позориться )))
да, но работают очень медленно, особенно на файловой базе
Просто занесите в 1С 10 миллионов клиентов и 50 миллионов заказов.
1С изначально разработана для продвинутых бухгалтеров-экономистов, так что порог вхождения очень низкий, но в последнее время платформа пытается эволюционировать во что-то большее, но отсутсвие ООП как главная причина не дает.

вот реальные проблемы 1С:
— нерациональное использование памяти и ресурсов
— постоянно «сырая» платформа, утечки памяти, баги
— отсутствие ООП
— закрытый формат файла разработки
— примитивный язык похожий на VBscript / Pascal
— примитивный IDE которым приходится пользоваться т.к. закрытый формат
— ограничения в работе с интерфейсом

Друзья, студенты, если вы думаете собираетесь построить карьеру 1С программиста, подумайте еще раз.
Проблема в том, что хорошие 1С программисты неплохо зарабатывают. Но вот если они решат срулить куда -нить за бугор, то это конечно в резюме не впишешь
Главная проблема в том что после программирования в 1С мозг отрафируется, я вот недавно сел за JS / PHP / Ruby и пожалел что не начал изучать раньше.
Мозг «отрафируется» от одинаковой деятельности, без разницы, от 1С, от Ruby или от точения болванок на токарном станке.
Видимо вы не знаете о чем идет речь, лично для меня 1С способствует расслаблению мозга программиста, это при том что я решаю задачи любой сложности.
Я прекрасно знаю, о чём идёт речь :) Во всех смыслах.
Я думаю это вы слабо представляете работу программиста.
Краткий экскурс. Программисты обычно характеризуются не только языком программирования но и областью в которой занимаются.
Так на С можно писать текстовые редакторы и 3Д игры.
Кстати даже в 3Д играх есть разделение, на тех кто пишет физику, тех кто работает с графикой, анимацией, карты генерирует.
Так вот если вы программист на С (и Си подобных языках) и постоянно пишете часть движка для игры в которой ваши модули отвечают за физику в мире игры. То со временем ваши знания относительно других «алгоритмов» атрофируются за ненадобностью.
1С — это частный пример. Вакансий в периферийных городах — достаточно в отличие от вакансий программистов на других языках.
Вот вы влезли в дискуссию, а сами похоже не знаете что такое 1С.
Поверьте, я прекрасно представляю работу программиста, довелось поработать и на калькуляторах и на советских машинах и на многих языках, начиная от машинного кода и asm до сегодняшних скриптовых. Получилось так что как раз в моем городе как вы сказали было востребовано 1С и я поработал со всеми версиями от 1С 6 до 1С 8.3 в целом 17+ лет опыта и на иностранном рынке и со множеством клиентов как и с РФ так и с ЕС.

Так вот разработка в 1С к примеру списка клиентов сводится к следующему: 1.Создать справочник Клиенты, 2.Создать нужные поля., 3.Добавить в события функции проверок заполнения и т.д… Все, дизайн уже сделан за вас, база данных готова, псевдо-объекты готовы и ограничены пишите только скрипты с формулами и все будет работать.
А теперь сравните ту же задачу в том же C++ или Java, мне продолжить?

Любая даже самая рутинная задача в Java (или в другом современном языке) может быть решена сотнями инструментов и алгоритмов, даже в самой рутинной задаче можно задействовать мозг и дойти до перфекционизма. В 1С такого нет, 1С это продвинутый Excel, сильно эволюционированный, причем еще и закрытый и с багами.
Полностью согласен. Толька 1С это не продвинутый Excel а продвинутая СУБД.
Я такими же аргументами оперировал когда в организации где я работал хотели создать свою CRM. Программист на РНР предлагал связку РНР + Apache.
Но после того как посчитали количество часов которое потребуется для того чтобы просто создать справочник контрагентов + некий документ заявка в котором будет использоваться еще несколько справочников то решили что 1С предпочтительнее.
1С позволяет не думать о хранении и взаимодействии данных и полностью сосредоточится на конечном результате. Конечно если мы пишем для крупных организаций с документооборотом по сотне тысяч строк в сутки и о сотнях пользователей в базе — тогда стоит правильно строить архитектуру чтобы в запросах не использовать получение данных через точку и на долго не блокировать таблицы констант (и прочие)
Ну насчет сравнения 1С с Excel наверное перегнул, вот как раз из-за данного вами примера многие и покупают решения от 1С и это хорошо. Но выше я настоятельно советую будущим программистам подумать дважды перед тем как пойти по пути 1С.
Рынок показывает, что вы не правы. Рынку нужны готовые и проверенные решения, и огромный штат специалистов, среди которых можно выбрать адекватных, которые будут настраивать решения под вас. Рынку не нужны гениальные кулибины изобретающие велики на java и c++. Уж очень дорого это получается (о качестве вообще промолчим), в сравнении с серийными решениями.
Рынок 1С нуждается, что и происходит, куча готовых решений. Что касается кулибиных, именно из-за них сейчас есть Линукс, Руби, и вообще развитие IT и веб-технологий. А если следовать вашей логике то и WindowsNT + Yahoo + Internet explorer уже были готовым решением. Само по себе выражение «кулибины» выглядит в наше время нелепо и смешно, не завидую вашим подчиненным.
При чем тут *nix и WinNT — понять сложно :). Не смешивайте, пожалуйста, всё в кучу.
Ещё раз: массовому РЫНКУ НУЖНЫ готовые обкатанные и работающие решения. Что вы изобретаете — ваше личное дело.
Так же как не будут использовать не проверенные и не сертифицированные медикаменты и автомобили, так и с вашей гениальной CRM. Ни кто на рынке не будет её использовать, точнее будут, пока вы будете сами её поддерживать и заниматься ею. Но в трезвом уме и здравой памяти использовать у себя решения от одного человека ни кто не будет. Это очень и очень дорого и чревато огромными потерями в случае вашего ухода (по любым причинам).
Да так уже лет 15 ни кто и не делает. Если встречается компания с гениальным, новаторским и крутым самопальным CRM софтом он удаляется и ставится 1С или что-то другое промышленное (что знает внедренец).
Вопрос не в крутости, а в поддержке, надёжности и «безглючности» работы. Про безопасность — вообще отдельная тема.
Ну значит я и множество других не массовых решений с которыми я знаком, прилетели из прошлого.
Нет, просто это не та область, где нужна уникальность.
Ну, если бы требования к отчётности не менялись по сто раз в год по первому чиху, то давно могла уже вырасти какая-нибудь оупен-сорсная реализация всего нужного функционала. Ведь главный недостаток свободного ПО в данном случае в чём? В том, что нет гарантий, что нужные обновления и нужный функционал появятся вовремя — до вступления очередных изменений в силу.
Опен соурс не панацея. И вы привели прекрасный пример. Для бизнеса важнее сдать вовремя и правильно, чтобы не налететь на штрафы, чем бесплатность софта.
Так в том и суть, что если бы требования не менялись, то ту самую гипотетическую OSS-систему давно бы допилили до пригодного для любых типовых применений состояния. Это же не ОС общего назначения — тут задача вполне конкретная, как и деньги, которые приносит её решение. А уж всякие типовые доработки — это вообще тысячи велосипедов, которые каждый раз делают с нуля исключительно из-за коммерческости.
по-моему, тем, кто работает с конфигурациями просто не обладает достаточным опытом и навыками.
отсюда вытекают и говнокод и баги и даже остановка деятельности организации.

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

просто надо включать мозги и учить матчасть
Непосредственно разработкой 1С не занимаюсь, но активно сотрудничаю с толковым фрилансером, который реализует наши хотелки. Основные проблемы, описанные автором, решаются одним простым правилом — НИКОГДА не снимать конфигурацию с поддержки, т.е. не менять ее. Все изменения — через внешние отчеты и обработки. Если так проблему решить не получается — попробовать перестроить бизнес-процессы. Не помогло — стоит подыскать более подходящую конфигурацию. Если и это не помогает — можно попробовать реализовать нужный функционал любым удобным внешним инструментом с последующим обменом данными.
Компания у нас небольшая, но бизнес-процессы достаточно сложные в силу того, что стоит задача максимально все автоматизировать, повысив тем самым эффективность компании, не раздувая штат.
Начинали с БП, потом перешли на УНФ, а потом попробовали ERP. В последнем варианте нас устраивает почти все. Что не устраивает — решается по описанной схеме.
Фирма занимается перепродажей большого ассортимента продукции, покупаемого у большого числа поставщиков. Плюс к этому — сборка компьютеров под заказ, а это сложности с поиском и подбором комплектующих, проведением производства, подбор аналогов и т.п. Стоит отдать должное 1С — ERP справляется почти со всем на 95%. Мелочи или дорабатываются, или они не критичны.
Просто когда встает выбор между «Добавить вон туда мега-кнопку „сделать п-дато“» со снятием с поддержки и вариантом нажать лишние 5 кнопок и/или раз в неделю что-то наклепать в экселе (к примеру), потратив час времени не самого квалифицированного офисного работника (зарплата которого в разы меньше стоимости 1Сника), но обойтись без геморройных обновлений, мы всегда выбираем второй вариант.
И да, про баги с каждыми последующими обновлениями — наглое вранье, по крайней мере для ветки 8.3 и конфигураций УНФ и ERP. За 2 года на первой и полгода на второй все обновления всегда проходили без проблем, причем даже своими силами без 1Сника. Обновлялся регулярно по собственному желанию где-то раз в полгода или чаще, если требовал бухгалтер (какие-то изменения в законах).
Добавлю еще…
Нужно понимать, что типовые конфигурации в 1С — это универсальный инструмент. И как любой универсальный инструмент — это всегда компромисс. Не нужно пытаться его подстроить под себя. Учитесь им пользоваться. Столярная мастерская — это платформа 1С. Молоток, рубанок или стамеска — это конфигурации. Вы можете обустроить свою мастерскую как хотите, приобрести и расположить инструменты, как вам удобно, можете даже создать свой (верстак, например). Но вам никогда не придет в голову дорабатывать молоток или ковырять электродвигатель фрезера). И уж точно не стоит пытаться проковырять стамеской идеально кругло отверстие — возьмите дрель.
Выберите максимально подходящую конфигурацию и попытайтесь подстроиться под нее. Если конфигурация выбрана правильно, то почти всегда это удается сделать. Попробуйте понять логику разработчиков — она там есть, ведь конфигурации создаются не в вакууме, а создаются для решения типовых задач как общих — торговля, производство, так и более частных — аптека, автомастерская и т.п. У нас 90% бизнеса, который является клиентам 1Сников — купи/продай, в лучшем случае — отверточная сборка, ну и услуги, разумеется. Все эти задачи очень типовые и легко поддаются абстракции.
UFO just landed and posted this here
Не передергивайте. Вы мою метафору извратили, исказив весь смысл :) Сверла — расходники, с правилами сравнивать некорректно.
Да и розетки это инфраструктура, а Бухгалтерия это инструмент. В общем тут спорить бессмыслено, любая метафора хороша в определенных рамках.
А по делу — все проблемы с обновлениями пользователи нажили себе сами. Придерживайтесь просто правила — не изменяйте типовую конфигурацию, и будет вам счастье. Я лично 5 лет уже на фирме поддерживаю 1С, с момента внедрения БП, при том что ни прочитал ни одного мануала по разработке и не в состоянии написать ни единой строчки кода. Проблем с обновлениями не было ни разу. Да и обмен данными настроился со второй попытки и при обновлениях так же ничего не слетало.
А если же ни одна типовая конфигурация в исходном виде вас так и не устроила, тогда да, берите любую за основу, снимайте с поддержки и дорабатывайте как вам надо. Но причем тогда тут обновления? Это уже ваша конфигурация, сами ее и обновляйте.
Извлечь данные из 1с сторонней системе — та ещё задачка.
Для каких целей смотря. Есть COM-соединение, есть встроенная выгрузка в XML, которую можно потом парсить до посинения. Есть даже специальная конфигурация «Конвертация данных» — для настройки выгрузки в XML и обмена между различными конфигурациям. Есть опять-таки встроенная выгрузки в eCommerce-подобные форматы.

А вот напрямую ковырять БД, если вы вдруг об этом — это да, не совсем нормально.
Главная причина обилия багов по моему скромному мнению — это сложность системы. Вспомните, сейчас 1С платформа выпускается для Windows 32 и 64 бит, для Linux, серверная версия, мобильная и т.п. Сложность сопровождения при этом очень высока, и как показывает практика разработчики 1С просто не справляются с сопровождением.


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

Еще одна очень важная причина постоянного наличия багов и ситуации с ними – это отсутствие конкуренции. По сути, 1С сейчас – монополист.


Это основная причина, по которой компания разрабатывает продукт, который является достаточно унылым по современным меркам. Как я понимаю, компания так и живет по большей части в 90-х годах.
Это основная причина, по которой компания разрабатывает продукт, который является достаточно унылым по современным меркам.
Если не секрет по каким меркам продукт унылый, и какие современные программные продукты которые используются для учета не являются унылыми по вашему мнению?
Поток сознания. Программистов 1с не любят за то, что это бухгалтерия, которую считают disabled area ещё со времён кобола.
Программистов 1с не любят, потому что у них нет общих тем с другими программистами
Искренне уважаю Хабрасообщество за передовые взгляды и глубокие знания. Но данная статья и реакция на нее неприятно удивляют. 1С тут вроде мальчика для битья, над которым многим просто приятно поиздеваться. Для специалистов, работающих с 1С, очевиден дилетантизм, поверхностность и большое количество ошибочных суждений в данной статье, откровенной неправды. Анализ всех ошибок по объему будет не меньше самой статьи, но вряд ли будет так интересен, судя по тому, что большинство комментаторов заранее настроено негативно. Отрицательные отзывы всегда привлекают больше внимания. — Почему так?
У нас сотни довольных клиентов: мелких, средних и крупных, которые любят 1С, сознательно его выбрали, сравнив с другими решениями.
С трудом вспоминаю, когда и у кого обновление платформы приводило к проблемам. Обновление типовых конфигураций в подавляющем большинстве случаев также. Обновление измененных конфигураций — тут все зависит от умения правильно вносить изменения и «мержить» свои изменения с новыми релизами конфигураций. А умение — от конкретного специалиста, выбранного заказчиком для этой работы.
Проблемы, естественно есть, как во всех сложных программных комплексах, не больше, чем у других, но они гораздо глубже и тоньше, вряд ли они будут интересны широкой публике, не работающей в области автоматизации.
Насчет того, что не любят 1С программистов — не любят любых халтурщиков, их в среде 1С — программистов не больше, чем везде, просто 1С программистов больше.
Ну и для тех, кто выбирает поле деятельности, могу сказать, как человек, перепробовавший очень большое количество платформ и языков программирования, что программировать на 1С — особое удовольствие. Потому, что сделать своего клиента довольным здесь можно быстрее всего. Звонок — задача — разработка — тест на копии — динамическое обновление(да!) — профит. Цикл очень короткий.
>Насчет того, что не любят 1С программистов — не любят любых халтурщиков, их в среде 1С — программистов не больше, чем везде, просто 1С программистов больше.
Всё-таки больше, низкий порог вхождения виноват. С остальным, в принципе, соглашусь, но не полностью.
Если не торопиться ставить новую платформу в день выхода, то шанс словить проблемы от обновления платформы — мизерный, примерно такой же, как риск напороться на кривое обновление Windows. С конфигурациями, действительно, многое зависит от квалификации того, кто обновляет.
Что касается длины цикла разработки — это может быть и минус, поскольку упрощается реализация задачи «как захотела левая нога». Я это по приколу называю «рефлективным программированием» — над решением задачи не думаем, делаем наиболее тупым способом, «на уровне рефлексов», возникающий ворох проблем решаем костылями по мере поступления.
С трудом вспоминаю, когда и у кого обновление платформы приводило к проблемам.

Самый свежий пример — обновление с 8.3.4 на 8.3.5 на практически стандартной конфигурации УТ. Случайное зависание при открытии печатной формы. Т.е. 50 раз форма откроется, а на 51-ый раз тонкий клиент зависнет. В багтрекере 1с ошибки нет.
Помаялись и откатили платформу.

И еще из прекрасного. Во времена платформы 8.0. Работал я в сети магазинов (больше ста точек, несколько регионов). Конфигурацию и данные распространяли сначала через стандартный механизм обмена. В один прекрасный момент загрузка конфигурации из файла обмена перестала работать. Через несколько месяцев переписки с саппортом 1с, ошибку признали и 1с дали нам бинарник, который чинил базу и обновления начинали вставать. Через пару месяцев сломалось опять. Волшебный бинарник уже не помогал. Еще пара месяцев переписки с саппортом ничего не дали. В результате плюнули и стали конфигурацию передавать просто файлом и из батника применять. А и еще — тогда с интернетом туго было, местами стояли модемы. Файлы обмена и конфа ходили поверх ftn. Потому пришлось конфу гонять не целиком, а только бинарный diff. В общем весело было.
Я на 8.0 собственноручно на экзамене в УЦ 1С словил «ошибку формата потока» при сохранении конфигурации :) А Windows 98 выдала BSOD на презентации, помните? :)
Про bsod не знал. Но это не показатель, таких казусов и у других хватает.

Так и я об этом же. Проблемы с обменом на давно протухшей версии тоже не показатель, скорей всего эта проблема давно исправлена(и порождено 10 новых, но это уже другая история). Когда это было? Лет 6-7 назад, не меньше, скорей больше. Понятно, что как показатель можно рассматривать отношение поддержки, но в любой крупной компании копни — нарвёшься на то же самое.
Я, кстати, сталкивался вообще с чудесами:
— Вылет 1С при формировании отчёта, при этом под дебаггером работало.
— Жуткие тормоза при обновлении списка на форме, ~минута ожидания для открытия списка или применения любого отбора в списке.

Оба случая были связаны с драйвером встроенной графики Intel G45/35(если не ошибаюсь), во втором случае — просто обновили драйвер, в первом — он уже был последней версии, пришлось отключать аппаратное ускорение.
Сталкивался пару раз с тем, что программы работали только под дебаггером. Чаще всего такая ситуация возникала из-за неправильно инициализированных переменных, лечится с помощью

(gdb) set disable-randomization off
Я вот не понимаю, зачем они объявили работу в Linux, когда ничего не работало в первом релизе. Второй релиз (с новым супернавороченным ТАКСИ) вообще вылетает из-за ошибок в соединение с gtk3.
Они еще объявили андроид клиента, но это как-то уродец скорее.
Мне кажется 1с не хватает несколько вещей:
  • Отдельного хранения кода от данных (все обработки занимают мало места) и механизма управления выкаткой и откатом релизов
  • Системы контроля версий (git) для кода
  • Поддержка postgresq/mysql без криворуких патчей
  • Удобной поддержкой тестов


И большинство проблем описанных в статье решаются. Если у вас хорошая конфигурация, покрытая тестами, не составит труда проверить работоспособность на новой версии. А еще было бы классно сделать практику стайл гайда обязательной. Чтобы даже самый далекий 1сник знал об этом.
Платформа и конфа 1С — это не сайтик на джумле, а «git для 1С» столь же абсурдно, как «git для oracle»:

Отдельного хранения кода от данных (все обработки занимают мало места) и механизма управления выкаткой и откатом релизов
Код и так хранится отдельно от данных — это называется «Конфигурация» и «Информационная база» соответственно. Вы можете слить только конфу и получить голую (без инфы), но настроенную систему (нет, наоборот не прокатит :-))

Системы контроля версий (git) для кода
Есть система под названием «Хранилище конфигурации» — ерундовина для групповой работы и версионирования изменений. Это не git, не так гибко, но, повторюсь, специфика тут другая — это все-таки структура БД.

Поддержка postgresq/mysql без криворуких патчей
Патчи — не всегда прихоть 1С, иногда это и исправление «криворукости» самой postgresql, иногда и повышение производительности. Они могли бы вообще оставить поддержку только беспроблемной MSSQL и не мучать свой мозг. Всё для людей, а они, как всегда, жалуются.

Удобной поддержкой тестов
Например, вот
Платформа и конфа 1С — это не сайтик на джумле

Только к 1с относятся хуже чем к джумле, что доказывает эта статья.
«git для 1С» столь же абсурдно, как «git для oracle»

Код и так хранится отдельно от данных — это называется «Конфигурация» и «Информационная база» соответственно. Вы можете слить только конфу и получить голую (без инфы), но настроенную систему (нет, наоборот не прокатит :-))

Тогда почему база с минимальными изменениями весит 100 Мб и посмотреть измененения просто так нельзя? Не вижу никакого абсурда в том, чтобы хранить код, написанный программистами (вряд ли больше 10 Мб исходников для огромных конфигураций), под системой контроля версий. Объясните, где тут абсурдность?
Патчи — не всегда прихоть 1С, иногда это и исправление «криворукости» самой postgresql, иногда и повышение производительности. Они могли бы вообще оставить поддержку только беспроблемной MSSQL и не мучать свой мозг. Всё для людей, а они, как всегда, жалуются.

Вы шутите? Postgresql работает очень быстро и без патчей. Кроме того, патчи не поддерживают последних версий postgresql, а зависли где-то на версии 9.2.1. Я на 100 процентов уверен, что код postgresql лучше чем код 1с. И отсутствие нативной поддержки sql-совместимых баз данных — это именно криворукость разработчиков 1с в прошлом, а не недостаток самих бд
Например, вот
не имеет документации, гайдов или чего-либо общего с нормальным инструментом
С вашего позволения напомню что в данном контексте база 1С — это не код.
Это созданная СУБД с таблицами и связками. Если хотите получить только код и взвесить его выгрузите .cf файл. Это и будет чисто код без БД и прочего.
Есть система под названием «Хранилище конфигурации» — ерундовина для групповой работы и версионирования изменений. Это не git, не так гибко, но, повторюсь, специфика тут другая — это все-таки структура БД.

Это даже не смешно. Хранилище конфигурации просто дрянь, а не vcs.
Невозможно вносить изменения в один объект разными программистами одновременно. Даже если структура данных не меняется, а меняется интерфейс и код.
Нет веток. Вообще. Совсем. Разработка может быть только линейной. Если я пилю новый функционал и мне нужно срочно исправить ошибки в старом, то мне приходится делать это в отдельной конфигурации. А если новый функционал и исправляемая ошибка находятся в одном модуле, то это вообще никак не сделать.
Скорость работы просто потрясает. Тормозит просто безбожно. Выгрузить изменения в хранилище — целое дело. Для понимания масштабов трагедии — Выгрузите конфу в xml файлы. Засуньте в гит. Внесите изменения в конфу средствами 1с. Выгрузите в xml еще раз. И вот тут засеките время за которое гит сделает коммит. Сравните с 1с.
подписываюсь под каждым словом.
Для IT-компаний 1С стоит использовать только для ведения бухучета для целей отчетности перед налоговой.

А весь бизнес варить самостоятельно на PHP+MySQL или на чем вам удобно кодировать.

Вы пробовали оценить сколько будет стоить разработка и поддержка сварного в PHP+MySQL (или в чём удобно кодировать) в компании с 20-30 сотрудниками? А сколько будет стоить недельный простой из-за несварения?
Тут есть свои плюсы и свои минусы. Я исхожу из опыта нашей компании. Как раз 20+ человек. Своя CRM дает мне свободу действий. Я на PHP+MySQL пишу значительно быстрее чем на русском языке. И пишу то, что нужно нам.

1С — это универсальный инструмент. В нем много лишнего. А у нас в самописной CRM ничего лишнего. И наша компания с 2006 года и по сей день самая продвинутая по электронному документообороту среди тех с кем мы работаем. А работаем мы много с кем, и куча больших компаний шлют нам документы в бумажном виде или в виде картинки, а получить доступ абсолютно ко всем документам за всю историю сотрудничества включая акты сверок нет возможности ни у одного нашего поставщика. У нас же большая часть звонков в бухгалтерию заканчивается ответом: «Зайдите в личный кабинет, кликните туда-то».

Также надо понимать, что все подобные споры — это еще и вопрос религии. Кто во что верит, тому так и лучше. Объективной истины тут нет. Кому-то лень изобретать велосипеды, а мне, наоборот, интересно самому покопаться и сделать.
На 1С тоже можно изобретать велосипеды, можно использовать её как фреймворк, и ничего лишнего не будет. Другой вопрос «А нафига это надо?».
Что не нужно (лишнее) вы вполне можете не использовать :) Например, вы легко можете сделать интерфейс кассира или ларька заказов в который пользователь только тыкает пальцем будет, чтобы что-то выбрать. Кстати, я бы посмотрел на кулибиных, которые интегрировали бы всё многообразие периферийного стороннего торгового оборудования. Хотя бы фискальный принтер.

Со своими великами все классно, и всё замечательно, но если вдруг вы покините вашу компанию то ваши разработки 100% ни кто после вас не будет разбирать. Любой пришедший человек купит коробку 1С и перенесет в неё всё.
На отсутствии модульности правильно акцентировали внимание. В свое время занимался проблемой модульности 1С
infostart.ru/public/192074/
Модульность можно реализовать в некотором приближении. Не понятно, правда, что делать с формами, которые монолитны по сути, в которых нет понятия пользовательских компонентов.
Не понятно еще чем занимается БСП, которая вошла в основу всех популярных конфигураций. Возможно, она должна была решать проблему модульности, но со временем стала неповоротливой и монолитной. Чтобы вычленить только подсистему работы с пользователями или только подсистему работы с файлами, нужно переработать кучу мест, убрать завязки на другие подсистемы. Подсистема разделения данных в ней тоже неочевидным способом работает.
Возможно, модульность — это только мечта. И ее реализация средствами 1С очень негативно скажется на скорости работы приложений. Недавно сравнивал скорость работы написанного на 1С JSON-сериализатора и XML-сериализатора, вшитого в платформу. Скорость кода 1С в 30 раз медленнее. Это значит, что модульность, реализованная на 1С, а не вшитая в платформу может дать существенное замедление, поэтому 1С отказалась от нее.
Русский язык программирования для русскоязычных конфигураций — это плюс, также как английский в англоязычной 1C Accounting Suite. Родной язык позволяет не задумываться, как перевести на иностранный высказывания бухгалтеров. Потому что не все владеют английским, а местный перевод некоторых слов рассмешит иностранцев. Попробуйте, например, сразу перевести «Единица измерения», «Контрагент», «Расходный кассовый ордер». Русский язык программирования появился как следствие по-русски написанных понятий, чтобы постоянно не переключать раскладку.
Кстати, весьма удачно, что C# и Asp.Net позволяют называть классы и члены классов по-русски. Это убыстряет интеграцию с 1С, но заставляет постоянно переключать раскладку.
Ну нееет. Писать по-русски никогда. Лучше мы будем писать RasxodnyKassOrder_Nomer и Zatraty. Но написать «Затраты» неееет, это не по-программистски.
Читал, читал, 21 раз слово баг в тексте… Думал заказуха, т.к. автор абсолютно слаб в теме 1С.
Глянул на автора и вспомнил DrupalConf 2011 (и бизнес-консультанта с блиц докладом) [пруф: disk.yandex.ru/client/yavideo/1%7Cslider/yavideo/1/44]. Всё стало на свои места.
Кто может дать ссылки на известные порталы о балете, я там дам рецензии по последним постановкам большого.
Погодите, автор это тот самый человек, который рассказывал про интеграцию 1С с друпалом? Я там был! Это было волшебно! Это было прекрасно! Весь зал лежал! Никакой Камеди Клаб с этим не сравнится!
Ага. Я, в сравнении, о балете точно знаю больше, чем автор о теме 1С :)
Не работает ссылка.
Какое то поверхностное мнение, автор как будто зациклился на обновлениях. Платформу очень редко нужно обновлять, а сами конфигурации, тут уж, все программные продукты выпускают релизами. Если руки из правильного места, то все проходит хорошо.
почему так не любят 1С программистов

Наверное потому, что 1С программист в первую очередь должен быть Бухгалтером и только в третью очередь программистом.
Наивное и далекое от реальности представление. Есть складская логистика на 1С, где вообще никакой бухгалтерии и не пахнет, есть транспортная логистика, есть 1С: Документооборот, есть 1С: Управление торговлей, которая без всякой бухгалтерии может вестись. Всякие там салоны красоты, парикмахерские, службы сервиса, гостиницы — будете посещать, посмотрите на базе чего они автоматизированы.
Да взять тоже управление производством, планирование.
На базе 1С сотни разных отраслевых конфигураций, а бухгалтерия (с чего они начинали) — это малая часть всего.
Все отраслевые конфигурации так или иначе связаны с бухгалтерией, в этом то и есть огромное преимущество. В любом случае успешный 1С-ник должен очень хорошо знать мат.часть, что и как должно считаться. Если конфигурация никак не связана с бухгалтерией, сразу возникает вопрос о смысле внедрения продуктов 1С.
Возможность выгрузить из управленческой конфы данные в бухгалтерскую — действительно, огромное преимущество.
По последнему тезису не соглашусь — представьте себе ИП, которому вести бухгалтерию без надобности (приходящий бухгалтер сделает отчетность раз в квартал, зарплата сотрудников считается на коленке), а управленческий учет очень даже нужен (продажи, остатки, заказы поставщикам). В реальной жизни таким ИП может быть среднего размера компания сферы услуг с несколькими офисами по городу. Им как раз отлично подойдут решения типа 1С: Управление торговлей, которые используются без всякой оглядки на возможную выгрузку данных в 1С: Бухгалтерию
Скорей всего, приходящий бухгалтер отчетность будет делать тоже в 1С. Когда говорится 1С программист — имеется виду программист 1С бухгалтерии, потому что другие конфигурации очень хорошо работают «из коробки» и привлекать услуги программистов не требуется.
>потому что другие конфигурации очень хорошо работают «из коробки» и привлекать услуги программистов не требуется.
Это ваша собственная глупость, или вы чужую повторяете? Как раз бухгалтерия чаще всего типовая, или близкая к типовой, т.к. обновления нужны постоянно. А УТ(или какое-то другое решение, не суть) — вдоль и поперёк переписана.
сам я не программист 1С, но общаясь с программистами 1С наблюдал, что они занимались в основном бухгалтерией и проблем со складом и УТ или чем-то другим не возникало не у кого.
Вы можете сказать чем конкретно они занимались? И ещё мне интересно, откуда взялся вывод про «другие конфигурации очень хорошо работают «из коробки» и привлекать услуги программистов не требуется.»
После выхода 8-й платформы область применения 1С сильно расширилась. 1С с тех времен пытается стряхнуть с себя прилипший имидж программы для бухгалтеров. Это просто укоренившееся у людей (и у вас также) представление о круге задач 1С.

Вы пишете «возникает вопрос о смысле внедрения продуктов 1С». Да, такой вопрос возникает. Решается он по-разному. Часто осознанно в пользу 1С. За счет того, что в ней очень много готовых объектов для реализации бизнес-логики. Бизнес-процессы, например. Просто задач по автоматизации бизнеса очень много и 1С позволяет быстрее других получать результат, собирая систему из готовых блоков, на месте настраивая под клиента. Вы же не отказываетесь от использования библиотек. 1С сейчас — это большая готовая бизнес-ориентированная библиотека с жесткой объектной моделью, состоящей из объектов типа справочников, документов, регистров и так далее. Трехзвенная и мультиплатформенная, к тому же.
Я не агитирую против использования 1С, нет. Я считаю, что у 1С просто нет конкурентов по автоматизации бизнес-процессов, потому что они лучшие в России на данный момент. При грамотном подходе и грамотных специалистах получается очень хорошая система взаимодействия разных отделов предприятия.
Это плохой, негодный программист 1С
Надеюсь знающие люди уточнят, но как мне кажется, (а может и не кажется) но постоянная свистопляска с изменением форм отчетности и прочих частых изменениях в бухучете началась именно с широким внедрением 1с, а теперь задумаемся, а нужны ли такие изменения, и если да то кому, ну разумеется кроме такой армии «специалистов»
Это далеко не так. Просто распространенный миф. Вы в плену у одной из разновидностей теории заговора.
Если на то пошло, то выгодоприобретателями здесь могли бы стать и стали разработчики любой бухгалтерской программы. А также операторы по приему электронной отчетности типа Контур-Экстерн и прочих.
Вопреки расхожему мнению, подсистема регламентированной отчетности — не самая сильная сторона типовых конфигураций 1С. В смысле легкости и гибкости.
Также, по моим наблюдениям, 1С долгое время сторонилась «госухи», где работают совсем другие методы продвижения решений. Правда, в последнее время по объективным причинам отношение поменялось.
Частое изменение форм отчетности связано с тем, что чиновники принимают безответственные решения, не учитывая затраты, которые несет бизнес и общество.
А изменение методологии учета объяснялось (на словах) необходимостью сближения с мировыми стандартами. На деле выходило как у Черномырдина.
Господин Нуралиев является главным в компании человеков, разрабатывающих дорожную карту усовершенствования налогового законодательства. Так что в каждом мифе есть доля правды
Да с чего вы это взяли? Откуда инфа? Где пруфы? Или это просто домыслы и все высосано из пальца?

Я не менее трех раз в год слушаю выступления Нуралиева перед партнерами, где он довольно откровенно рассказывает о происходящем, в том числе о своих хождениях во власть, участии в разных комиссиях и встречах, своей реакции на действия конкурентов и прочее. Все гораздо сложнее, чем вам представляется и вы сильно преувеличиваете значимость Нуралиева и 1С.
Так вы ставите знак равенства asi = правительство = Нуралиев. Вы вообще программист? С логикой в ладах?
Перечитайте, пожалуйста, мой исходный комментарий, прежде чем переходить на личности. При чём тут правительство вообще?
Пардон, перечитал, согласился про «главным в компании человеков».

Но все же попробуйте мне поверить, что 1С не действует во вред обществу в своих интересах и не продвигает свой продукт не честными методами. Соблюдает определенный кодекс насколько возможно. По моим личным наблюдениям. То есть ее совсем не идеальный продукт побеждает (пока — ситуация может и поменяться) в этих условиях благодаря открытой конкуренции.
Автор зря вообще написал про битрикс. Это отдельный вопрос, а незнакомый с темой может подумать что битрикс плохой продукт.
Битрикс стал очень крутой CMS.
Но все проблемы интеграции имеют следующие корни:
1) Неправильно настроенный учет франшизой, криво переписанная конфа. В результате чего данные вообще не попадают или попадают криво в типовую выгрузку. Остается надеяться, что заведется выгрузка от битрикса для 1С, которая к сожалению может иметь баги. Или модифицировать стандартную. К сожалению, большинство специалистов франшиз имеют такой уровень, что предлагают какие то адские решения. Например в файлик и на FTP. Как результат многие возможности битрикса по интеграции не используются.
2) 10 торговля. Да она имеет ряд багов, которые судя по всему уже никогда не будут исправлены. Альтернатива юзать решение битрикса для 1С. 11 торговлю 1С-ники не любят.
3) Кастомизация формы заказа не самыми лучшими специалистами со стороны битрикса. Как следствие все начинает выгружаться не в тех полях и не в соответствии с протоколом обмена и заказы могут криво вставать.
4) Ограничения на идентификацию контрагентов в 1С и на сайте. На сайте ведь никто в здравом уме не будет спрашивать ИНН. Вот и приходится выкручиваться.
5) Виртуальный хостинг за 100 р. в месяц. Чудес не бывает :(.
6) Часто сайт поддерживает одна контора, а 1с другая причем у обоих могут быть спецы по 1с и битриксу. Но вот об их сотрудничестве речи идти и не может. Конкуренция.
7) Битрикс в целом много проще в обслуживании ряда бесплатных CMS. Но все ли разработчики проходят монитор качества? Когда клиент хочет подешевле, а работодатель идет ему на уступки. Экономится каждый час и время на под настройку продукта под клиента просто нет.
2) Откуда инфа? Мы сидим на 10-ке как раз из-за того, что она стабильна. Баги есть, но костыли уже расставлены.
11-ю не любят, т.к. там багов еще больше.
Ну самое неприятное с обменом изменений. 1С-ники мне отвечают, что в ряде случаев 1С не считает, что товар изменился и следовательно он не идет в выгрузку (заменили картинку у товара). Клиента это не устраивает. Конечно 1С-ники это правят. Но такой баг из коробки очень критичный.
Регистрация изменений — это не самый критичный баг, тем более, что обмен с битриксом никогда из коробки не работал. Без напильника не обходилось. И это не потому, что там все плохо в обмене, а по другой причине: редко кто использует базовую УТ, а кастомной конфе — кастомный обмен.
Пять копеек:

1. Поднимите с колен продукт уровня 1С и заработайте на нем деньги — думаю вопросы сами собой отпадут — Салют 1С!
2. Продукт 1С Бухгалтерия — старый дедушка, который до последнего вздоха держался за dBase — все остальное из этого вытекало.
3. 1С и Битрикс — мы не делаем как все, мы делаем так как считаем нужным( то есть, по своему ).
IMHO

ЗЫ.
В седые девяностые, кто только не писал своего бух.учета или складского учета. Это с родни часикам и калькуляторам.
Как-то было, что когда были купоны(Украина) — не хватило значности поля для получившейся суммы.
А вы пробовали выжить, когда законодательство меняло правила игры чуть ли не ежедневно, а сети не было, надо было поднять жопу и ездить по всему городу делать обновления. А по всей области или стране как их делать? Интернета то не было. :)
Все говорят о программистах. Я ожидал прочитать про особенности и сложности программирования на 1С, но в статье и комментариях речь идет только об обновлениях и поддержке.
А потом удивляемся — «Ты же программист, переустанови мне Windоws»
Да-да. Заголовок статьи «почему не любят 1С программистов» Ответ в статье — потому что они ставят обновления. Онижпрограммисты)
Ну и вообще в статье куча некомпетентных заявлений. Я уже выше написал, что автор статьи просто не умеет готовить 1С и кипятится оттого, что не знает, как делать правильно.
Понравилось очень много, но к сожалению статья не соответствует заголовку и 90% статьи посвящены вопросам обновления конфигурации, создается впечатление, что кроме этого вопроса, другие автору не встречались.

У меня есть крупный заказчик, сеть магазинов: 1с8.1 конфигурация 10ти летней давности ну или где-то там, уже не могу вспомнить(10.3.3.3) переписана вдоль и поперек, вопрос про обновления не вставал не разу. Бухгалтерия сдает регламентированную отчетность, конфигурация типовая обновляется самостоятельно. Работаем давно и стабильно. Где то проблемы бывают, но в целом полет нормальный.
Другой заказчик, сильно переписанная ЗуП, которую обновлять приходится. Ибо законодательство. Цена вопроса, 2-3 часа времени.
Что именно нового в релизе, можно почитать там где получаешь обновления, если тебя как программиста интересует, можно найти что изменилось и посмотреть.
Так же понятно, что произошло с автором. Он не смог решить ряд проблем и под рукой не было адекватного специалиста который бы смог ему помочь ну или денег что бы оплатить его работу. Вот он и бросился с негодованием писать пост, прозрев наконец: «Так вот что не так с 1С!»
Я очень давно пытаюсь добиться ответа на вопрос, что же вам не нравится? Внятного ответа нет.
Есть ответы: «А там программировать надо на русском!» и «Проприетарное гавно!», к сожалению не могу принять эти ответы как адекватные. Более того, я считаю, что программирование в целом развивается быстрее в англоговорящих странах по той причине, что им не надо для этого учить еще и другой язык. А достаточно почитать документацию на родном языке. У них иногда доходит чуть ли не до литературного английского (при написании тестов например)
Теперь еще к вариантам ответов добавилось «Сложно обновлять измененные конфигурации». Хорошая попытка. Но нет.
Статья очень классная и по делу, благодарю.
Посмотрим на неё: 1С программист обновил, обновил, настроил, поставил обновление, настроил, обновил, ставил галочки несколько часов при очередном обновлении…
Странная деятельность для программиста. Это какой-то обновлятель-настройщик, это даже не кодер, и уж тем более не программист. Знаю более одного (два: один приходящий программист, в другом месте штатный) случая, когда 1С «программист» приходит и ставит обновления типовой неперепиленной конфигурации; это всё, что они делают, в код не заглядывают, конфигуратор не открывают. Profit, причём не хилый.
В 8.4 или 8.5 отказываются от конфигуратора и переходят на эклипс. Среди 1с «программистов» нехилая такая паника. IDE, система контроля версий… они ж слов таких никогда не слышали.
(из тех, которые мне встречались)
И ещё эта… программисты 1С, почему вы выборку из базы циклом делаете?
Про системных администраторов Вы по эникейщикам не судите, случаем?
Сами себя люди, которые обновляют типовые недописанные конфигурации, могу называть как хотят.
Версионный контроль пусть и в зачаточном состоянии, но есть в хранилище.
почему интересно котроля версий нет в SQL. Я же могу скрипт для скула писать и править, но скул почему-то не позволяет хранить версии. Сама конфигурация 1С это надстройка над базой которая описывает как и что делать с данными.

А уж сарказм по поводу циклов и прочего — это личное дело каждого программиста.
Все зачастую упирается во время и деньги. В случае ограниченности ресурсов бывает проще написать цикл который пробегается по кучке документов/справочников и через точку (а иногда и 2) выбирает все данные. Это пишется за 2-3 минуты и стоит копейки. На маленьких базах разницы в производительности не заметите. А если нет разницы и код рабочий то кого волнует как он реализован?
У 1С большая экосистема. Есть разработчики платформы, разработчики конфигураций, внедренцы и специалисты поддержки. Для обновления типовой конфигурации программист не нужен! Это может сделать сам пользователь. Через интернет. Для базовых версий — бесплатно. Для проф версий — по подписке. Все нужные кнопки для этого в программе и соответствующие внешние сервисы есть.
Если пользователь сам не хочет этого делать (типа масло в машине вы сами меняете или в сервис обращаетесь), то приглашает «специалиста». Обычно должность такого специалиста не программист, а сервис-инженер.
Так что не нужно всех тут одним цветом мазать. Просто не считайте себя умнее других, чтобы не попадать впросак. Просто это отдельная область, в которой вы не разбираетесь. Типа балета, футбола или медицины. Спросите, если что не знаете.
>И ещё эта… программисты 1С, почему вы выборку из базы циклом делаете?
Что? О_о Выборку из базы циклом конечно, можно делать, если по-другому не получается(памяти не хватает, например), но проще запросом(как и 10 лет назад, если что).
В Эклипсе я сам ковырялся, когда учился писать для андроида, с системами контроля версий работал(git правда, до сих пор не освоил, но займусь, как время будет свободное), вообще переход на открытую IDE только приветствую, наконец-то можно будет спокойно плагины для IDE написать, какие нужны, без извращений. Ну или готовые использовать, когда появятся…
Посмотрим на неё: 1С программист обновил, обновил, настроил, поставил обновление, настроил, обновил, ставил галочки несколько часов при очередном обновлении…

Я тот программист который несколько часов ставит галочки при очередном обновлении. habrahabr.ru/post/244727/#comment_8160871
В это «ставил галочки несколько часов при очередном обновлении» как правило входит анализ кода конфигурации которых пришел и своего кода, который затрагивает логику в изменениях которые пришли с обновлением так называемый «merge» конфликтов. Это занимает где то 70% времени. Остальные где то 25% занимает перенос изменений в формы которые изменились. Есть вариант который позволяет возиться меньше с формами, придет время, я оптимизирую этот момент :) еще где то 5% на общие моменты. Не вижу что здесь плохо в 1С или во мне который называет себя «программистом 1С»(я предпочитаю говорить просто 1Сник).
Интересная статья и обсуждение. У меня двойственное отношение к 1C — восхищение и испуг. В своей работе (разработка специфичного «фронта»), мы несколько раз интегрировались с разными учетными системами, в т.ч. и с 1С.
Внедрение у нас выглядит следующим образом — где то 3 дня — подключение оборудования, обучение персонала заказчика, в некоторых случаях — создание нового отчета (если заказчику не подходит отчеты «из коробки»). Обычно это делают сервисники — программисты на объекты не выезжают лет 5 как минимум.
В случае, если интегрируемся с 1С бэк-офисом — в коробке должен обязательно быть и 1С программист ;). Мне жалко этих парней. Они постоянно в командировках — раз в месяц объезжают всех заказчиков.
1С из коробки работает не смотря на уверения в обратно.

Другая проблема в том, что бухов и прочий офисный персонал приучили (а иначе это не назовешь) к тому, что в 1С можно все переделать под них. Из этого вырастают 99% проблем. Если не трогать, и спокойно жить на типовой, то функционала хватит на 110%. Та же избитая УТ 10.3 легко покрывает оптовую торговлю практически чем угодно, добавить во фронт 1С Розница — и оптово-розничная торговля товарами и услугами закрыта полностью.

Для внедрения не нужны именно программисты, достаточно грамотных консультантов, который научат как работать с торговой системой. Если уж бизнес специфический, то приходится применять отраслевые конфигурации. Но и тут программисту делать нечего, грамотного консультанта хватит. Но вот если без нового отчета вообще никак, или отраслевые решения не подходят, тогда приходится либо гнуть стандартные, либо писать нетленку с нуля.
Отраслевые в большинстве своём есть надстройки над типовыми. И качество их на порядок хуже типовых. В некоторых случаях выгодней раз в квартал отдать пару тыщ приходящему обновлятору дописанной типовой, чем ковыряться в глюках отраслевых
Ну это если особенности вашей отрасли можно реализовать в типовой хотя бы на 95%
Но к сожалению далеко не всегда так.
Тот же пресловутый общепит сложно реализовать в УТ. Комплектации хватает для изготовления блюд, но только при условии что вы не учитываете промежуточные изготовления полуфабрикатов, и не поддерживается содержание блюда в блюде.
С промежуточными массами брутто, нетто вообще никак.
Гостиничный или арендный бизнес — тоже в небольшой стороне от типовой. С бронированием номерного фонда придется возится.
Ну на самом деле именно у Битрикса проблем меньше — там какая-никакая модульность все-таки присутствует (я имею в виду не «модули» в терминологии битрикса, а «компоненты»), и она позволяет просто на основе API самого битрикса наклепать собственных компонентов на все случаи жизни и не зависеть от обновлений встроенных компонентов (благо, API у битрикса вроде бы остается совместимым со старыми версиями при обновлении). Тем более, что если взглянуть в эти встроенные компоненты, из глаз сразу начинает подтекать кровь.
В итоге при подходе с собственными компонентами у меня лично до сих пор ничего ни разу не ломалось после обновлений (тьфу-тьфу-тьфу).
А интеграция из коробки там хоть и работает, но производит эффект такой же, как от просмотра исходников встроенных компонентов, поэтому я тоже был вынужден писать полностью кастомное решение. Что, кстати, оказалось не такой у сложной задачей, так как она по сути сводится к простому парсингу XML-файла. То есть по трудозатратам, пожалуй, это было так же или проще, чем допиливать стандартную выгрузку.
Но тем не менее поработав с OpenCart, Prestashop, Drupal с Commerce и WordPress с WooCommerce я прихожу к выводу, что таки для интернет-магазинов Битрикс остается самой удобной системой (со своими компонентами и выгрузкой, безусловно :) ). Но только для магазинов.
Как то мне прислали XML выгрузку из 1С для целей импорта в базу данных CRM системы и дальнейшей разработки алгоритма интеграции.
Какого же было мое удивление когда я обнаружил кириллические XML тэги.

<Контрагент счет="301300000158">ООО "Рога и копыта"</Контрагент>


Типа такого. У меня глаза на лоб вылезли. Как же так можно то…
Извините, а в чем проблема русских тегов? Можете просветить зашоренного 1С программиста.
ПФР и прочие налоговые принимают xml отчетность с русскими тегами. Никого это не тревожит, а здесь я смотрю есть какая-то проблема.
 <contractor bank account="301300000158">ООО "Рога и копыта"</contractor>  

так красивее? извиняюсь за корявый английский, в нем я не очень силен.
Согласно стандарту Вы можете использовать UTF-8, и да ничего не сказано о том что теги или атрибуты не могут содержать noc ASCII characters.

Но проблема в том что ваши выгрузки потом нужно обрабатывать, и скажем если использовать например SimpleXML для Php выходить вот такое дерьмо:

$item = $document->контрагент;


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

Как вы читаете документацию?
Ну читать и писать — это немного разные вещи.
Документация к 1С на русском.
И также по поводу русского языка в xml.
Дело в том что в конфигурации объекты названы на русском языке.
Во время выгрузки/загрузки программа напрямую обращается к этим объектам.
Конечно можно сделать таблицу сопоставления типа
Contractor — Контрагент
и искать по этим таблицам, но это излишне запутает поиск и добавит очередную порцию ошибок.
Основная проблема 1с-программистов в том, что их, по неведомым мне причинам, назвали программистами. Вот например в задачи системных администраторов тоже входят обязанности установить обновления и поправить конфигурации. И более того, сисадмины частенько пишут скрипты по сложности не уступающие полноценным программным продуктам. Но их не называют программистами. Если бы специалистов по 1с называли просто 1с-инженерами к ним было меньше негатива со стороны реальных программистов.
Основная проблема в том что путают 1С программистов и 1С консультантов. Равно как и всех айтишников называют компьютерщиками, а когда профессиональный админ не может (читай не хочет) разбираться почему старая игрушка не встает на новый ноутбук, то про него говорят плохой админ/компьютерщик.
Программист — это человек который может на языке программирования написать некоторую последовательность действий которые необходимы пользователю.
Человек который установил/обновил 1С из коробки — не программист.
Я пишу на ЯП 1С решение необходимое пользователю.
Посредством среды разработки я (к примеру) задаю последовательность действий, которая выполнит программа после определенных действий пользователя.
К примеру пользователь хочет учитывать денежные средства. После нажатия кнопки ОК денежные средства приходуются/расходуются.
Для такой простой задачки даже код писать не нужно. Построители и мастера сделают все сами, надо тока наименования полей указать.
Но если задача посложнее. К примеру заполнение автоматического расписания работ на каждого исполнителя, с учетом максимальной загрузки каждого по дням и равномерного распределения нагрузки в течении всего рабочего месяца. Здесь уже нужны навыки программирования.
Человек пишущий на ЯП не обязательно является программистом, так же как человек складывающий слова в предложения не обязательно является писателем. А навыки программирования могут пригодиться и в Фотошопе.
если программа выполняет необходимые действия (равно как и текст является осмысленным) то человека можно назвать программистом.
Если не так, тогда кто по вашему программист?
«Программи́ст — специалист, занимающийся написанием и корректировкой программ для компьютеров (любых вычислительных устройств), то есть программированием.» А человек, занимающийся установкой обновлений и конфигурированием программ, программистом не является. Даже если он иногда использует ЯП.
Ну так я об этом и говорил не путаем 1С консультантов и Программистов.
Если я дописываю к готовой программе модули которые выполняют определенные действия — я программист.
Если я поставил/обновил/настроил — я эникейщик.
Если я научил пользователя пользоваться программным продуктом — я консультант
Естественно периодически все эти понятия путаются для обычного пользователя.
Пришел программист, поставил 1С из коробки, настроил, научил пользователей работать, и по просьбе буха дописал что-либо.
Все вроде логично, человек «побывал» в трех ролях объединяемых общим понятием программист 1С.
Так же как и просто название программист. Обычно программистами называют всех кто более менее разбирается в ПК. Так проще )
Тётеньки-бухгалтеры так всех и называют. Но хабр все таки не для них.
Ну раз по Вашему мнению тетеньки бухгалтера определяют для кого хабр а для кого нет, то вам стоит у них поинтересоваться Вам то можно его посещать или не стоит.
В своём первом посте вы противоречите приведённой вами же формулировке :)
Рекомендую прочитать книгу Элияху Голдрата «Цель-3». Там как раз про разработку продукта подобного 1С и даже проблемы похожие, судя по вашей статье. Ну и собственно направление для решения указано. Правда в конечном счете оно свелось к облакам :)
«1С писали инопланетяне — до такой степени там все непочеловечески».
И это не моё только мнение.
«SAP писали инопланетяне — до такой степени там все не по человечески».
«DAX писали инопланетяне — до такой степени там все не по человечески».
«T-SQL писали инопланетяне — до такой степени там все не по человечески».
«AutoCAD писали инопланетяне — до такой степени там все не по человечески».
«_ писали инопланетяне — до такой степени там все не по человечески».

А вам не кажется, что все зависит от точки зрения, от того, насколько глубоко знаком предмет обсуждения. Нужно приобрести опыт использования платформы 1С, поучаствовать в нескольких внедрениях, доработать или разработать несколько конфигураций, прежде, чем делать выводы. Заметьте, среди критиков нет ни одного, кто имеет подобный опыт. Все критики — это люди, мало знакомые с 1С, включая, кстати говоря, и самого автора статьи.
Будете вы слушать человека, критикующего С++, не написавшего ни строчки кода на нем? А почему вы тогда слушаете мнения людей, не знающих 1С?
Я упомяну только один термин из 1С — «субконто».
Почему термин из белорусского языка произвольно используется для обозначения аналитического учета, тогда как он обозначает синтетику?
Это можно объяснить плохим знанием нашей землянской лексики…
Всю жизнь думал, что «субконто» происходит от английского subcount — «субсчет». Вы первый на моей памяти, кто это как-то с белорусским языком связывает. Ну придумали свой термин, чтобы конкретизировать более абстрактное «аналитика». Это самое для вас непонятное в 1С?
то есть вас не устраивает именно название этого понятия в программе 1С бухгалтерия?
Во многих других конфигурациях где нет плана счетов нет и с
лов «субконто» там вас тогда ничего не раздражает?

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

И теперь вы получаете одновременно мощный инструмент, удобный визуальный интерфейс и …. .

Интерфейс в 1С, на мой взгляд, не самый удобный.
Я — программист 1С. И недолюбливаю Метрополию (фирму 1С).
Меня всегда мучал вопрос, почему нельзя сделать, чтобы УПП = УТ + ЗУП + БП?
Оказалось, причина в бабках. По крайней мере мне так объяснили.
Может и модульности нет из-за бабок.
Это не радует меня, как программного перфекциониста.
За 10 лет работы с 1С сложилось мнение — платформа классная, а менджмент 1С — античеловечный.
К тому же 1С закрыта от критики и от обратной связи — пробраться на форумы не так легко, линия поддержки перегружена тоже.

Вы еще не упомянули про Управляемые Формы в платформе 8.3, которые увеличили объем работы программистов, непонятно зачем.

В общем, не тем путем идет Нуралиев. А идет он этим путем только из-за отсутствия конкуренции.

Мы, программисты 1С, этот беспредел не одобряем.
> платформа классная, а менджмент 1С — античеловечный
Не согласен.
Менеджмент 1С — супер.
За считанные годы захватить большую часть рынка с помощью самого обыкновенного программного продукта — это надо уметь!!!

Достоинство менеджмента 1С — все хорошие идеи в области бухгалтерского ПО рано или поздно подбираются и используются.
Кто-то что-то придумал, глядишь — через 3-4 года тоже самое уже реализовано в 1С. Криво, косо, непочеловечески, но реализовано! И тут же массово растиражировано за вполне приемлемую плату. И конкуренты, со своими супер-пупер идеями за бешеные деньги, опять в пролёте. Так что Нуралиев делает всё правильно с точки зрения менеджмента.

> отсутствие конкуренции
Это верно. Тут полностью согласен.
Никто так и не раскрутил свой аналогичный продукт. Всем в падлу делать массовый и дешевый программный продукт.
Хотя ничего сложного в программной реализации принципа двойной записи нет. Но уговорить кого-то этим заняться, тем более теперь, когда всё заполонила 1С, практически не реально.

не всегда хороший маркетинг хорош для государство.
Я употреблял термин «хороший» в плане пользы для общества, а не для фирмы 1с.
Обществу также полезны дешевые (пусть и не мегакачественные) продукты для бухгалтерии и управлением предприятием — это способствует развитию малого и среднего бизнеса.
Выводы в статье верные и я с ними согласен, но часть предпосылок из части мифологии. Жаль, что увидел статью только сегодня и просто нет времени переварить все комментарии за прошедшую неделю дабы не повторится… Поэтому просто отмечу вещи которые больше всего резанули мне глаз:

1) Отсутствие контроля. Если вы лично не жаловались в отдел качества (k@1c.ru), то это не значит, что они плохо работают. Они очень агрессивны к нарушителям. Даже один раз мне звонили с китайским предупреждением, хотя было всего лишь слабое недоразумение, которое в течении дня с клиентом было утрясено.

2) Программисты и сама компания 1С навязывают ненужные обновления. Это не они навязывают, а государство. Я уже много лет не занимался сервисом, но в свое время успел вкусить цирка, когда за пару дней до конца сдачи отчетности выходят новые печатные формы. При чем отчеты по старым формам уже не принимают и требуют перепечатывать, а иначе штрафы. Электронный обмен тоже был не панацеей, так как они меняли со своей стороны формат обмена и «приехали». Именно поэтому наша фирма никому ничего не навязывала, это нам обрывали телефоны и умоляли приехать обновлять. Даже буквально вчера я слышал звонок, когда клиент истерил и просил наконец-то его обновить, так как у нас в Украине в очередной раз поменялась налоговая накладная и у клиента резко остановилась вся торговая деятельность.

3) В обновлениях неизвестно что. Как раз всегда известно. На базе этой информации и принимаются решения между «нахер надо» и «наконец-то». Детально описываются как доработки в платформе, так и в типовых конфигурациях.

4) На фирмах-франчайзи висят сертификаты «мертвых душ». Это не правило, а исключение. На самом деле при увольнении сотрудник забирает свои сертификаты, а при уходе в другой франч — перерегистрирует на них. Бывают ситуации, когда фирму 1С не ставят в известность про уход, но тут кроме «выгоды» для франча (не стоит забывать про сарафанное радио и черные списки на сетевых форумах) есть и обратная сторона медали — уволенный сотрудник может писать на внутренних форумах от имени своего старого работодателя, или вообще начать свою деятельность прикрываясь чужим авторитетом — а в 1С по запросу все подтвердят.

5) Конкуренция есть, но у них слабый маркетинг. Если конкуренция есть, то только за счет очень сильного маркетинга. Реальность жизни такова, что в условиях ежемесячных внезапных сюрпризов от правительства и контролирующих органов нужны просто титанические усилия, что бы успеть быстро реализовать доработки под изменившиеся требования законодательной базы, а дальше распространить эти «патчи» по сотням тысяч субъектов хозяйственной деятельности.

Но, еще раз повторюсь, что статья на 75% правдивая и правильно расставляет акценты в этом мире «вечных багов и проходимцев». Плюсики получены вполне заслужено.
Я далёк от 1С, но тема интересная. В частности почему-то не отмечен момент (или я не заметил?) необходимости ступенчатого обновления конфигурации: нельзя обновиться сразу до последней версии, все обновления имеют ограничения по номеру версии, на которую они встанут. В 7.7.обновление «сразу и до упора» работало в 99% случаев (по моей практике), в 8.x — нет.
Также вызывает глубокую оторопь отсутствие функционала, имеющегося сейчас в мало-мальски развивающихся проектах — пакетное обновление: у меня «на балансе» примерно по 17 отдельных баз бухгалтерии и ЗУП, обновлять которые разом — это адский ад, особенно, когда обновлений не было уже пару месяцев. Сидеть и тыкать «ОК», «ОК», «Разрешить», «ОК» в течении нескольких часов — это отупение. Пробовал обновлять батниками — постоянно какие-то косяки, вроде необходимости сначала разблокировать конфигурацию (WTF?!), хотя обновляю я её исключительно в одиночку, никого нет и ничего не залочено. Есть официальная конфигурация для пакетного обновления с любой версии до последней, но она стоила, AFAIR, ~12 тыс. руб., за базовый для настоящего времени функционал — это наглость, я считаю.
Странно Вы написали. С одной стороны Вы далеки а с другой у Вас 17 баз.
Пакетных обновлений нет возможно из-за того, что после некоторых обновлений необходимо запустить конфигурацию, чтобы выполнилась обработка при изменении версии конфигурации. Она периодически перезаполняет необходимые справочники и данные.

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

Ну а то что вы считаете «базовым» функционалом — далеко не базовый.
У «обычной» организации 2-3 базы, не больше. Если у вас 17 баз, то предполагаю что компания достаточно крупная и для нее 12 тысяч не большие деньги. Как писали в Microsoft если компания не может позволить купить себе серверную версию Windows, то она ей не нужна.
Я совершаю механические действия по обновлению баз стандартными средствами, тут знаний 1С не нужно. Обработка при изменении конфигурации для накатывания следующей тоже не нужна, потому что в конфигураторе можно накатывать обновления одно за другим хоть до китайской пасхи: при первом запуске предприятия в информационном окне будет видно, что платформа выполняет обработку версий одну за одной до последней установленной, вот и выходит, что требование ставить строго обновление+1 за обновлением-1 продиктовано какими-то мутными условиями; по-крайней мере от поддержки я этой информации не добился.

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

Когда я говорю «базовый функционал обновления», я имею ввиду, что любой мало-мальски адекватный софт, будучи установленным не в последней версии, при наличии интернета позволяет обновиться в автоматическом режиме до актуальной версии, вне зависимости от того, делает ли он это версия за версией или накатывает инкрементальный апдейт. Скажем так: подобным образов себя ведёт 90% из всего зоопарка программ, которыми я пользуюсь на работе и дома. И 1С.

Я согласен и точно знаю, что 12 рублей — это фигня для моей конторы, но вот обоснование — «Давайте потратим 12 рублей, чтобы мне было проще обновлять базы раз в месяц?» Я — единственный админ по всем фронтам (в основном офисе, на объектах и т.д.), но я приходящий, моё свободное время никого не колышет; мне главбух так и сказала: «Обновлять 1С — это тоже твоя работа, сколько бы времени она не занимала», и де-юре она права. Короче, любой чих только за бабло.
Скорей всего косяки с «разблокировать конфигурацию» — из-за регламентных заданий(мы же про клиент-сервер говорим, да?). Отключайте их на время обновления, можно это делать скриптом через COM(Powershell умеет, насколько я знаю). Не всё так ужасно, надо только копнуть…
>любой мало-мальски адекватный софт, будучи установленным не в последней версии, при наличии интернета позволяет обновиться в автоматическом режиме до актуальной версии, вне зависимости от того, делает ли он это версия за версией или накатывает инкрементальный апдейт.
Опять же — расскажите это разработчикам любой ERP. 1С тут вовсе не исключение.
Боюсь вас разочаровать, но нет, проделывал я эти действия с тестовой копией базы на своём домашнем компьютере, безо всяких регламентных заданий и прочего. К совести сказать, первая база через батник обновилась, однако все остальные — нет. Из клиента, само-собой, выходил, процессы не висели; единственное, чего не делал — не перезагружал ПК, но это, по-моему, лишнее.

Ну, про ERP соглашусь, хоть и не хочется. Но я искренне уверен, что 1С это никак не оправдывает, если не наличие удобных отраслевых решений, я бы… я бы… я бы, короче, не знаю что бы сделал :) Печально это всё.
>Но я искренне уверен, что 1С это никак не оправдывает
Оправдывает полностью, такая уж модель бизнеса(по крайней мере, по отношению к небольшим фирмам) — зарабатывать на обновлениях. Если хотите — напишите мне в личку, попробую вам помочь с вашим горем.

забавно, это написано в 2014 году, а в 2022 уже существует 1С:Обновлятор, правда написан не в 1С, а сторонним разработчиком.

Полностью согласен с автором, особенно по поводу совместимости.
Например, мы настраиваю поставщикам выгрузку остатков и цен через стандартный обмен данных. Казалось бы, CommerceML, всё должно быть стндартизированно и универсально. Хрен там!
1. Каждый поставщик как хочет, так и хранит товары в 1с. У 95% не заполнено поле «бренд» товара. У тех у кого заполнена, это может быть сделано разными путями — свойство товара, справочник производителей. В итоге в коде анализа XML у меня обработках всех возможных видов, вместо того чтобы 1с изначально из коробки предлагала и настаивала только на одном — справочнике производителя.
2. Вышла новая версия УТ, и начался ад. Ранее цвета товара выгружались в import.xml, на каждый цвет было своё предложение, Ид и характеристики. В новой УТ теперь в import.xml выгружается только сам товар, без цветом и без артикулов для каждого цвета, зато цвета теперь появились в offers.xml. 1С, какого хрена? Соответственно теперь по отдельности файлы не обработать… И перейти на подход хранение только Ид товара без Ид цвета (ранее ИД товара было Ид_товара#Ид_цвета) тоже нельзя, иначе сломаются выгрузки из старых УТ.
Молчу про то, что никакой документации или внятных алгоритмов разбора нет, и всё это результаты ревеср инжиниринга.
1. Это конечно сильный пинок в сторону 1С. Всеравно что пинать на микрософт из-за того, что в ворде люди всякую чепуху печатают, и не пользуются (а иногда просто отключают) орфографическую проверку.
Вы предлагаете все поля типа бренд и прочее сделать обязательными для заполнения? Обычно в самом начале даже не парятся а забивают как есть, потом придумывают как прикрутить и не дорого. Можно через свойства/характеристики/реквизиты.
2. Наверно логично что для новой версии УТ нужно сделать отдельную загрузку/выгрузку данных. Поменялась структура данных. Количество и качество реквизитов. Всеравно что говорить вышла новая версия виндовс. В 98 у меня все работало а в ХР нифига. Микрософт какого хрена?

Документации полно. Берем желтенькие книжечки и учим матчасть. Фраза про реверс инжиниринг глупа. Все равно что делать реверс инжиниринг сайта написанного на голом html при наличии доступа к самим html файлам.
Сама статья неплоха. Хотя, в тексте довольно много повторений а суть всего ужаса изложена только поверхностно.
Но вот эпиграф — лучше не придумаешь!
И в бровь, и в глаз! :)
Тут можно еще подливать масло в огонь с их Мобильной платформой. Это еще та песня для проггеров.
Когда потребовалось автоматизировать мобильных сотрудников для работы с заявками, от 1С: Заказы отказались сразу в пользу Моби-С. Когда 1С дойдет до планшетов, будет жесть.
Простите а про какие планшеты вы говорите? Мобильная платформа работает на планшетах. А на планшетах с виндой прекрасно работает стандартная платформа.
И почему мои — с а не агент+??
Сам кстати автоматизировал и на том и на том ПО.
Естественно я речь веду про планшеты на Андроид. До тестирования агента даже не дошли — моби-с сразу заработала и полностью отвечала задачам. Но ведь вопросы статьи не об этом. 1С запускает мобильную платформу для написания приложений сразу и под андроид и под ios. Если это пойдет в массы, можно только представить сколько придется допиливать, при сменах форматов обмена или других «нововведениях»…
Да в чем проблема? Не меняйте форматы обмена!
Есть торговая организация. Она ведет управленческий учет к примеру в 1С УТ.
Есть отдел менеджеров по продажам, которые для внесения заказов непосредственно в базу используют мобильное приложение. Наладили и настроили. Зачем что-то менять или обновлять???
Ну поменялась печатная форма у счета фактуры, ну поменяйте ее и все.
Связку между Учетной системой и сторонними приложениями это не нарушит, но вот зачем постоянно обновлять саму учетную систему — ума не приложу.
Самое интересное, что я с Вами согласен и не спорю. Но Вы внимательно читали статью? В ней как раз и говориться, что своими обновлениями 1С очень часто заставляет делать еще очень много не нужной работы, чтобы восстановить работоспособность. И если Вы автоматизировали мобильных сотрудников, то не факт что обновление УТ пройдет под Вашим контролем или с Вашего согласия.
Ну так дело в том, что если Вы работаете на 100% типовой, то все работает.
Как только сняли с поддержки и начали ставить костыли, то сами уже и несете ответственность.
Статью читал, и честно говоря проблемы именно с обновлением типовых возникают очень редко.
А смысл ставить последний релиз платформы пока этого не потребует конфигурация — я вообще не вижу.
Но это все личное мнение и личные наблюдения.
Just take а look at this. И поймете, что дело не в 1С, а в 1С-никах. «Вотзефак из рефакторинг? А как это асинхронно?» Ребята, все уже давно поменялось! image

Сегодня попалось в телеграмм-канале с ИТ-юмором (подпись - уже моя):

Другие ЯП - см. мем, 
1Сники - ура, наконец-то добавили АСИНХ и ЖДАТЬ, и не надо будет делать спагетти-код.
Другие ЯП - см. мем, 1Сники - ура, наконец-то добавили АСИНХ и ЖДАТЬ, и не надо будет делать спагетти-код.

Статья в общем верная, но… как бы очевидная и безисходная.
1С — как и любая другая система со сложным функционалом, универсальная и постоянно актуализируемая в соотсвтествии с 1) изменениями законодательства, 2) маркетинговыми трендами (всем ну просто «необходимо мобильное приложение, сейчас без него никак!!! аааа 11111...») несёт в себе кучу багов.
В своё время приходилось работать с разными САПРами — так вот AutoCAD, SolidWorks, Catia… и т.п. — у них у всех есть куча багов и чем сложнее система — тем больше багов.
Интересно было бы увидеть в статье превосходящие 1С альтернативы… но увы. Не увидел.
превосходящие… в крайнем случае в конкретном месте и в узком профиле — еще может быть. Но вот универсального решения за вменяемые деньги увы нету.
Почему популярна 1С? Ответ дан — агрессивный маркетинг. Про них слышал, пожалуй, каждый предприниматель. Кроме того, у нас в стране постоянно вводятся какие-то поправки в плане бухучета, учета кадров и расчета зарплаты. Всякие там отчетности и печатные формы документов (кому и зачем вообще всё это нужно — вопрос интересный, но здесь не об этом). И продукты 1С — эти изменения поддерживают. А поскольку без этих форм отчетности и прочих нюансов есть риск попасть на довольно крупные штрафы — имеется потребность в продукте их поддерживающем.
Почему не любят 1С — вроде, тоже понятно: отсутствие «модульности». Хотя сейчас уже есть средства «Расширения конфигурации» — позволяющие отделить свой код от 1С. В стандартных конфигурациях — имеются механизмы замены печатных форм (без изменения конфигурации), механизмы дополнительных отчетов и обработок (хранимых в самой базе данных, не привязанных к конфигурации). Кроме того, там где нет возможности изменять стандартный код в 1С, существуют методики, позволяющие в последствии значительно облегчить обновление конфигурации.
С другой стороны, модульность можно условно имитировать
Можно делать модульность — разделив учет на составляющие и грамотно выбрав стратегию использования программ 1С. Отдельно — программы для регламентированной отчетности, их нужно обновлять и лучше всего не модифицировать. В большинстве случаев — всё, что нужно есть в программах или можно решить дополнительными внешними печатными формами, отчетами и обработками. Отдельно — программы для внутреннего учета. Эти программы вообще можно снять с поддержки, отказавшись от обновлений, и перепилить под нужды бизнеса. Обмен между программами настроить самостоятельно, в будущем время от времени может потребуется небольшая доработка после обновления регламентных баз (не при каждом обновлении).

Что я не люблю в программистах 1С, и в себе, в том числе
  • Далеко не всегда решая текущую задачу — мы задумываемся о последствиях в будущем. Например, влазим в конфигурацию и изменяем встроенные печатные формы там, где можно было бы написать внешние. Просто потому — что так быстрее, и проще отлаживать. Зачастую — скорость навязывается заказчиком, либо условиями работы, и нам бы надо объяснять — что некоторые быстрые и дешёвые решения сейчас — станут причиной больших затрат в будущем.
  • И за то, что внеся изменения в стандартные механизмы — не добавляем авторские комментарии (а это важно, и реально помогает при обновлении).
  • Ну и конечно — за то, что иногда мы пишем нелинейный, плохо читаемый код.
  • Про ситуации, когда навязывают обновления для того, чтобы заработать себе монетку в карман — лично я так никогда не делаю, и делать не буду. Это больше похоже на некоторых франчей. Они зачастую применяют в описании фразы типа «самое последнее решение», «самое новое» и даже «самое модное». Никто из них не скажет что-то типа «Лучшее — враг хорошему». Потому что они — продавцы, и им надо убедить купить новый продукт. И в этом плане — они не отличаются от продавцов сотовых телефонов, телевизоров, автомобилей и тому подобного.


В статье есть два момента, с которыми я не согласен:
отсутствие подробной документации к обновлениям
Если Вы — полноправный пользователь и скачиваете обновления с официального сайта, то возможно — видели ссылки типа «Обновление такое-то, что нового» или «Обновление такое-то обнаруженные ошибки и проблемные ситуации». В стандартных конфигурациях 1С описания нового функционала выводятся пользователям сразу после обновления, а при обновлении — в конфигураторе предлагается ознакомиться с описанием. Только вот не все это читают… Но документация есть.
Потому что обмен данными возможен только между одинаковыми версиями конфигураций
Это неправда. Обмен можно настроить между разными версиями. Просто нужен специалист, знающий что такое «конвертация данных» и как устроены стандартные механизмы обмена. А в большинстве случаев после обновления — вообще не изменяется структура данных, т.е. перенастраивать в правилах конвертации ничего не требуется.
сегодня общался за кружечкой пива с парой человек, которые занимаются нелегальным обновлением 1с и прочего, и я задал вопрос, а если бы обновления на 1 с происходили раз в год (например после сдачи годовой отчетности), вы бы занимались этим? я думаю ответ ясен)))

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

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

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

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

Многие могут сказать - это же классно когда есть косяки!! Нет не классно! 

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


Сам уровень программирования на встроенном языке уже дефектен. Я об этом уже много раз писал. Это объясняется объективными причинами: 1. Популярными являются программы с низким порогом входа, когда может писать новичек. 2. Встроенный язык не прогрессирует десятилетиями. Это долго в мире ИТ. 3. Фирма 1С крайне закрытая и не дружелюбная когда ей сообщаешь о багах. 

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

В результате вся внутренняя инфраструктура находится в состоянии "глубокого технического долга".  Много кода нарушающие принципы, SOLID, DRY (от мелкого Запрос.выполнить.выгрузить, до повторения огромных запросов "при проведении", в отчетах, СКД), YAGNI - общие модули и БСП изобилует "брошенными" функциями. Семантика наименований объектов ущербна и неинформативна, абсолютно всегда "технарна".  Например, (из https://its.1c.ru/db/v8std/content/469/hdoc), ОбщегоНазначенияКлиентСервер, РаботаСФайламиКлиентПовтИсп, РаботаСФайламиКлиентПереопределяемый. 

Конкретно. Какая единственная отвественность (single resposibility) у модуля "ОбщегоНазначенияКлиентСервер" согласно _названия_? Да никакой - сумбур один. "КлиентСервер" - технарский суффикс, добавленный из-за ущербности среды разработки. Ну на самом деле признаки "На сервер", "На клиенте" в конфигурации указаны, почему их  (цветом, иконкой) нельзя было показывать в дереве конфигурации? Зачем это десятилетиями писать в названии, увеличивая размер в мегабайтах конфигурации? Почему нельзя добавить еще один иерархический уровень в ветвях конфигураций? Что бы список "Общие модули" помещался в пределах высоты экрана, а не на 20 экранов? И т.д. и т.п. Не буду продолжать ибо это голос одиночки в пустыне.


Один из вариантов решения - обьединение партнеров 1с и параллельная разработка полностью альтернативного  решения на стандартном , хорошо известном стеке технологий , например qt c++ или Delphi , python как сервер бизнес логики и Postgres для бд . Это позволит создать конкурентную среду и простимулирует 1с исправить все проблемы или , тоже постепенно , кануть в лету ...  пример такого подхода - Una.md . Давайте дадим шанс 1с стать лучше 🙂  

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

Я делал на диплом простенькую учётную систему на Delphi+SQLite, зря исходники удалил, да?)

ты даже не понимаешь, чем отличается кодинг в 1С от IDE + SQL. Поэтому твой юмор выглядит очень глупо. А печатные формы и отчеты там были, кстати?

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