Рубрика «1С»

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

Хотя, наверное, продавцов ёлок можно исключить из этого списка, они сумели меня удивить перед Новым Годом, продав мне настоящую ель. Раньше только пихты и сосны бывали. Я даже в интернете посмотрел, как отличить ёлку от пихты — реально, это была ель.

Так что в списке «Самые неразвивающиеся компаниии» остаются только франчайзи 1С. Там работает куча прекрасных людей, но то ли среда такая, то ли место проклятое — с ними что-то не так.

Они думают только о сегодняшнем дне. Возможно, виновата жесткая привязка к одному вендору, который разрабатывает и фреймворк, и прикладные решения. Никто же в здравом уме не будет в 21 веке строить долгосрочный бизнес, завязанный на один язык программирования, одну среду разработки, один рынок? А вот ковать железо, пока горячо — пожалуйста. Когда остынет, тогда и можно будет задуматься о чем-то серьезном.

Но мне, почему-то, кажется, что не все потеряно. Можно сделать лучше.Читать полностью »

В типовой конфигурации УТ 11 нет возможности в режиме РМК изменить цену на товар, хотя такая необходимость появляется довольно часто. Внеся небольшие изменения в конфигурацию, можно добиться нужной функциональности. Использовался релиз 1С УТ 11.4.5.135 на платформе 1С: Предприятие (8.3.13.1513).

Кто прежде работал с конфигурациями 1С Розница 2.2 и 1С УТ 10.3, столкнувшись с УТ 11 могут быть неприятно удивлены, обнаружив, что в режиме РМК нельзя изменять цену за продаваемый товар (услугу). В обозначенных выше конфигурациях есть дополнительные настройки пользователей, которые и отвечают за право менять цену в РМК. В УТ 11 такого нет. Все цены необходимо назначать через документ «Установка цен номенклатуры», откуда они и будут подставляться в РМК при продаже. На практике, по разным причинам, часто возникает необходимость оперативно в РМК изменить цену.
Читать полностью »

Решил опубликовать исходный код C# для работы с форматом конфигураций 1С: Предприятие.

https://github.com/elisy/MdInternals

MdInternals понимает формат cf, cfu, epf, erf, распаковывает содержимое в удобочитаемые Xml и текстовые файлы и загружает обратно. Позволяет программно обращаться к внутренним файлам и свойствам объектов.

Проект состоит из частей:

  • MdInternals программно обращается к объектам и свойствам конфигурации
  • CfProject отвечает за сериализацию и десериализацию объектов MdInternals
  • MdInternals.Cil декомпилирует байт-код (OpCode) 1С
  • MdInternals.Serialization работает с внутренним полу-JSON форматом 1С вида "{ 19 { "", 2 } }"

Читать полностью »

Надежда на изменения угасла. Качественные преобразования может провести только руководитель предприятия, или очень дорогие консультанты. На изменения уйдут годы – с нашими-то болванами на местах. Никто не поймет суть преобразований, поэтому никто не сможет их развивать. Вместо одной косной системы мы получим другую – более эффективную, но тоже косную. Любое, относительно большое изменение конъюнктуры потребует быстрого перестроения компании, но людей, готовых эти преобразования понять и осуществить, у нас нет.

Или есть? Может, оглядимся вокруг? Кто у нас есть, кроме менеджеров? Продавцы, конструктора, снабженцы, маркетологи, кадровики, бухгалтера, кладовщики, производственники, рабочие, системные администраторы… Так, кто еще? Вон там, что за парень в углу сидит, в компьютере ковыряется?

Этот парень – программист 1С. И он – лучший кандидат. Не верите? Это нормально, никто не верит. В том числе сам программист 1С. Но это факт, увы.Читать полностью »

Некоторое время назад (осенью 2016), при разработке очередной версии технологической платформы 1С:Предприятие внутри команды разработки встал вопрос о поддержке нового стандарта C++14 в нашем коде. Переход на новый стандарт, как мы предполагали, позволил бы нам писать многие вещи элегантней, проще и надежней, упрощал поддержку и сопровождение кода. И в переводе вроде бы нет ничего экстраординарного, если бы не масштабы кодовой базы и специфические особенности нашего кода.

Для тех кто не знает, 1С:Предприятие – это среда для быстрой разработки кросс-платформенных бизнес-приложений и runtime для их выполнения в разных ОС и СУБД. В общих чертах в состав продукта входят:

Мы стараемся по максимуму писать один код для разных ОС — кодовая база сервера общая на 99%, клиента — примерно на 95%. Технологическая платформа 1С:Предприятия преимущественно написана на C++ и ниже приведены приблизительные характеристики кода:

  • 10 миллионов строк С++ кода,
  • 14 тысяч файлов,
  • 60 тысяч классов,
  • полмиллиона методов.

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

image
Читать полностью »

В прошлой статье мы рассмотрели интеграцию 3CX v15.5 с типовой конфигурацией 1С Управление торговлей, редакция 11 (11.4.3.167) для России. Однако некоторые специалисты в комментариях выразили опасение, что отключение режима совместимости платформы 1С с текущей версией конфигурации Управление торговлей может вызвать различные проблемы у пользователей. Хотя мы не получили информации о каких-либо неполадках, мы подготовили вторую инструкцию, описывающую объединение конфигураций.

Итак, в данный момент мы предлагаем два способа интеграции 3CX c конфигурацией УТ: используя разработанное нами расширение или путем объединения с нашим файлом конфигурации 1С, содержащим необходимые объекты.

Использовать расширение вы можете только, если ваша конфигурация работает в режиме совместимости с платформой 8.3.11 или выше. А вариант объединения конфигураций подойдет для конфигурации любой версии, но сам процесс требует определенных навыков обслуживания 1С: Предприятие. С другой стороны, объединение конфигураций позволяет безопасно подключить интеграцию 3CX с 1C прямо сейчас, не дожидаясь выпуска протестированной версии новой конфигурации от 1С (работающей в режиме совместимости 8.3.11 или выше).Читать полностью »

Как мы перевели работу с HTML в 1С:Предприятии с Internet Explorer на WebKit

Возможность отображать HTML в формах 1С появилась в платформе 1С:Предприятие еще в версии 8.0 (выпущена в 2003 г.). Для работы с HTML в платформе использовался движок браузера Internet Explorer (1С:Предприятие на тот момент работало только под Windows). Движок браузера использовался платформой для утилитарных целей. Например, писать с нуля полноценный элемент для редактирования текста а-ля Word – с возможностью различных цветовых и шрифтовых решений, вставки картинок и т.д. – весьма непростая задача. А если задействовать для этих целей HTML и использовать в качестве средства отображения движок интернет-браузера, то задача сильно упрощается. Также при помощи движка был реализован ряд других механизмов (например, отображение справочной информации) и элементов (например, Планировщик).

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

Время шло, платформа стала поддерживать сначала Linux, а потом и macOS. Для работы с HTML в этих ОС Internet Explorer не подходил по понятным причинам; в Linux нами был задействован WebKitGTK+, а в macOs — библиотека на основе Cocoa. Таким образом, единство кодовой базы для разных ОС (которое мы стараемся поддерживать для клиентского кода на уровне 95%) в этой области было нарушено. Ну и движок IE к этому времени стал источником ряда проблем.
image
Читать полностью »

Работа с числовыми матрицами в целом и решение систем линейных алгебраических уравнений в частности — классическая математическая и алгоритмическая задача, широко используемая при моделировании и расчёте огромного класса бизнес-процессов (например, при расчёте себестоимости). При создании и эксплуатации конфигураций «1С:Предприятия» многие разработчики сталкивались с необходимостью вручную реализовывать алгоритмы расчёта СЛАУ, а после — с проблемой длительного ожидания решения.
«1С:Предприятие» 8.3.14 будет содержать функционал, позволяющий значительно сократить время решения систем линейных уравнений за счёт использования алгоритма, основанного на теории графов.
Он оптимизирован для использования на данных, имеющих разреженную структуру (то есть содержащие не более 10% ненулевых коэффициентов в уравнениях) и в среднем и в лучшем случаях демонстрирует асимптотику Θ(n⋅log(n)⋅log(n)), где n — количество переменных, а в худшем (при заполненности системы ~100%) его асимптотика сопоставима с классическими алгоритмами ( Θ(n3)). При этом на системах, имеющих ~105 неизвестных, алгоритм показывает ускорение в сотни раз по сравнению с реализованными в специализированных библиотеках линейной алгебры (например, superlu или lapack).
Важно: статья и описанный алгоритм требуют понимания линейной алгебры и теории графов на уровне первого курса университета.
Читать полностью »

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

Исследовательская организация IDC Russia опубликовала результаты своего ежегодного исследования российского рынка ERP-систем. В компании отмечают, что за 2017 год его стоимость выросла на 30% и достигла планки в 819 млн долларов.

Продуктами-лидерами оказались решения 1C и SAP. Под катом поговорим о причинах роста отечественного рынка и обстановке на мировой ERP-арене.

Почему растет рынок ERP: статистика и тренды - 1Читать полностью »