О программировании на 1С Предприятие 8

Если пишешь ты на СИ
Будь хоть трижды ламер
Про такого говорят:
«Он — крутой программер!»
(Фидошные песни — «Что Такое Suxxx и Что Такое Rulezzz»)

Предисловие


Поводом к написанию данной статьи послужило негативное отношение профессионального сообщества к указанной платформе и программистам.

Как программист, выбравший 1С, считаю данное мнение необоснованным. Платформа 1С — далеко не идеал, но, на мой взгляд, — это лучший, а главное — отечественный продукт!

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

В данной статье я опишу те преимущества, которые нашел для себя в программе. Статья получится практически рекламой, поэтому сразу дисклеймер:
  • Прямого отношения к фирме 1С я не имею;
  • Данная статья не является заказной, и написана исключительно на добровольной основе;
  • В некоторых случаях высказано личное мнение, которое может не совпадать…;
  • Вся статья, за исключением пролога — авторская, любые совпадения — случайность;
  • Речь пойдет о платформе 1С Предприятие 8.2 (в настоящее время — актуальна версия 8.3, но я её ещё не изучал — очень много работы на 1С 8.2). Однако, большая часть сказанного применима как к платформе 8.3, так и к более ранним версиям, а часть — и к версии 7.7.

Итак, приступим.

О чем речь?


Платформа 1С Предприятие 8 — это:
  • Работает в двух вариантах — файловый и серверный (трёхзвенка) — у каждого свои достоинства и недостатки;
  • Независимая система учета, которая легко устанавливается и настраивается;
  • Мощная экосистема для программистов со всеми необходимыми объектами и инструментами;
  • Приятный эргономичный интерфейс;
  • Сравнительно недорогое решение для бизнеса;
  • Сеть франчайзи, начальное обучение;
  • Мощная база наработок и знаний, накопленная годами;
  • Временами проблемная платформа для системных администраторов;
  • Не самое быстрое выполнение алгоритмов (хотя и не самое медленное) — это дань информативности (при ошибках указан номер строки и её содержимое);
  • В языке программирования нет классов (наследования, инкапсуляции, полиморфизма), нет анонимных функций и прочих современных фич. Но для решения большинства задач — это и не нужно!

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

Файловая и серверная базы данных


Платформа состоит из нескольких частей и может работать в файловом или серверном варианте.

В файловом варианте вся база данных содержится в одном файле (с расширением «1cd») — платформа устанавливается на каждом компьютере и напрямую читает/пишет в базу данных.

Плюсы файлового варианта — низкая цена и простота развёртывания.

Минусы — структура файла «1cd» закрыта, нет единой системы, взаимодействующей с БД. В результате — сложно использовать при большом числе пользователей (пробовали на 20+ пользователей — работать можно). Кроме того, при размере базы данных примерно 15 ГБ (и более) возникают сбои при проведении динамического обновления. Решать такие сбои — задача сложная, а утилита для починки базы — не всегда эффективно чинит, а иногда и калечит базу.

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

В серверном варианте, платформа для хранения базы данных использует SQL-сервер (обычно, это MS SQL, но начиная с 8.2.14 — можно использовать и некоторые другие например, Firebird PostgreSQL, IBM DB2, Oracle Database), а сама платформа работает использует трехзвенную архитектуру:



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

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

Минусы — цена: покупать придется отдельно клиентские лицензии на каждый клиентский компьютер, отдельно — одну лицензию на сервер 1С, отдельно лицензию на сервер SQL, если не использовать бесплатный. Также иногда возникают сложности в работе базы данных. Они решаются гораздо быстрее за счет доступности данных и наличия внешних инструментов работы с БД. Кроме того, и в этом случае следует делать бекап базы данных.

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

Ещё один плюс: платформа устанавливается очень просто, примерно так: «Далее-Далее-Далее-Ок», не требуется тонкая настройка и установка каких-либо компонент.

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

Это больше, чем бухгалтерия


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

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

Экосистема для программистов


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

ЭлементНоменклатуры.ОсновнойПоставщик.ПолноеНаименование

… приведет к тому, что платформа 1С, используя внутренние механизмы, найдет запись в таблице, соответствующей справочнику «Контрагенты» по идентификатору из поля «ОсновнойПоставщик» элемента номенклатуры и вернёт значения поля, соответствующего полю «ПолноеНаименование» в объектной модели справочника «Контрагенты».

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

Помимо объектов, описывающих данные, существует огромное число системных объектов — для самых разных функций. Выделю некоторые из них:

Хранилища значений

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

СписокЗначений — объект, преимущественно, для работы с интерфейсом пользователя. Помимо данных также для каждого элемента может содержать представление, признак флажка и картинку (пиктограмму). Также имеет методы «ВыбратьЭлемент()» и «ОтметитьЭлементы()» — при вызове которых пользователю показывается интерфейсный диалог (что удобно — не нужно данный диалог создавать в конфигурации).

Структура и Соответствие — хранилища парных значений «КлючИЗначение». В структуре «Ключ» — это строка, подчиняющаяся правилам наименования переменных в 1С (без пробелов, начинаться не с цифры, состоит только из букв, цифр и знака подчеркивания). В соответствии — «Ключ» — это любое значение. Самый шустрый поиск объектов — в соответствии (быстрее, чем в массиве и индексированной таблице значений).

ТаблицаЗначений — очень удобный, и довольно быстрый, объект для хранения и обработки данных. Колонки в таблице значений можно добавлять и удалять, независимо от количества записей. При этом данные в строках не теряются (или удаляются только данные из ячеек, соответствующих удаляемым колонкам). Также, имеет метод «ВыбратьСтроку()», вызывающий диалог выбора строки. Имеются индексы.

ДеревоЗначений — объект, представляющий иерархические данные. Содержит колонки, набор колонок одинаковый для всех записей на всех уровнях. Удаление/Добавление колонок в дереве значений точно так же легко, как и в таблице значений. Также, имеет метод «ВыбратьСтроку()».

Интерфейсные объекты и объекты для работы с различными данными ТекстовыйДокумент, ТабличныйДокумент, Web-браузер, ЧтениеФайла, ЗаписьФайла, ЧтениеZIPФайла, ЗаписьZIPФайла, ЧтениеXML, ЗаписьXML, HTTPЗапрос и ещё много объектов, и по все в конфигураторе есть встроенная справка. Назначение перечисленных объектов видно из их названий и всё это сразу есть в платформе.

Отдельно следует отметить, что имеется объект «Метаданные» — с помощью которого на языке программирования можно изучить структуру данных, а также у каждой ссылки или объекта для справочника, документа, плана счетов, и т.п. есть метод «Метаданные()» — предоставляющий описание данного справочника/документа/плана счетов/ и т.п. в базе данных (какие реквизиты, табличные части имеются, длина кода/номера и т.п.). Часто бывает очень удобно.

И еще отдельно следует упомянуть про объекты: «Запрос», «КонструкторЗапроса», «ПостроительЗапроса», «ПостроительОтчета», «СхемаКомпоновкиДанных». Это семейство реализует набор объектов для работы с мощным языком запросов 1С.

Язык запросов. Запросы в 1С используются только для получения выборки данных с удобным отбором, сортировкой, группировками. В первом приближении это переведенный на русский язык оператор «SELECT» из SQL, однако, в языке запросов 1С имеется и функционал, который отсутствует в SQL, а именно:

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


Язык программирования
По синтаксису язык 1С похож на «русский Паскаль», однако от «Pascal» отличается меньшей строгостью и отсутствием некоторых конструкций:

  • Нет необходимости объявлять переменные — можно инициализировать прямо в тексте модуля;
  • Нет жёсткой типизации переменных. В системе есть типы значений, но для переменных нет строгих правил по типизации. Переменная, хранившая ссылку, может через пару строчек кода уже хранить число или строку;
  • Можно складывать переменные со значениями разных типов, при этом, тип результата будет таким, каким был тип у первой переменной, например:
    к = “25”+1; // к = “251”, не 26
  • Переменные со значениями разных типов можно сравнить на равенство или неравенство (но не на больше-меньше, это вызовет исключение) — естественно, такие переменные не равны;
  • Имеются функции и процедуры, допустимо использовать рекурсию (с ограничением по глубине рекурсии);
  • При указании функции или процедуры без параметров — всё-равно, обязательно указывать пустые скобки в конце: вот_так();
  • Имеются модули: у каждого справочника и документа их несколько, кроме того, модули есть у регистров, отчетов и обработок и у каждой формы, а также в составе конфигурации имеется возможность создавать общие модули;
  • Нет классов, наследования, инкапсуляции, полиморфизма;
  • Функцию нельзя передать как ссылку, нет анонимных функций;
  • Нет обратного цикла (for i:=5 downto 1 do), а он реально нужен при удалении записей. Обходимся чуть более длинной записью через цикл «Пока».


Инструментарий
  • В платформе 1С есть возможность выгружать-загружать конфигурацию, сравнивать конфигурацию с другой конфигурацией и частично загружать изменения;
  • Есть возможность выгружать тексты модулей для их пакетной обработки и загружать обратно в конфигурацию;
  • Если конфигурация находится на поддержке (все конфигурации от 1С изначально на поддержке), то всегда можно выполнить сравнение и посмотреть, что изменялось сторонними разработчиками или местными специалистами;
  • Также есть возможность выгружать / загружать базу данных целиком (вместе с данными);
  • Для коллективной работы над одной конфигурацией используется хранилище конфигурации;
  • Также существует ряд правил внесения изменений в стандартные конфигурации, есть даже документ от 1С, описывающий методики и стандарты изменения типовых конфигураций (да и любых других).


Общее впечатление
Язык 1С сочетает в себе ясность текстов языка «Pascal» с фривольностью работы с переменными языка «BASIC». В нем отсутствует ряд возможностей, присущих современным языкам программирования, но без них вполне можно обойтись. Кроме того, в платформе 1С есть мощный сборщик мусора, т.е. не требуется, например, очищать таблицы после использования или удалять их.

Интерфейс 1С Предприятие 8.2


Фирма 1С уделила особенное внимание интерфейсу своей программы. Прежде всего — это цветовая палитра. Она шикарна! Окна программы узнаваемы даже издалека, при этом за многие годы работы — не вызывают неприязненных ощущений, наоборот — хочется, чтобы все программы были были такими-же классными.
При этом стиль платформы весьма строгий, без рюшечек и прочих излишеств. При этом есть весьма полезные функции, например, запоминание размеров окон (размеры запоминаются только при их изменении пользователем, и, при этом, всегда можно сбросить настройки пользователя — до размеров и позиции по-умолчанию, нажав Alt+Shift+R).
Интерфейс Web-клиента 8.2 вызывает ряд нареканий, но, вроде бы, платформа 8.3 несёт с собой новый переработанный интерфейс — «Такси».

Цены, спрос и предложение, франчайзинг


Самым «вкусным» плюсом платформы 1С является её цена. Особенно, это актуально сейчас, во время кризиса. Ведь 1С — это полностью наш, отечественный продукт. И продаётся она за наши деревянные. Подобные решения от иностранного производителя будут стоить огромных денег. А лицензии на 1С стоят вполне приемлемо.

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

После этой единовременной покупки нужно только подписаться на обновления и раз в год оплачивать продление подписки, т.н. ИТС. К слову, подписка стоит весьма недорого, примерно как две клиентские лицензии.

В целом, всё это выглядит очень выгодно.

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

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

Ложка дёгтя


Расписав во всех красках 1С было бы несправедливо не сказать и о её недостатках, а уж они-то есть:

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

Франчайзи (далее — франчи). В идеале, по задумке, это должны были быть фирмы с квалифицированными специалистами, знающими основные принципы работы конфигураций и платформы. Эти самые фирмы должны были бы продавать платформу, конфигурацию и поддержку, слегка «допиливать» универсальные конфигурации под требования клиента (а временами — корректировать эти требования), стараясь минимально модифицировать стандартную конфигурацию. Так, чтобы не сильно усложнять будущие обновления. А в реальности всё наоборот.

При продаже новых лицензий клиенту франчи получают 50% от их стоимости (за минусом подоходного налога 13% от этих 50%). При этом самим производить ничего не надо, надо только передать ключи от 1С покупателю.

При оказании же услуг франчи не платят фирме 1С ничего (за исключением членских взносов), но зато им нужно платить зарплату сотруднику. Также приходится тратиться на налоги государству — ПФР и подоходный налог.

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

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

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

Эпилог


В этом блоке автор рассказывает о себе
Я перешел на 1С в 2008 году, а до этого работал в фирме, разрабатывающей свою программу бухучета (Delphi 5, затем Delphi 7). Сначала я познакомился с платформой 1С Предприятие 7.7 и меня поразила в ней простота разработки отчетов. При этом было видно, что отчеты формируются намного дольше, чем в похожих механизмах на Delphi, но бухгалтеров это особо не волновало. Подождать несколько минут вместо нескольких секунд — не проблема. Наоборот, можно ногти там накрасить, чайку попить или обсудить последние новости не отрываясь от работы. Ведь подавляющее большинство бухгалтеров в наше время — женщины.
Тем не менее, интерфейс 7.7 был весьма ограничен, а набор объектов — весьма скуден. Я искал альтернативы. Познакомился с внешними компонентами, но до практического применения их не дошло, т.к. начальник решил, что пора бы нам переходить на 8.1 (да, 8.2 тогда ещё не было), а в этой платформе, как программист, я нашёл всё, чего мне не хватало ранее.
В настоящее время имею авторитет среди коллег, а также клиентов, которые перешли ко мне от франчей. С франчами они уже, наверное, никогда больше не свяжутся.

В целом, работой в платформе 1С Предприятие 8 я вполне доволен. Она подходит для решения большинства учетных задач и задач с использованием базы данных.

Similar posts

Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 113

    +12
    >> Платформа 1С [...] — это лучший, а главное — отечественный продукт!
    Не бывает абстрактного «лучшего продукта». Лучший для чего? При выборе из чего? При сравнению по каким характеристикам?
      –5
      Для создания учетной системы. Там, где нужно что-либо учитывать в базе данных, и при этом не требуется высокая производительность (как, например, для поисковых систем). Можно организовывать расписание занятий, учёт коллекции марок, базу данных рецептов блюд, базы знаний и т.п.
        +2
        При выборе из чего? При сравнении по каким характеристикам?
          –3
          Пожалуй, даже более-менее удачного примера не приведу. По простоте и скорости разработки. Да и по надёжности тоже. По своему опыту — писать нечто подобное на Delphi на порядок сложнее.
            +2
            С какими платформами, кроме Delphi, вы сравнивали? С какими СУБД?
              +1
              А есть с чем сравнить? По моему опыту — Delphi + СУБД Paradox / Firebird / немного на SQLite и MS SQL. С ними сравнивать?
                +1
                Например, с .net framework (если мы говорим о платформах уровнем пониже), или с SAP / MS Dynamics, если уровнем повыше, или с Sharepoint, если вам хочется странного. Языки для сравнения мне как-то даже перечислять стыдно, слишком уж список длинный получится.

                Соответственно из БД — MS SQL, Oracle, Postresql, DB2 (документо-ориентированные БД брать не будем, раз уж речь об учете идет).
                0
                Думаю вопрос в цене, в ценовой категории простых решений 1С, конкурентов просто нет.

                П.С. из мира 1С ушел 10 лет назад, но не из за платформы, а из за необходимости общения с бухгалтерами и постоянной смены законодательства.
                  0
                  >> в ценовой категории простых решений 1С, конкурентов просто нет.
                  .net framework + postgresql — бесплатно.

                  (речь идет об использовании 1С для _создания учетной системы_, т.е. как платформы для разработки)
                  • UFO just landed and posted this here
                      0
                      В этом плане вы отчасти правы, но ведь автор говорит:
                      не бухгалтерией единой живет 1С!

                      и тут уже можно спокойно говорить об альтернативах ;)
                        0
                        Все указанное вами это именно вопрос цены, ведь цена складывается не только из цены софта.
                        Затраты на квалифицированный персонал там же.
            +9
            В языке программирования нет классов (наследования, инкапсуляции, полиморфизма), нет анонимных функций и прочих современных фич. Но для решения большинства задач — это и не нужно!

            Вы, конечно, простите меня, но мне кажется, вот за это программистов 1С и недолюбливают в массе своей.
              –2
              За умение обходиться отвёрткой вместо шуруповёрта?
                +1
                За готовность три дня собирать отверткой то, что шуруповертом собирается за три часа.

                (это не говоря о том, что в вашей метафоре правильнее говорить о деревянных клиновых соединениях, навроде ласточкиного хвоста, vs винты с гайками)
                  0
                  Кто ж спорит, что этого не хватает! Письма с просьбами в 1С писали многие и не раз. Интересно, что есть попытки имитации, даже от самой 1С — это Универсальный отчет (на основе которого большинство отчетов в системе и строится).
                    0
                    Так «это не нужно» или «этого не хватает»?

                    Если верить вашему описанию, то универсальный отчет — это вообще о другом.
                      0
                      Без этого можно обойтись. Но с этим было бы проще.
                        0
                        Вопрос в том, зачем без этого обходиться, когда есть куча инструментов разработки, где все это (и не только это) есть? Не проще ли «обойтись без» 1С? Что такого может предоставить 1C взамен отказа от большей части методик управлений сложностью, придуманных в программировании?
                          –1
                          Парадоксально, но именно простоту разработки. Точнее — простоту моделирования баз данных. Фактически, можно сделать рабочую базу данных и без единой строчки кода. Вот от чего не хочется отказываться.
                          Кроме того, в самой платформе 1С заложено много компонентов (прикладных объектов) — и они работают. В то время, как взявшись за написание на Delphi — первым делом нужно найти подходящие компоненты, установить их — и не факт ещё, что всё это будет сразу работать.
                            0
                            >> Фактически, можно сделать рабочую базу данных и без единой строчки кода.
                            Про графические дизайнеры для большей части современных СУБД вы слышали?

                            >> Кроме того, в самой платформе 1С заложено много компонентов (прикладных объектов) — и они работают.
                            Каких, например?

                            (мне почему-то кажется, что для любого названного вами примера можно будет легко найти аналог в современной разработке, только он еще и будет иметь альтернативы)
                              –1
                              >>Про графические дизайнеры для большей части современных СУБД вы слышали?
                              Слышал, но не видел.
                              >>Каких, например?
                              Прикладные объекты — для работы с текстовыми файлами, с двоичными файлами, с ZIP-архивами, построители и компоновщики отчетов (используются не только для отчетов, но и как универсальные фильтры, например).
                              Элементы управления: СписокЗначений, ТаблицаЗначений, ДеревоЗначений, ТабличнаяЧасть, ТекстовыйДокумент, ТабличныйДокумент, Веб-браузер (правда движок древний), ГеографическаяСхема, ГрафическаяСхема.
                                0
                                >> Слышал, но не видел.
                                А они, тем временем, были уже в 2000-ом MS SQL (это из того, что я лично видел своими глазами).

                                >> для работы с текстовыми файлами, с двоичными файлами
                                А для этого нужен _компонент_? Я как-то думал, что чтение файлов — это базовая операция в любой современной библиотеке.

                                >> с ZIP-архивами. Элементы управления: СписокЗначений, ТаблицаЗначений, ДеревоЗначений, ТабличнаяЧасть, ТекстовыйДокумент, ТабличныйДокумент, Веб-браузер (правда движок древний), ГеографическаяСхема, ГрафическаяСхема.
                                Все это (кроме географии, если я не ошибаюсь) есть в том же .net «из коробки». И куча альтернативных компонентов, если встроенные чем-то не радуют.

                                >> универсальные фильтры, например
                                А вы, наверное, про LINQ тоже ничего не слышали?
                                • UFO just landed and posted this here
                                0
                                Да базу данных без строчки кода можно и в Access сделать.
                                  0
                                  Пожалуй. Но тут другая крайность — а что можно кроме самой базы данных в ACCESS сделать (без шаманства)?
                                    0
                                    Формы делаются без шаманства, отчёты тоже. Хотя я не знаю что подразумевается под шаманством.
                                      0
                                      Обращение напрямую к WinAPI, например. Или использование внешних компонент.
                                        0
                                        OCX вроде бы можно было цеплять, да и WinApi кажется тоже вызывались, но врать не хочется я им можно сказать не пользовался.
                                  0
                                  Вот от чего не хочется отказываться.

                                  Любая ORM, в любом современном языке программирования к вашим услугам, вот прям ваша мечта, вы делаете модель, справочник\документ\регистр, а ORM за вас создает\редактирует нужную таблицу в БД ;)
                                    0
                                    А обратно она потом из структуры БД в ORM для дальнейших доработок собрать сможет?
                                    Или только первичное моделирование?
                                    Или как в 1С — хранится некое подобие конфигурации?
                                      0
                                      Дальнейшие доработки тоже делаются в модели, а оттуда транслируются в БД. Ничего «обратно» собирать не надо.
                                        0
                                        Ну начнем с того что в 1С база вам вообще не подвластна. (Про особые извращения я молчу.)
                                        А в других ЯП и ORM есть подходы в которых ты можешь навалять БД вначале, а потом попросить ORM подогнать или создать твои модели (грубо говоря классы, что то типу структуры метаданных в 1С) в соответствии ;)
                                        Это называется миграцией, в конкретном случае database first.
                                          0
                                          Или как в 1С — хранится некое подобие конфигурации?

                                          А по этому вопросу, да, некоторое подобие конфигурации, а точнее подобие структуры метаданных, при ORM подходе это модель, но в отличии от 1С она полностью подвластна тебе, и может создаваться как на основе БД, так и БД на ее основе, так и видоизменятся. Ну и конечно она не зависит от скелета Документы\Регистры\Справочники, она может быть любой. Все в твоих руках.
                                0
                                1С-ники в большинстве своем с некоторой неохотой воспринимают новшества платформы. Для многих 1С — это вообще первый в жизни опыт программирования. Многие из них приходят в 1С не через кафедры информатики а через бухучет и делопроизводство. Я помню с какой болью переходили с семерки на восьмерку. 1С видимо потому и не спешит с усложнением платформы — с предоставлением разработчикам более развитого языка, инструментов профилирования, тестирования и анализа кода, интеграцией с системами управления версий и прочего. Нормальные разработчики в конце-концов понимают недостатки платформы и либо находят порой странные пути их обхода, либо просто бросают 1С. Хотя признаюсь это достаточно трудно, потому как 1С создало гигантскую систему продаж по всему бывшему Союзу и позволяет получать стабильный, относительно (по сравнению с другими видами разработки ПО) легкодоступный доход. Жалко конечно, что 1С не предусматривает гибкости позволяющей удовлетворить как начинающих так и продвинутых разработчиков. Продукт сам по себе конечно неплох — ведь до сих пор никто так и не создал ничего близко к тому, что по серьезному могло бы составить конкуренцию, но отсутствие базовых инструментов разработки — это как нарушение прав человека. Программисты не должны с этим мириться. Одних писем мало. Нужно бойкотировать продукт, нужно найти способ заставить Нуралиевых прислушаться.
                          +2
                          автор забыл упомянуть, какой опыт работы у него был до встречи с 1С. То есть предложение:
                          В целом, работой в платформе 1С Предприятие 8 я вполне доволен.

                          хотелось бы увидеть более развернутым — доволен, зная что существуют такие-то языки программирования, такие то базы, после стольки-то лет работы с такими то инструментами я встретил 1С и понял что все вышеперечисленное мне не нужно.
                          Просто реально хочется понять, что из того инструментария, которым я владею, можно выкинуть и заменить на 1С.
                            0
                            Под спойлером: «Я перешел на 1С в 2008 году, а до этого работал в фирме, разрабатывающей свою программу бухучета (Delphi 5, затем Delphi 7). „
                              +1
                              Точно, не увидел.
                              Ок, так и запишем — Делфи из toolkit-а можно будет выкинуть(когда он там появится) и заменить на 1С. Вопросов больше не имею.
                            0
                            Процитирую тут своего одногруппника, как раз таки сишника, которого судьба заставила автоматизировать семейный бизнес:
                            1С вызывает двоякие ощущения, с одной стороны вызывают дикий восторг её возможности и продуманность в плане учёта чего бы то ни было и возможность в пару кликов менять структуру базы данных (не прикасаясь к клавиатуре), с другой стороны она вызывает дикое уныние от того, как криво в ней многое реализовано и какими извращёнными методами приходиться делать казалось бы простые вещи.
                            В общем говоря, 1С просто сильно отличается от многих инструментов, знакомых обычным программистам, как следствие — вызывает butthurt при работе с ней.
                              0
                              Начиная с некоторого количества набитых шишек (а так же переломанных рук и отстреленных ног) «возможность в пару кликов менять структуру базы данных (не прикасаясь к клавиатуре)» вызывает сильнейшее отторжение.
                                0
                                1С не позволит отстрелить себе ногу и руку. То есть удалить реквизит (поле) из таблицы в случае если таблица не пустая — система не даст.
                                  0
                                  Это не «отстрелить себе руку и ногу», это мелкие царапины. Намного хуже, когда в пару кликов ты так меняешь структуру данных, что через месяц система может только ползать, а поменять ее обратно уже не можешь, потому что от накликанного уже зависит 100500 объектов, которые ты не можешь отследить, потому что трекинга зависимостей тоже нет.
                                    0
                                    Э-э-э, а можно пример? Что-то не соображу, что можно такого накликать, чтобы система стала еле ползать? Можно регистры не закрывать, но это кривой код нужно писать. Кликами тут не обойтись.
                                      0
                                      Нормализованное хранилище с очень большой иерархией ссылок, например. Или хранилище, которое нельзя адекватно проиндексировать, а потом захотеть по нему поиск.
                                        0
                                        Простите, я в 1С уже очень давно не разрабатываю. Хранилище это что?
                                          0
                                          А вы коммент, на который отвечали, не читали?

                                          «возможность в пару кликов менять структуру базы данных»
                                            0
                                            Ну да, я могу добавить в пару кликов в справочник пару реквизитов, изменив структуру БД, но на производительности системы это никак не скажется. Аналогично и с документами и с регистрами.
                                              0
                                              Правда не скажется? То есть можно сделать справочник любого размера с любыми атрибутами, и это не будет влиять не производительность?

                                              И иерархические объекты с автоматическим разыменовыванием тоже на производительность не влияют?
                                                0
                                                Я понял о чем Вы. Согласен.
                                    0
                                    Любая нормально спроектированная БД на практическии любой современной СУБД этого не даст сделать. Не засчитываем :)
                                +1
                                При ошибках указан номер строки и её содержимое.

                                Вау. В паскале такого не было.
                                Объектная модель базы данных.

                                Ну просто ORM какой-то.
                                По синтаксису язык 1С похож на «русский Паскаль»

                                Скорее на VBS, да и вообще на любой сценарный («скриптовый») язык.

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

                                  При наличии исходника программы, в режиме отладки, да и то — не всегда. Ошибки типа «Access violation», например, зачастую не позиционируются.
                                  А когда ты эту программу демонстрируешь покупателю на его компе — и вылетает ошибка, номера строки там, увы, нету только адрес в памяти…
                                    +2
                                    А сколько таких ошибок в 1С? Ошибки СУБД, сетевого доступа, сервера, заветная кнопочка «подробнее» с проблемной строкой далеко не всегда «радует» своим появлением.
                                    Да и вообще смешно говорить об средствах отладки в контексте 1С, ведь именно их, не хватает в первую очередь в среде программирования 1С, по сравнению с теми же Visual Studio или Eclipse.
                                    Сам недавно открывал конфигуратор, и после VS, лицезреть эти пустые панельки, чувство, словно твою квартиру напрочь вычистили %)
                                      –2
                                      Ошибки СУБД попадались при обновлении конфигурации. Для них, как и ошибок сетевого доступа — номер строки и не нужен (ошибка не в самой конфигурации, а сбой в работе).
                                    0
                                    Покажите мне продукт, на котором можно с такими-же или меньшими трудозатратами сваять учетную систему, аналогичную той, что можно сделать в 1С и я буду на работать на нем.
                                      +2
                                      Вы не поверите но C#.
                                      Я занимаюсь тем же, чем раньше занимался в 1С, пишу учетные системы, только на С#. И если что-то и делается субъективно сложнее, то результат объективно окупается ;)

                                      Просто представьте себе более мощный язык, более удобную IDE, отсутствие рамок «каркаса конфигурации документы\справочники\регистры», и представьте два момента из жизни новой учетной системы на C#:

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

                                      2. Непосредственное написание, внедрение и доработка. И здесь вы сполна наслаждаетесь могуществом языка, и тому что метаданные всецело ваши. База данных тоже ваша, ваши запросы не километровые но человеко-читаемые, поддаются нормальной оптимизации. На этом этапе все возможно, и вам не приходится изобретать велосипеды и пытаться пихать невпихуемое.
                                        0
                                        Да — С# крутой язык! И становится круче и круче. А VS 2017 — просто песня! :)
                                        Очень нравится))
                                        Но все же пока С# для меня только хобби. На работе очень большой проект на 1С, внедренный штатными силами разрабов. Пока никто от 1С уходить не планирует. Я в глубине души мечтаю о переходе дабы больше реального опыта получить по С#. Но это лишь мечты.

                                        Не предвзят ни к одному из ЯП. Тащусь как от 1С (и тащусь и в тоже время сетую на недостатки) так и от С# (тащусь от крутости, сетую на недостаток опыта, временами).
                                        Думаю каждому своя ниша. Но в тоже время легко можно одно заменить другим, дело предпочтений, привычки, окупаемости)
                                        0
                                        В продолжение предыдущего моего комментария:
                                        Конечно вы можете сказать "-Но в 1С уже написаны готовые конфигурации". Но тогда вы просто продавец чужого кода. Купи дешевле продай дороже. На что вы наверно ответите "-Я ведь их чуть-чуть дорабатываю, накатываю обновления" (чужой труд), на что я вам отвечу: Так придите в компанию которая уже написала свою учетную систему на Java\C#\Что-угодно, и дорабатывайте ее, будете заниматься тем же, чем и в 1С, допиливать готовые решения, но на куда более нормальном ЯП;)
                                          0
                                          То есть на первом этапе надо затратить кучу времени, чтобы написать некий каркас, а потом на этом каркасе «ваять» некую УС?
                                          А через какое то время нужно будет сделать другую УС под другие требование и опять начинать с «каркаса»? При этом заказчик получает «кота в мешке», который может сопровождать только тот человек, который «каркас» строил (если не передали исходники).
                                          1С предназначена для автоматизации учета и, на мой взгляд, вполне справляется со своей задачей. Написать свою УС с нуля на 1С, по трудозатратам, выйдет значительно дешевле, чем на любом другом языке, а то, что нельзя сделать средствами встроенного языка — можно переложить на внешние компоненты.
                                            0
                                            >> на первом этапе надо затратить кучу времени, чтобы написать некий каркас
                                            Вообще-то, их готовых уже есть. А у каждой компании, которая делает хоть сколько-нибудь тиражируемые решения — есть свой уровнем повыше.

                                            >> А через какое то время нужно будет сделать другую УС под другие требование и опять начинать с «каркаса»?
                                            Конечно — требования-то другие.

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

                                              Про написание новой УС вообще смешно читать, вы будучи 1С разработчиком часто пишите новые УС? 99% разработчиков всего лишь допиливают уже готовые конфигурации, даже не удосуживаясь разобраться во всем том что может уже написанная УТП, УПП. Да, некоторые пишут свои мини УС, но они на столько примитивны что за такое же количество времени их можно написать и на чем то другом. И в данном случае тот каркас из «документы/регистры/справочники» который «о великая благодать уже есть и его не нужно писать с нуля» излишен, а в тех местах где действительно нужен, можно и повторить.

                                              Ну и напоследок: никто не мешает вам использовать готовый, или написать свой каркас, и на нем строить свои новые решения, такой подход называется «Framework », слышали? Это слово с английского даже переводится как «каркас», и для тех вещей которые действительно удобно строить на каркасы, такие фреймворки уже написаны. А документы\регистры\справочники это так, попытка дать недоклассы, в надежде что так будет удобнее, но нет.

                                              P.S. Комментатор выше отлично дополнил мои мысли, на те вопросы, которые я упустил из виду.
                                          +1
                                          Мне кажется, не совсем уместно сравнивать 1С и классические ЯП. Ведь 1С — это в чистом виде прикладное программирование, то есть решение сугубо специфических задач в области учета/управления предприятием под конкретную платформу.

                                          Ближайшие аналоги — VBA; JS в ERP Галактика и т.д.
                                            0
                                            Ну так автор-то и с ними тоже не сравнивает.
                                          • UFO just landed and posted this here
                                              0
                                              Ну по крайней мере (на мой взгляд), с 1С более комфортно работать с эстетической точки зрения, чем с...
                                              image

                                              Хотя функциональность у Галактики больше, и вообще это системы разных уровней.

                                              А вообще интерфейсы корпоративных систем далеки от совершенства…
                                              • UFO just landed and posted this here
                                                  0
                                                  Ну да, расскажите нам про «лидера рынка» SAP и его интуитивно понятный интерфейс.
                                                  • UFO just landed and posted this here
                                              0
                                              Работаю программистом 1С 7 лет. Пока не было с чем сравнивать все устраивало и нравилось. Но почти год назад открыл для себя Ruby on Rails и теперь…
                                              В общем:
                                              — среда разработки на уровне VS 1995 года. Подсветку парных конструкций, поиск в дереве объектов конфигурации реализовали в середине 2014, а построчное сравнение объединение процедур и функций, наверное, не реализуют никогда. Если для разработчиков на нормальных ЯП среда разработки — это некое уютное окружение откуда не всегда требуется и выходить/переключаться, то конфигуратор 1С как общественная столовая. Хотите назначить хоткей? Ну что ж, хотите дальше.
                                              — Хранилище конфигурации. Это лучше чем ничего, но Git лучше в разы
                                              — Отсутствие документации. Платформа поддерживает линукс, но если она не запустится Вас ожидает день чтения кучи статей на тему Как установить. Официальная документация на этот счет содержит 12 строк.
                                              — Техподдержка находится за десятком рубежей. Причины понятны, но следствие этого — никакой оперативной поддержки.
                                              — Новое веяние — все конфигурации на БСП (библиотека стандартных подсистем). Это ~150 никак не документированных модулей и еще куча всего в довесок сжатым весом 80 Мб. Такой спагетти код еще поискать нужно. ООП решило бы этот вопрос.
                                              — Ресурсоемкость — В 8.3 в файловом режиме на достаточно мощной рабочей станции работать может быть не комфортно. Запуск ОС занимает в 3-4 раза меньше времени чем запуск приложения.
                                              — Ну и напоследок небольшое преувеличение: ОбщегоНазначенияДляКакойТоНеведомойФигниКлиентСерверПереопределяемыйИмениБорисаГеоргиевичаНуралиева
                                                0
                                                Спешу вас обрадовать:

                                                — в 8.3.7 появилась нормальная выгрузка всей конфигурации в тестовые файлы. Теперь можно использовать любую систему контроля версий для хранения, мерджа, просмотра изменений конфигурации. В том числе Git.
                                                — активно пилится 1С Development Tools — IDE для 1C на основе Eclipse

                                                Насчет преувеличения — хотелось бы, конечно, увидеть в 1С средства по уменьшению подобных сложностей. Например, пространства имен.
                                                –3
                                                irony
                                                Как программист, выбравший БРЮКВУ, считаю данное мнение необоснованным. БРЮКВА — далеко не идеал, но, на мой взгляд, — это лучший, а главное — отечественный продукт!
                                                /irony
                                                  0
                                                  Уважаемый топикстартер!

                                                  А с каких пор 1с работает с firebird?
                                                  Что-то не вижу ее по ссылке!
                                                    0
                                                    Спасибо за замечание. Исправил ошибку (PostgreSQL, IBM DB2, Oracle Database).
                                                    0
                                                    Программисты не любят 1С-ников, потому что те называют программированием то, что по сути программированием и назвать то нельзя. Примерно также как если бы маляр представлялся бы художником или иллюстратором. Человек научившийся в Экселе использовать функции, не становиться вдруг программистом. Даже когда он находит макросы и начинает использовать VBA, создание таблиц в Экселе не превращается вдруг в программирование.
                                                      0
                                                      Предположим человек научился в Экселе использовать VBA, с его помощью он получает данные от SOAP web-сервиса, соединяет их с данными из БД выводит их в таблицу в красивом виде, после редактирования он с помощью все того же VBA пишет в БД результаты работы.
                                                      Создание таких таблиц превращается вдруг в программирование?
                                                        0
                                                        Маляр разбирающийся в краске, выливающий гипсовый орнамент для украшения стен, использующий десяток разных видов кистей субъективно может называться художником. Но в глазах настоящего художника он так и останется маляром, пока не нарисует хотя бы двух-трех мало-мальски пригодных полотен.
                                                          0
                                                          Да. Написание кода на VBA — это программирование.
                                                          Чем заняться айтишнику в армии или как я на VBA игры писал — по Вашему, это не программист?
                                                          0
                                                          Дайте определение «Программист», и в чём именно 1С-ники этому определению не соответствуют.
                                                          Программист (Википедия)
                                                          Программирование
                                                          Непризнавание 1С-ников программистами, только потому, что они выбрали для себя 1С — по сути дискриминация. Это своего рода расизм!
                                                            0
                                                            Я и сам занимался 1С-ом начиная с версии 6 и вплоть до 8.1. И даже тогда я считал это «недопрограммированием». К 1Су непосредственно претензии можно высказать вкратце так: они монополизировали рынок, на государственном уровне пихают свой продукт, гребут бабло контейнерами, а отношение как с своим франчайзи так и к конечным пользователям продукта как было наплевательским так судя по статье и комментариям и осталось. Конечно то что 1С как среда кхм. разработки — с точки зрения нормального разработчика это извините говно в желто-красной коробке, конечно же не вина огромной армии 1С-ников. Тем не менее, даже самый искусный лекарь — не врач, пока не получил соотвествующего опыта, необходимых инструментов и навыков для их применения.
                                                            • UFO just landed and posted this here
                                                                0
                                                                Откровенное невежество и ерунда, и вы считаете себя программистом?
                                                                1С — Тьюринг полный ЯП. т.к. можно даже симулировать на нем машину Тьюринга.
                                                                SQL без процедурных расширений не ЯП, с ними уже да.
                                                                HTML вообще не к месту, это язык разметки.
                                                                  0
                                                                  Поясните, пожалуйста: какую вычислимую функцию нельзя реализовать в языке 1С (но при этом, можно реализовать на «полноценном ЯП»)?
                                                                    0
                                                                    Товарищ очень тупит и при том пытается кинуть умным словом, не обращайте внимание.
                                                                    • UFO just landed and posted this here
                                                              0
                                                              Программирование программированию рознь и спор этот вечен.
                                                              Моя скромная позиция интегратора примерно такова:

                                                              1. 1С не самое плохое решение и не самое хорошее. Но в своей нише (цена/функциональность) крупных конкуррентов у системы нет. Enterprise продукты, позволяющие строить аналогичные УС проще/быстрее/каноничней/понятней стоят в несколько раз дороже. Если у вас работает 20-100 человек — вы, скорее всего, выберете 1С и это будет даже дешевле, чем если начнеете писать с нуля.
                                                              2. У 1С есть потолок. И по количеству данных и по качеству. Рано или поздно производительность начнет деградировать, а необходимость привнести в данные новых связей — вызывать желание напится.
                                                              3. Переезд в «enterprise» из 1С — это отдельный цирк с конями. Вообще на мой взгляд самые сложные миграции данных (если не брать в расчет документоориентированные вещи) — миграция с 1С куда угодно.

                                                              Ну и да, 1С — это, все таки, не язык. Это фреймворк уровнем выше, чем пресловутый .net.
                                                                0
                                                                Все просто, я на 1С решу любую задачу управленческого или бухгалтерского учета для бизнеса в 10 раз быстрее, чем программист на любой другой платформе. Это решающий фактор.
                                                                  0
                                                                  Все просто, я на 1С решу любую задачу управленческого или бухгалтерского учета для бизнеса в 10 раз быстрее, чем программист на любой другой платформе. Это решающий фактор.

                                                                  Вот прямо вот любую, без ограничений?
                                                                    0
                                                                    Я в своем комментарии указал ограничения в виде бухгалтерского и управленческого учета.
                                                                      0
                                                                      Это-то было понятно. Но вот задачи бухгалтерского и управленческого учета — любые? В любой юрисдикции, любой отрасли?

                                                                      (а задачи интеграции, скажем, с баркод-сканерами вы тоже считаете? а с другими учетными системами? а с другими системами, связанными с ведением бизнеса?)
                                                                        0
                                                                        Вы сейчас перечислили тривиальные задачи в моей сфере деятельности, я ими занимаюсь каждый день. Так что ответ на ваш вопрос — да.
                                                                          0
                                                                          (О, правда, вы каждый день интегрируетесь с аваларой и UPS?)

                                                                          Поделитесь вашей оценкой, за сколько вы сделаете полноценную интеграцию с внешней учетной системой, использующей веб-сервисы (конечно же, пропьетарный формат) и имеющей свои требования к рабочему процессу — ну вот, скажем, ФССП подойдет (конечно же, с учетом требований СМЭВ)?
                                                                            0
                                                                            … или вот, скажем, тоже милая задача: отдать данные из вашей учетной системы в Power BI, а потом вставить из него индикатор в вашу учетную систему.
                                                                              0
                                                                              Да, правда. Любая оценка проекта интеграции с учетной системой будет на основе обследования и ТЗ, но не с ваших слов, думаю это логично и понятно. А ваш биай интегрировали за неделю.
                                                                                0
                                                                                Любая оценка проекта интеграции с учетной системой будет на основе обследования и ТЗ

                                                                                Как мило: сказать, что вы ее сделаете в десять раз быстрее, вы можете без обследования и ТЗ, но вот сказать, сколько времени это займет — не можете.

                                                                                А ваш биай интегрировали за неделю.

                                                                                Сколько из этого заняла вставка индикатора в вашу систему?
                                                                                –1
                                                                                Вы не много не понимаете, я — интегратор, а не просто разработчик)) И такие проектики — как орешки)))
                                                                                  0
                                                                                  Вы не много не понимаете, я — интегратор, а не просто разработчик

                                                                                  Вы так говорите, как будто (хороший) интегратор чем-то отличается от разработчика.
                                                                                    –1
                                                                                    Да, отличается.
                                                                                      0
                                                                                      И чем же?
                                                                                        –1
                                                                                        Интегратор работает с готовым продуктом, я не думал, что таких вещи нужно объяснять на хабре.
                                                                                          0
                                                                                          Во-первых, не обязательно продуктом: иногда интегрируют системы, которые не являются продуктами. Во-вторых, сложная интеграция редко обходится без разработки (иногда в интегрирующем слое, иногда в интегрируемых системах).

                                                                                          Что же вы делаете, когда "готовый продукт", который вам надо интегрировать, не имеет нужной функциональности?
                                                                                            0
                                                                                            Перестаньте писать очевидные вещи, а понижение кармы — не придает вашим словам веса, не обижайтесь на мои слова, почитайте книжки, и тогда тогда вы будете хоть что-то понимать, а главное различать процессы разработки и интеграции. Поверьте, это разные вещи.
                                                                                              0
                                                                                              почитайте книжки, и тогда тогда вы будете хоть что-то понимать

                                                                                              So nice.

                                                                                              главное различать процессы разработки и интеграции

                                                                                              На основании чего вы утверждаете, что процесс интеграции не является процессом разработки?
                                                                                                –2
                                                                                                очень очень толсто
                                                                                                  0
                                                                                                  Ну понятно, заявления есть, а аргументов нет. Как обычно.
                                                                                                    –2
                                                                                                    какие аргументы могут быть человеку, который не видит разницы между процессом разработки и интеграции, адиос, оставляю вас одного, на едине со своими фантазиями. Больше читайте, тогда будут вам аргументы, а пока вы не понимаете основ, то уныло перед вами распыляться. Пока пока
                                                                                                      –1
                                                                                                      какие аргументы могут быть человеку, который не видит разницы между процессом разработки и интеграции,

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

                                                                                                      Больше читайте

                                                                                                      Если вы так много читали, вам не составит труда дать ссылку на конкретную книгу, подтверждающую ваши заявления в этом треде?
                                                                                                        –2
                                                                                                        Пока пока, оставляю вас на едине со своей некомпетентностью.
                                                                        0
                                                                        Это конечно хорошо, но попробуйте следующее:

                                                                        • Отобразить в управляемом приложении надпись с часами на форме и строку поиска.
                                                                        • Время должно отображаться в секундах
                                                                        • Попробуйте ввести в строку поиска "Любой текст, чем длиннее тем лучше".
                                                                          0
                                                                          Я последние лет 5 стараюсь как можно дальше отстраниться от 1С, но справедливости ради — я не очень понимаю где тут задача управленческого или финансового учета. Конечно можно за уши притянуть, что раз директор захотел часики на форме — это управленческий учет, но повторюсь — притянуто за уши. Работа с многопоточностью и производительность — это точно не то, чем 1С может гордиться, однако согласен с предыдущим оратором, 95% задач упр и бух учета решаются опытным разработчиком в разы быстрей, чем на обычных языках.
                                                                            0
                                                                            Насчет времени — можно сделать через обработчик ожидания (аналог таймера). Три строки кода в 2 процедурах, работает.
                                                                            Насчет строки поиска: что и где искать нужно? Если нужно текстовое поле — то просто добавьте его на форму, укажите тип значения строка, длина 0 (неограниченная).
                                                                              0
                                                                              Я знаю как это сделать. Вы просто попробуйте, запустите и проверьте, что можете написать в поле хоть что-нибудь.
                                                                                0
                                                                                При обновлении времени — текст стирается. Полагаю, это глюк управляемой платформы. На обычном приложении — не проявляется. Надо написать в 1С, чтобы они пофиксили. Если Вам нужно срочно — то как вариант — использовать поле HTML-документа. Первый же скрипт, найденный поиском — нормально работает.
                                                                                «Мы всё это делаем, а если серьёзно — зачем?»
                                                                        0
                                                                        Спасибо за интересную и патриотичную статью. (Патриотичную по отношению к 1С и к отечественным продуктам).

                                                                        Я тоже начинал карьеру как программист Delphi / MS SQL. Продукт по таможенным декларациям и прочим расчетами писали. Затем данные проекты переехали на С#.
                                                                        Ещё на последнем курсе колледжа, пытался работать на 1С 7.7. Меня учил один хороший знакомый который зарабатывал этим на хлеб. Но честно сказать, отсутствие опыта, и некоторые предвзятости — не дали мне освоиться в данной сфере. Было это в 2006м году. С 2007 по август 2012 года писал на Дельфи, в основном.

                                                                        И тут случайно увидел видео курсы Павла Чистова, по 1С 8.2. Скачал, установил, увидел запросы похожие на MS SQL, увидел управляемые формы. Все те фичи, которых так не хватало в 7.7. И тут я без опыта, бросился на это дело. Сменил работу. И до сих пор радуюсь этой платформе))
                                                                        Основное мое преимущество в сфере 1С — мой опыт разработки ООП приложений, работа с базами и т.п. Есть понимание того — как это работает на более низком уровне. Что позволяет хорошо оптимизировать свои обработки и запросы.

                                                                        В общем — 1С изменил мою жизнь в лучшую сторону! Я с радостью наблюдаю за развитием платформы и с радостью пишу на ней очень интересные подсистемы, запросы и т.п.

                                                                        p.s.
                                                                        На досуге пописываю на С#, чисто для себя, как хобби. Но для бизнеса, даже для очень крупного бизнеса — 1С очень хорошая и практичная платформа.

                                                                        Only users with full accounts can post comments. Log in, please.