Comments 56
>О том, кто такое 1С программисты
Это опечатка или авторское мнение? )
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Все же это пост не для программистов, т.к. не приоткрывает завесу над возможностями платформы и спектром задач, которые приходится решать. Однако, для новичка, которые выбирает кем ему стать в ИТ, если денег хочется, а язык не важен — весьма полезно.
UFO landed and left these words here
вы мой комментарий-то читали, уважаемый? я не сказал, что ваша статья раскрывает. Я сказал, что новичку поможет. Статью прочитал. Сам бывший 1С-ник. Статью вашу плюсанул, т.к. не люблю, когда тут огульно все опускают статьи про 1С.

Вы же довольно агрессивно реагируете на комментарии.
UFO landed and left these words here
С другой стороны, «тонкий» клиент имеет определенные ограничения в работе, есть вещи, которые в нем сделать невозможно.

А что именно (для примера)?
UFO landed and left these words here
Программистам будет интересно узнать, что:

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

Я так понимаю, это вводная-вводная статья?

А вот что мне лично хотелось бы услышать в более детальных статьях:

— Как организовать коллективную разработку для 1С?
— Есть ли контроль версий для 1С? Можно ли использовать внешний?
— Автоматическое тестирование и 1С — реально ли это?

Буду признателен, если напишете об этом.
И вдогонку, еще интересная тема, перед автотестами:

-Юнит-тесты и 1С — реально ли это, нужно ли это?
Круто! Не ожидал, что это есть. Когда я был 1С программистом, такого еще не придумали :)
UFO landed and left these words here
Совсем малому тесты точно не нужны. Малый бизнес ставит ПО из «коробки» и работает. Тесты нужны тем, кто пишет код.
Совсем малый бизнес вызывает «умного мальчика», добавить еще одно поле в отчет, который пишет код без юнит-тестов вечерами. А потом валит базу при обновлении :)
Это сути не меняет. Очень малому бизнесу часто не так критично падение базы. Главное, чтобы к налоговому периоду отчет напечатался. Поэтому, они готовы терпеть криворукого мальчика, лишь бы было дешево и быстро. Более серьезный бизнес при таком отношении к написанию кода начинает терять больше, чем приобретать. Про крупный как бы и говорить не стоит. Вывод: тесты нужны.
Не вполне соглашусь. Сам был очень мелким лавочником, но работа базы была критична — от этого зависела ежедневная торговля, а он ежедневной торговли зависело само существование лавочки. База тоже нужна.
Ежедневные бекапы базы и система ротации — не помогают в этом? И взять за правило — сделай бекап перед обновлением.
UFO landed and left these words here
«База данных в 1С не реляционная, а объектно-ориентированная.»
А где бы об этом узнать? А то очень не похоже на правду.
UFO landed and left these words here
Да, храниться в таблицах. Есть свой язык запросов похожий на переведённый SQL, но он не позволял изменять данные. Есть Объектный доступ к данным, но в нём нет нормальных выборок. Т.е. на Объектно-ориентированную базу не тянет, вот ORM — есть и неплохой.
Если это так, то мне интересно какой извращённый мозг придумал хранить такие данные в реляционных базах данных? Цитирую:
Это могут быть MySQL, Oracle или другой вариант организации баз данных.
Ну а файловое решение в 2015 году — это тоже круто! Хотя там свой велосипед, скорее всего.
База данных в 1С не реляционная


Чо-чо-чо???
База в 1С реляционная, по выбору между MS-SQL, Postgre, IBM DB2, Oracle и собственный файл-серверный движок. Сверху над этой базой построен вполне себе неплохой ORM. Про какую-такую «не реляционную» базу вы говорите?
Я имел в виду взгляд с точки зрения 1С разработчика, работающего с конфигурацией, а не администратора или разработчика, смотрящего на 1С «со стороны». С последней точки зрения, архитектурной — да, конечно это ORM над реляционной базой.

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

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

«Чем лучше вы знаете стек абстракций, которым пользуетесь, тем более качественным специалистом являетесь». — конечно так лучше. Но так можно говорить, если этот стек открыт, как та же самая Java, или документирован, как .Net.

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

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

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

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

Структура таблиц БД и их индексы описаны и документированы производителем. Ищите на ИТС.
Спасибо огромное за информацию. Тогда каюсь — значит, я совсем отстал от жизни, беру свои слова обратно и съедаю шляпу. Мир 1С за последние годы изменился в лучшую сторону гораздо сильнее, чем я предполагал.
имхо пост отличный. Как веб-разработчик недавно столкнулся с игтеграцией своей crm с 1С и взялся за голову. Статья принесла много понимания, спасибо. Жду скорейшего продолжения.
Какие у 1C альтернативы?
Я ничего не знаю про бух. учет, просто интересно.
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Конечно. Лицензия на платформу платная. Конфигурация — бесплатная и с открытым кодом.
Вот кстати почему дальше бухгалтерии 1с и не наблюдается. Сделали бы платформу бесплатной, и получили бы большое количество пользователей.
Вы не правы.

Решений вообще никак не связанных с бухгалтерией очень много. Как многофункциональные — ERP 2.0 или УНФ, так простые УТ, ЗУП. Или глобальные: для холдинков — Консолидация, Документооборот.

Посмотрите Внедренные решения.
«Решений вообще никак не связанных с бухгалтерией очень много»
«ERP 2.0, УНФ, УТ, ЗУП»
UFO landed and left these words here
UFO landed and left these words here
Прошу в следующей статье написать о том, в каких случаях и какую конфигурацию лучше внедрять — БП, Комплексную или УПП (ERP), сравнительный анализ возможностей.
UFO landed and left these words here
Клиент-серверная организация хранения данных – это организация баз данных в таблицах на сервере. Это могут быть MySQL, Oracle или другой вариант организации баз данных.

Поддерживаются только MS SQL, PostgreSQL, IBM DB2 и Oracle
Only those users with full accounts are able to leave comments. Log in, please.