Боремся со стереотипами: автоматизация логистики на базе 1С, некоторые правовые вопросы
Что называется, по долгу службы, мы часто общаемся с компаниями, деятельность которых относится к транспортной логистике , по вопросам автоматизации управления на базе 1С Предприятия.
При этом, из раза в раз, сталкиваемся с одними и теми же стереотипами в отношении 1С:
-
Вы собрались автоматизировать логистику на 1С Бухгалтерии ?
-
У 1С интерфейс ненаглядный(видимо вспоминая как выглядит 1С Бухгалтерия), как я буду управлять выполнием заказов ?
-
А не будет проблем с производительностью 1С, логистика бизнес оперативный, я не могу ждать формирования отчета по 10-ть минут?
И так далее. Что-ж, давайте последовательно разберем, проанализируем и обоснуем, почему же мы считаем 1С Предприятие, оптимальной платформой для логистики. Начнем с приведенных выше вопросов:
-
«Вы собрались автоматизировать логистику на 1С Бухгалтерии ?» - нужно понимать, что 1С это не только 1С Бухгалтерия, сколько, в первую очередь, платформа разработки «1С Предприятие», которая по своим возможностям мало чем уступает, а кое в чем и превосходит, известные всем девелоперам средства наподобие Delphi, Microsoft .net и пр… Ассоциация с 1С Бухгалтерией, впрочем, является вполне естественной т.к. 1С Бухгалтерия это первая КОНФИГУРАЦИЯ (читай программа) разработанная на базе 1С Предприятии, и поэтому, широко известная.
-
«У 1С интерфейс ненаглядный.....» - учитывая, что интерфейс 1С Бухгалтерии, наглядностью, по ряду причин, впрочем вполне объективных, не блещет, то встречаем подобные вопросы с пониманием, и демонстрируем специализированные отраслевые интерфейсы своего решения DATACore: LMS , разработанного на 1С.
-
«А не будет проблем с производительностью 1С ......» - тут, как и везде (Delphi, .Net и пр.), дело не сколько в платформе разработки сколько в квалификации разработчиков. В случае с 1С – достаточно, грамотно и к месту использовать так называемые регистры, и своевременно принять решение о переходе на так называемую клиент-серверную архитектуру. Дело в том, что 1С Предприятие достаточно гибкая платформа, и до определенного количества пользователей, вполне может работать без сервера управления базами данных (СУБД), решая при этом все задачи и, экономя средства клиента. Однако, с преодолением количества пользователей некой величины (обычно она варьируется от 5-ти до 10-ти одновременно работающих пользователей), строго необходимым является перевод 1С на работу в клиент-серверном варианте т.е. с использованием выделенного сервера управления базами данных. Другими словами, если разработчики грамотные, то для пользователя разницы в работе систем на базе 1С и .Net не будет. Хотя, необходимо отметить, что в силу архитектурных особенностей 1С (именно эти архитектурные особенности дают 1С перечисленные ниже существенные преимущества), решения на базе .Net и других платформ будут более производительными.
Теперь необходимо отметить следующие, весьма существенные, преимущества 1С Предпряития:
- Стоимость проектов на базе 1С, как правило, существенно меньше, чем при использовании «традиционных средств разработки» (Delphi, .Net и пр.). И вот почему – на 1С, объективно, меньше трудоемкость разработки и внедрения. Объясним – 1С имеет важную особенность по сравнению с «традиционными» средствами, программисту 1С нет необходимости разрабатывать структуру базы данных, программировать базу данных (СУБД), вместо этого он оперирует объектами платформы 1С Предприятия (документы, справочники, регистры, отчеты и пр.). Далее, 1С Предприятие, в свою очередь, самостоятельно транслирует созданную разработчиком структуру объектов и данных в таблицы, хранимые процедуры, триггеры и другие элементы конкретной СУБД (должны сказать, что 1С поддерживает практически все нам известные СУБД от Oracle, Microsoft, DB 2 до бесплатной Postgree и, позволяет, очень легко мигрировать с одной СУБД на другую). Что касается «традиционных» средств разработки (Delphi, .Net и пр.), то они требуют отдельной разработки структуры базы данных, таблиц, хранимых процедур, триггеров и т.д.. На практике, это приводит к тому, что «традиционные» средства разработки требуют заметно большего количества специалистов, т.е. заметно большей трудоемкости, времени и, как следствие, стоимости, разработки по сравнению с 1С Предприятием.
-
Отдельной головной болью и узким местом «традиционных» средств становится и скорость внесения изменений во внедряемое решение. Взять, хотя бы банальное, добавление нового поля в документ. Что делает разработчик 1С – открывает конфигурацию, открывает документ, добавляет поле указывает его тип и все, все остальное делает платформа 1С Предприятия. Что происходит в аналогичной ситуации, скажем с Delphi проектом. Разработчик/архитектор базы данных решает реквизитный состав какой таблицы необходимо дополнить требуемым полем, добавляет это поле, далее ищет все хранимые процедуры, функции и триггеры базы данных, которые работают с этой таблицей, модифицирует их с учётом того, что в таблице появилось новое поле. Это еще не все, далее разработчик интерфейсов (т.е. пользовательских интерфейсов самого приложения) добавляет поле в состав отображаемой экранной формы реквизитов , проверяет работоспособность. Вывод – при внедрении системы, 1С Предприятие имеет существенное преимущество в скорости внесения изменений, позволяет делать это, в хорошем смысле этого слова, «на коленке».
-
1С Предприятие – это интерпретатор, не вдаваясь в теорию, для работы конфигурации на базе 1С Предприятия необходим исходный код конфигурации. Другими словами, если у Вас система на базе 1С Предприятия значит у Вас есть весь исходный код системы, иначе она не будет работать. Попробуйте получить исходный код системы у «традиционных» разработчиков (Delphi, .Net) – услышите в ответ, весьма интересные и немаленькие суммы, выраженные в денежных единицах. Итак, 1С Предприятие имеет открытый исходный код, что дает Вам весомые преимущества.
-
Обладание исходными кодами позволяет Вам быть независимым от разработчика. В России очень много компаний-разработчиков на 1С Предприятии. Вы не зависите от конкретного разработчика - это Ваша безопасность. И дело тут вовсе не в том, что разработчики плохие, а в том, что в нашей суровой действительности, компания разработчик, как впрочем и любая другая, может внезапно прекратить свое существование по массе объективных причин.
-
Что, спрашивается, Вы будете делать с информационной системой на .net, без исходных кодов, и с внезапно почившим или ставшим неадекватным в своей ценовой политике вендором ?
-
Объем передаваемых прав на интеллектуальную собственность. Вопрос - на который очень мало кто обращает внимание, а зря. Последствия, от этого могут быть, без преувеличения, катастрофические. Во-первых, любая разработка/программа/система по умолчанию является интеллектуальной собственностью разработчика. Во вторых, если договором с разработчиком, явно не предусмотрено другое, Вам по умолчанию(в соответствии с законодательством) переходит только право пользования результатом разработки. Считаете что этого достаточно? А как же необходимость самостоятельного, или с привлечением другого вендора, внесения изменений в систему? На это нужно соответствующее право – его нужно прописывать в договоре явно, нужны исходные коды. В этих вопросах, 1С Предприятие предпочтительней – в силу своего устройства, конфигурация 1С не сможет работать без исходных кодов. А раз разработчику в любом случае передавать Вам исходные коды, то и в вопросах прав, 1С-вендоры гораздо лояльнее остальных «традиционалистов».
Предвидим резонный вопрос – а есть ли в таком случае у 1С недостатки. Да, есть, 1С, как и любая другая платформа имеет свои оптимальные сферы применения. Производительность 1С решений вполне достаточная, но все же ниже «традиционных». С другой стороны, производительность «железа» сейчас такая, что разницы Вы не заметите, а если заметите – то за приблизительно 10% от разницы стоимости .Net – 1C, Вы, все эти вопросы решите, произведя апгрейд сервера. Тем не менее, мы бы не стали, например, использовать 1С для экстремально нагруженных систем, работающих в режиме реального времени – например биллинг энергосетевых компаний и сотовых операторов, где кол-во транзакций в секунду может исчисляться миллионами, и где, на низком уровне, требуется управлять всеми аппаратными и программными ресурсами. Так-же, не стали бы использовать 1С для инженерных и научных расчётов, где помимо их наукоемкости, так же требуется и развитые средства визуализации результатов . Ну а для всех остальных, повседневных и не очень бизнес-задачах альтернативы 1С на наш взгляд – нет.
Автор - Купрашевич Ю.М.