Рубрика «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Читать полностью »

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

art-5

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

image

Здравствуйте, уважаемые читатели и писатели, а также неизменно прекрасные читательницы и писательницы Гиктаймс. Прошло уже полтора года с момента написания предыдущей статьи и можно сказать, что лед тронулся. Во всяком случае, отчетность сдать из 1С, не загружаясь в Windows, уже можно. Путь к звездам, как всегда, будет тернист и полон подводных камней, подстерегающих неосторожного путника, но при правильном подходе у Вас все получится. Итак, приступим:

Для приготовления отчетности нам понадобится:

  1. Конфигурация: 1С Бухгалтерия предприятия 3.0 Проф
  2. Технологическая платформа: 1С Бухгалтерия 8.3.11 или выше
  3. Криптопровайдер: КриптоПро 4.0.9929 или выше
  4. Операционная система: GNULinux (Mint, Ubuntu, Fedora, RHEL или SUSE), по вкусу
  5. Оператор документооборота: ООО «Такском» или ЗАО «Калуга-Астрал»
  6. Воля для войны с ИТС и технической поддержкой оператора документооборотаЧитать полностью »

Пролог

— Ты, главное, не ссы! Держись меня, делай как я, и все будет чики-пуки.

Сергея всегда бесил такой, колхозный, стиль общения, особенно у малознакомых людей. Не понятно, как реагировать. Вроде надо в лицо идиотом назвать, но мало ли, вдруг человек не всегда такой, просто не умеет эмоции словами выразить. Тем более, Сергей первый день на этой работе. На своей первой настоящей работе.

— Коль, давай посерьезнее. — Жанна строго посмотрела на круглую самодовольную рожу. Потом перевела взгляд на новенького. — Сергей, не слушай этого старого коня. Борозды он, конечно, не испортит, но и целины не поднимет.

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

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

Сергей понимающе покивал головой. Он не знал, кто такой Кови, но метафору понял.

— Ты — молодой, целеустремленный, не обремененный обязательствами и связями, амбициозный, и очень умный программист. У тебя за плечами очная Бауманка. Мы ждем от тебя новой струи свежего вохдуха, скачка в развитии наших систем, прорыва облачных технологий. Так, и только так!

— Спасибо, Жанна Ивановна. Я буду стараться.

— Никакого отчества, просто Жанна! Велкам в нашу команду, Сережа!
Читать полностью »

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

Платформа работает на различных версиях ОС и БД:

  • ОС: Windows, Linux, macOS
  • СУБД: MS SQL, PostgreSQL, IBM DB2, Oracle, файловая СУБД собственной разработки
  • Мобильные ОС: Android, iOS, Windows

Поддерживает несколько видов клиентов:

Учитывая, что надо поддерживать целый ряд версий вышеперечисленных ОС, СУБД и браузеров, тестирование платформы становится нетривиальной задачей.

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