С выходом тестовой версии платформы 1С:Предприятие 8.3.23 разработчики и пользователи получили ряд значительных нововведений, призванных существенно расширить функциональные возможности системы и повысить удобство работы. Мы рассмотрим ключевые изменения, обсудим их практическое применение и выясним, какие преимущества они дают.
1. Лицензия для разработчиков (Community-лицензия)
Одно из самых обсуждаемых и долгожданных изменений – это появление бесплатной лицензии для разработчиков, или Community-лицензии. Эта лицензия предназначена исключительно для целей отладки и разработки приложений на платформе 1С:Предприятие и строго запрещает ее использование для ведения реального учета.
Давайте разберем основные особенности и условия использования этой лицензии:
Бесплатность и назначение: Лицензия предоставляется бесплатно для обучения и разработки. Это означает, что теперь любой желающий может начать осваивать программирование в 1С без первоначальных затрат на лицензирование рабочего окружения.
Тип лицензии: Community-лицензия является исключительно программной. Она не имеет физического ключа и привязывается к параметрам компьютера, на котором производится активация.
Ограничение по времени и автоматическое продление: Лицензия имеет ограничение по времени действия, обычно на одну неделю. Однако, при наличии постоянного подключения к сети Интернет, она автоматически продлевается. Если же доступ к интернету отсутствует, лицензия не сможет быть продлена и деактивируется.
Поддерживаемые компоненты: Лицензия позволяет использовать как клиентское приложение, так и кластер серверов. Это значительное отличие от учебной версии, которая не поддерживает серверный вариант.
Ограничения по количеству сеансов:
До 3 сеансов с прямым подключением (через толстый или тонкий клиент).
1 сеанс через веб-сервер.
1 сеанс клиента «1С:Аналитики».
1 сеанс мобильного клиента.
Такие ограничения делают лицензию идеальной для индивидуальной разработки и тестирования, но недостаточной для полноценного использования в производственной среде.
Получение лицензии: Для получения Community-лицензии необходимо пройти полную регистрацию (с подтверждением номера мобильного телефона) на портале для разработчиков developer.1c.ru. После регистрации в личном кабинете появится новая вкладка «Лицензии для разработчиков».
Сбор статистики: Важный аспект, на который мы должны обратить внимание, — это сбор статистики. Платформа будет собирать данные об использовании механизмов и отправлять их в Центр Контроля Обновлений. Разработчики 1С уверяют, что пользовательские данные информационной базы при этом не передаются.
Идентификация пользователя: При входе в базу с использованием Community-лицензии программа сообщает, что запуск осуществляется с помощью лицензии разработчика, указывая ФИО владельца. Это ФИО также отображается в справке «О программе». Такой механизм позволяет отслеживать, кто именно использует лицензию, и может служить инструментом для контроля за соблюдением условий лицензионного соглашения.
Возможность блокировки: В случае обнаружения нарушений условий лицензионного соглашения фирма «1С» оставляет за собой право заблокировать учетную запись разработчика. При этом все полученные Community-лицензии будут деактивированы, а получение новых и их продление станут невозможными.
Практическое применение и особенности:
Community-лицензия является отличным решением для фрилансеров, студентов, начинающих разработчиков и тех, кто хочет попробовать свои силы в экосистеме 1С без больших инвестиций. Она позволяет запускать полнофункциональную платформу, включая серверный вариант, что ранее было доступно только при покупке коммерческих лицензий или использовании учебных версий с ограничениями.
Мы видим, что активация лицензии достаточно проста и быстра. Пользователи подтверждают, что лицензия работает даже с 64-битными серверами 1С:Предприятия. Также имеется возможность получить до трёх таких лицензий на разные устройства под одной учётной записью, что удобно для работы на разных компьютерах или для тестирования клиент-серверной архитектуры.
Тем не менее, стоит учитывать возможные нюансы. Некоторые пользователи сталкиваются с тем, что после аварийного завершения работы клиентского приложения (например, толстого клиента), повторный запуск может быть заблокирован из-за проблем с лицензией. В таких случаях часто помогает закрытие конфигуратора, повторный запуск клиента, а затем уже конфигуратора. Это типичное поведение для программных лицензий, которые чувствительны к некорректному завершению работы приложений.
Для разработчиков, которые ранее приобретали мини-сервер для целей разработки, Community-лицензия может показаться запоздалой, но она все равно открывает новые возможности, например, для тестирования на различных окружениях или для предоставления временного доступа к серверной среде новым членам команды.
2. Распознавание речи
Платформа 8.3.23 значительно расширяет возможности взаимодействия пользователя с системой за счет встроенной функции распознавания речи. Это шаг в сторону более интуитивного и голосового управления бизнес-процессами.
Давайте подробно рассмотрим, как работает эта функция:
Режимы работы: Распознавание речи может функционировать в двух основных режимах:
Потоковый вариант: Речь распознается в реальном времени, что позволяет использовать голосовые команды для мгновенного выполнения действий в системе.
Из файлов формата Ogg: Возможно распознавание речи из предварительно записанных аудиофайлов. Это может быть полезно для обработки голосовых заметок, диктовки документов или анализа звонков.
Варианты развертывания:
Локальный вариант: Распознавание речи может выполняться непосредственно на компьютере пользователя без необходимости подключения к сети Интернет. Для этого необходимо предварительно скачать модели распознавания, которые обеспечивают работу нейросетей на устройстве. Локальное использование распознавания речи не тарифицируется.
Облачный сервис фирмы «1С»: Альтернативно, можно использовать облачный сервис распознавания речи от 1С. Для его работы потребуется действующая подписка ИТС и дополнительная подписка на сам сервис распознавания речи.
Объект платформы: Для работы с функциональностью распознавания речи в глобальном контексте платформы реализовано новое свойство РаботаСРечью. Через этот объект разработчики могут управлять процессом распознавания, настраивать параметры и получать результаты.
Настройка и адаптация: Платформа включает стандартную обработку «Управление распознаванием речи», которая позволяет настраивать доступность моделей и другие параметры. Сервис распознавания способен понимать сложные термины и фамилии. Для повышения точности распознавания специфической лексики можно загружать файлы с отраслевыми терминами перед началом работы.
Поддерживаемые языки: На данный момент функция поддерживает русский и английский языки, с планами на расширение списка языков в будущем.
Практические аспекты:
Пользователи задаются вопросом, как будет работать распознавание речи в условиях, например, бухгалтерии с несколькими сотрудниками. Платформа 1С:Предприятие, как и многие современные голосовые ассистенты и коммуникационные приложения (подобно Discord), способна различать источники звука и активировать микрофон только тогда, когда говорит конкретный пользователь. Это позволяет избежать ситуации, когда система воспринимает информацию от всех одновременно. Мы можем ожидать реализации функции идентификации по голосу или настроек активации микрофона, что обеспечит корректную работу в коллективе.
Возможности применения распознавания речи в 1С огромны: от голосового ввода данных в документы и справочники до управления интерфейсом и выполнения команд. Представьте, как вы сможете, находясь удаленно, просто надиктовывать код или команды конфигуратору, выводя его на экран телевизора. Конечно, для полноценной работы с элементами форм и конструкторами могут понадобиться дополнительные устройства, такие как перчатки виртуальной реальности или специализированные джойстики, но голосовое управление уже является значительным шагом вперед.
3. Регулярные выражения
Платформа 8.3.23 наконец-то принесла долгожданную официальную поддержку Perl-подобных регулярных выражений. Это инструмент, который значительно упрощает и ускоряет работу со строками, позволяя находить, заменять и проверять соответствие текста сложным шаблонам.
Давайте выясним, как это реализовано и какие возможности открывает:
Основа и возможности: Новая функциональность базируется на диалекте регулярных выражений ICU (International Components for Unicode), что обеспечивает расширенные возможности для работы со строками, включая полную поддержку Unicode символов. Это гарантирует корректную обработку текста на разных языках.
Доступность: Функциональность регулярных выражений доступна только на стороне сервера. Это означает, что мы будем использовать ее в серверных модулях, общих модулях с флагом "Сервер" или "Вызов сервера".
Методы глобального контекста: Для работы с регулярными выражениями реализованы следующие методы глобального контекста:
СтрНайтиПоРегулярномуВыражению(Строка, РегулярноеВыражение, НачальнаяПозиция = 1): Ищет первое вхождение шаблона в строке.
СтрНайтиВсеПоРегулярномуВыражению(Строка, РегулярноеВыражение): Возвращает коллекцию всех найденных вхождений.
СтрЗаменитьПоРегулярномуВыражению(Строка, РегулярноеВыражение, СтрокаЗамены): Заменяет все вхождения шаблона на указанную строку.
СтрПодобнаПоРегулярномуВыражению(Строка, РегулярноеВыражение): Проверяет, соответствует ли строка заданному регулярному выражению целиком.
Объект РезультатПоискаПоРегулярномуВыражению: Метод СтрНайтиПоРегулярномуВыражению возвращает объект типа РезультатПоискаПоРегулярномуВыражению. Этот объект содержит детальную информацию о найденной подстроке, включая ее позицию, длину, а также значения захваченных групп, что позволяет извлекать конкретные части совпадения.
Производительность: Тестирование показало, что производительность встроенных регулярных выражений 1С в некоторых сценариях значительно превосходит использование классического VBScript.RegExp, что является важным преимуществом для высоконагруженных операций с текстовыми данными.
Пример использования:
Предположим, мы хотим найти все email-адреса в тексте и заменить их на маскированные значения. Мы можем использовать метод СтрЗаменитьПоРегулярномуВыражению().
Текст = "Мои контакты: user1@example.com и admin@domain.ru. Свяжитесь со мной.";
ШаблонEmail = "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}";
Замена = "***@***.com"; // или можно использовать группы для более сложной замены
НовыйТекст = СтрЗаменитьПоРегулярномуВыражению(Текст, ШаблонEmail, Замена);
// НовыйТекст будет: "Мои контакты: ***@***.com и ***@***.com. Свяжитесь со мной."
Сообщить(НовыйТекст);
Это открывает широкие возможности для валидации ввода, парсинга текста, обработки логов и многих других задач, где требуется сложный анализ строковых данных.
4. Хранилище двоичных данных
С выходом версии 8.3.23 реализовано новое хранилище двоичных данных, призванное оптимизировать работу с большими двоичными объектами (BLOB). Теперь такие данные, как сканы документов, изображения, аудио- и видеозаписи, могут храниться не непосредственно в информационной базе, а на файловой системе компьютера кластера серверов 1С:Предприятия.
Давайте рассмотрим ключевые аспекты этого нововведения:
Назначение: Основная цель хранилища – это эффективное управление крупными двоичными данными, которые традиционно могут сильно раздувать размер информационной базы и замедлять ее работу.
Место хранения: Вместо СУБД (например, PostgreSQL, MS SQL Server) двоичные данные теперь могут размещаться на файловой системе сервера, входящего в состав кластера 1С:Предприятия. Это позволяет распределять нагрузку и более гибко управлять хранением.
Вариант работы: Данный механизм доступен исключительно в клиент-серверном варианте работы. В файловом варианте он не применяется, так как вся база и так хранится на файловой системе.
Прозрачность для разработчиков и пользователей: Для разработчиков и конечных пользователей этот механизм является полностью прозрачным. То есть, работа с объектами типа ХранилищеЗначения остается прежней, а платформа сама решает, где физически будут храниться данные – в базе или во внешнем хранилище.
Преимущества использования:
Уменьшение размера базы данных: Вынос больших BLOB-объектов из СУБД приводит к значительному сокращению размера файлов базы данных, что упрощает операции резервного копирования и восстановления.
Снижение нагрузки на СУБД: СУБД больше не нужно оперировать большими объемами двоичных данных, что снижает нагрузку на ее ресурсы и повышает общую производительность.
Упрощение масштабирования: Распределение данных по различным дисковым накопителям и серверам кластера становится более гибким, что способствует эффективному масштабированию инфраструктуры.
Оптимизация операций: Уменьшается время на обновление и обслуживание базы данных (например, реиндексацию, дефрагментацию).
Табличные пространства (для КОРП лицензий): Начиная с версии 8.3.23, для КОРП лицензий появилась возможность распределять таблицы информационной базы по различным дисковым накопителям в соответствии с профилями нагрузки. Это реализуется с использованием так называемых «табличных пространств», что дает еще большую гибкость в управлении хранением данных и оптимизации доступа к ним.
Мы видим, что это нововведение является значительным шагом к повышению производительности и управляемости информационных систем на базе 1С:Предприятия, особенно для крупных внедрений с большими объемами данных.
5. Улучшения конструктора запросов для расширений
Разработчики, активно использующие расширения конфигураций, хорошо знакомы с ограничениями конструктора запросов в этом режиме. В версии 8.3.23 внесены кардинальные улучшения в работу конструктора запросов в расширениях, что значительно упрощает разработку и поддержку.
Давайте проанализируем, в чем заключаются эти улучшения:
Проблема до 8.3.23: Ранее конструктор запросов, открытый в расширении конфигурации, мог «видеть» и предлагать для использования только те объекты конфигурации, которые были явно захвачены в само расширение. Если в запросе требовалось использовать ссылку на справочник или документ из основной конфигурации, который не был добавлен в расширение, разработчику приходилось сначала вручную добавлять эти объекты в расширение. Это было неудобно и замедляло процесс разработки.
Поддержка объектов основной конфигурации: Теперь конструктор запросов, открытый в расширении, может полноценно работать с объектами конфигурации, которые не захвачены в расширение. Это означает, что мы можем свободно строить запросы, обращаясь к любым данным основной конфигурации.
Автоматическое добавление недостающих объектов: Если в процессе создания запроса мы используем объекты, которые не были добавлены в расширение, то после закрытия конструктора система автоматически предложит добавить все недостающие объекты расширяемой конфигурации в наше расширение. Это невероятно удобное функциональное улучшение, которое экономит много времени и усилий.
Управление отображением таблиц и полей: В диалоге конструктора запросов также реализована возможность управлять отображением таблиц и полей как расширяемой, так и основной конфигурации. Это обеспечивает более гибкую настройку рабочего пространства конструктора и улучшает навигацию.
Практическая значимость:
Эти изменения являются одной из самых полезных новогодних новостей для разработчиков. Они устраняют один из наиболее раздражающих моментов при работе с расширениями, делая процесс создания запросов гораздо более интуитивным и эффективным. Мы больше не будем тратить время на ручное добавление множества объектов в расширение только для того, чтобы конструктор запросов их «увидел».
Это действительно мощное улучшение, которое значительно ускоряет разработку и делает расширения еще более удобным инструментом для кастомизации типовых конфигураций.
6. Автономный сервер
Автономный сервер в версии 8.3.23 вышел из стадии бета-версии и получил ряд важных улучшений, что делает его еще более мощным инструментом для разработки и тестирования.
Давайте посмотрим, что нового:
Выход из бета-версии: Автономный сервер теперь является полноценным компонентом платформы, готовым к широкому использованию.
Доступ по HTTP без веб-сервера: Он позволяет получить доступ к информационной базе по протоколу HTTP без необходимости развертывания отдельного веб-сервера, такого как Apache или IIS. Это значительно упрощает настройку тестовых окружений и разработку веб-клиентов.
Снятие ограничений:
Отладка по TCP/IP: Ранее были ограничения на отладку в режиме автономного сервера. Теперь отладку можно запускать непосредственно из конфигуратора, используя протокол TCP/IP, что критически важно для эффективной разработки.
Работа с информационной базой в режиме Конфигуратора: Теперь мы можем полноценно работать с базой данных в режиме Конфигуратора, что открывает доступ ко всем инструментам для управления конфигурацией.
Механизм сценарного тестирования: Появилась возможность подключения к автономному серверу по протоколу TCP, что обеспечивает полноценную работу механизма сценарного тестирования. Это позволяет автоматизировать проверку функциональности и повышать качество разрабатываемых решений.
Мы видим, что автономный сервер становится все более универсальным и удобным инструментом, особенно для мобильной разработки, тестирования и создания небольших демонстрационных стендов без сложной инфраструктуры.
7. Поддержка Microsoft OLE DB Driver for SQL Server
В платформе 8.3.23 реализована дополнительная поддержка при использовании СУБД Microsoft SQL Server в клиент-серверном варианте информационной базы. Теперь мы имеем возможность использовать Microsoft OLE DB Driver for SQL Server.
Что это означает:
Расширение списка драйверов: Этот драйвер добавляется к уже поддерживаемому Microsoft SQL Server Native Client.
Дополнительные возможности: Использование OLE DB Driver for SQL Server может предоставить дополнительные возможности или улучшенную совместимость с определенными версиями SQL Server или конфигурациями, расширяя список доступных инструментов для подключения к СУБД. Это дает больше гибкости системным администраторам и разработчикам при настройке окружения.
8. Изменения WebKit для Linux
Для пользователей Linux-клиентов 1С:Предприятия в версии 8.3.23 произошло важное обновление. Ранее в Linux до этой версии использовался устаревший WebKit 1, в то время как в Windows с версии 8.3.14 уже применялся более современный ECMAScript 2018.
Теперь WebKit для Linux был обновлен до актуальной версии, что позволяет использовать более современные возможности JavaScript в веб-приложениях и клиентских сценариях. Это обеспечивает лучшую совместимость, производительность и доступ к новым функциям веб-стандартов для Linux-клиентов, уравнивая их в возможностях с Windows-аналогами.
9. Прочие полезные улучшения
Помимо перечисленных крупных нововведений, платформа 8.3.23 включает множество других полезных улучшений, которые направлены на повышение удобства, производительности и расширение функциональности в различных областях:
Система взаимодействия:
Интеграция с мессенджерами: Реализована интеграция с WhatsApp, а также возможность обмена файлами с VK и Telegram. Это расширяет каналы коммуникации внутри и вне системы 1С.
Встраивание чата: Чат системы взаимодействия теперь можно встраивать в сторонние сайты, например, для организации онлайн-поддержки на сайте интернет-магазина или службы технической поддержки.
Переключение звонка: Появилась возможность переключать звонок системы взаимодействия на другое устройство, что повышает гибкость работы с голосовыми вызовами.
Сериализация/десериализация JSON: В глобальном контексте реализованы новые методы ЗаписатьЗначениеJSON() и ПрочитатьЗначениеJSON(). Эти методы позволяют выполнять сериализацию и десериализацию данных в формате JSON непосредственно на стороне клиента или сервера без необходимости обращения к серверу, что упрощает интеграцию с внешними системами и обработку веб-данных.
Регламентные задания в расширениях: Долгожданная возможность – теперь в расширениях конфигурации реализована поддержка создания собственных регламентных заданий. Это позволяет реализовывать фоновые процессы и автоматизировать задачи непосредственно в расширениях, не изменяя основную конфигурацию.
Расширенное редактирование множественных значений: Для поля ввода типа СписокЗначений и ДанныеФормыКоллекция добавлен новый, более удобный режим отображения значений. Каждое значение отображается индивидуально со своей иконкой и возможностью удаления без открытия отдельного диалога. Это повышает удобство работы с коллекциями элементов.
Диаграмма Ганта: Улучшен внешний вид и функциональность диаграммы Ганта. Теперь мы можем отображать текст на интервалах, управлять его видимостью, выделять значения и интерактивно изменять длительность интервалов. Это делает диаграмму Ганта более информативной и удобной для планирования и управления проектами.
Работа с памятью и запросами: Проведена значительная оптимизация работы с памятью, устранен ряд сценариев резкого роста ее потребления. Увеличена скорость выполнения запросов по нескольким таблицам с сортировкой, а также оптимизировано хранение и обработка текстовых полей. Эти улучшения направлены на повышение общей производительности и стабильности системы.
Миграция СУБД: В клиент-серверном варианте появилась уникальная возможность конвертации базы из одной СУБД в другую (за исключением файловой) без необходимости предварительной выгрузки данных в файл .dt. Это выполняется с помощью команды replicate утилиты ibcmd. Например, мы можем перенести базу данных из MS SQL Server в PostgreSQL напрямую, что значительно упрощает и ускоряет процесс миграции.
// Пример команды ibcmd для репликации (конвертации) базы данных
// ibcmd replicate --source-connection-string "Srvr=SQLSERVER;Ref=BaseName" --target-connection-string "Host=PGHOST;Port=5432;Db=PGDB;Usr=PGUSER;Pwd=PGPWD"
Это мощный инструмент для системных администраторов, позволяющий гибко управлять инфраструктурой баз данных.
В целом, платформа 1С:Предприятие 8.3.23 представляет собой значительный шаг вперед в развитии системы. Мы видим, что разработчики 1С активно работают над улучшением удобства разработки, расширением интеграционных возможностей, внедрением современных технологий (таких как распознавание речи и регулярные выражения) и оптимизацией производительности. Все эти нововведения способствуют созданию более мощных, гибких и эффективных бизнес-приложений на базе 1С:Предприятия.