Вышла версия 10.0 среды разработки 1С:Предприятие.Элемент Скрипт. Обновление принесло встроенного ИИ-помощника, поддержку криптографии КриптоПро, новые возможности языка и заметное сокращение размера дистрибутива. Разбираем главное.
Консультация эксперта по интеграции 1С
Установщик стал вдвое легче
Размер установочного пакета и объем, который занимает среда разработки после установки, уменьшились более чем в два раза. Это заметно упрощает развертывание и экономит место на диске.
Среда разработки: ИИ и удобство
Встроенная поддержка «1С:Напарника»
В среду разработки интегрирован «1С:Напарник» — интеллектуальный ассистент, который помогает писать и анализировать код, генерировать решения по текстовому описанию, исправлять ошибки и создавать документацию. Чтобы начать работу, достаточно получить ключ доступа и указать его в настройках.
Быстрое открытие скриптов
- Среду разработки теперь можно назначить приложением по умолчанию для открытия скриптов двойным кликом.
- Она доступна в контекстном меню «Открыть с помощью» для рабочей области, директории или файла скрипта.
- Добавлена возможность открывать скрипты и папки прямо из командной строки.
Документирующие комментарии
Разработчик может описывать собственный код с помощью документирующих комментариев. Они отображаются в контекстных подсказках среды разработки, что упрощает навигацию и понимание кода.
Отладка: наблюдаемые выражения
Группа «Контрольное значение» переименована в «Наблюдаемые выражения».
Теперь:
- по нажатию на плюс открывается диалог для ввода выражения, которое можно изменить или удалить;
- в главном меню (раздел «Запустить») и контекстном меню редактора появились команды:
- Добавить в наблюдаемые выражения (Alt+Shift+F10) — добавляет выделенное выражение в список наблюдаемых;
- Вычислить выражение (Alt+Shift+F9) — открывает диалог вычисления значения выделенного выражения во время отладки.
Прикладная функциональность
Побитовые операции
Появились новые типы ПобитовыеОперации и МассивБитов для работы с побитовыми операциями.
JSON
- Добавлены методы ЗаписатьСодержимоеВПоток() и ЗаписатьСодержимоеBase64ВПоток() для потоковой записи содержимого строкового JSON-узла.
- Появился обобщенный метод ЧтениеJson.ПрочитатьСодержимое<ТипОбъекта>(), позволяющий читать JSON-объект в указанный тип с настройками.
- Добавлены перегрузки методов чтения, упрощающие работу с существующими вызовами.
- Методы ПрочитатьСодержимоеКакМассив() и ПрочитатьСодержимоеКакСоответствие() помечены как устаревшие.
Файлы
Добавлены методы для работы с недопустимыми символами в именах файлов:
- СодержитНедопустимыеСимволы() — проверяет строку на наличие символов, запрещенных в имени файла;
- ЗаменитьНедопустимыеСимволы() — заменяет запрещенные символы на указанную подстроку (по умолчанию удаляет).
Криптография: поддержка PFX-файлов КриптоПро
Реализована запись и чтение PFX-файлов формата КриптоПро. Для работы необходим криптопровайдер КриптоПро Java CSP. Чтобы указать его при создании объекта «ХранилищеPkcs12», в конструкторы добавлен параметр «Криптопровайдер».
Пример использования:
метод ВычислитьПодписьГост(Данные: Байты, КриптоПроPfx: Байты, ПарольPfx: СекретПриложения)
знч Криптопровайдер = Криптография.ПолучитьКриптоПроJcsp()
// Загрузка хранилища ключей из PFX-файла, полученного из КриптоПро CSP
знч Хранилище = новый ХранилищеPkcs12(КриптоПроPfx, ПарольPfx, Криптопровайдер)
// КриптоПро не поддерживает пароли для отдельных ключей в PFX, только для всего файла
знч Ключ = Хранилище.НайтиЗакрытыйКлюч("Тест", "")
знч Сертификат = Хранилище.НайтиСертификат("Тест")
// Вычисление электронной подписи
знч Вычислитель = новый ВычислительПодписи(Криптопровайдер, Сертификат, Ключ)
Вычислитель.УстановитьСлужбуШтамповВремени("http://qs.cryptopro.ru/tsp/tsp.srf")
знч Подпись = Вычислитель.Подписать(Данные)
// Проверка электронной подписи
знч Верификатор = новый ВерификаторПодписи(Криптопровайдер, Подпись)
если не Верификатор.Проверить(Данные)
выбросить новый ИсключениеНедопустимыйАргумент("Подпись не соответствует данным")
;
;Коллекции
В ряде методов коллекций ослаблена типизация: вместо строгого типа элемента параметры теперь принимают Объект?. Это касается методов Содержит(), СодержитВсе(), Найти(), НайтиСКонца(), СодержитКлюч(), СодержитЗначение(), Получить(), ПолучитьИлиНеопределено(), ПолучитьИлиУмолчание() и их перегрузок.
Проверка совместимости типов на уровне компилятора сохранена: если пересечение типов аргумента и параметра всегда пусто, компиляция завершится ошибкой.
Типы Последовательность и Обходимое
Добавлены новые перегрузки методов для работы с элементами:
- Преобразовать() и ПреобразоватьЛинейно() — позволяют использовать индекс элемента в передаваемой функции;
- Объединить() — принимает функцию-преобразователь для формирования результата;
- ДляКаждого() — выполняет действие для каждого элемента и его индекса;
- Фильтровать() — фильтрует элементы вместе с индексом.
Также появился метод ПропуститьНеопределено(), исключающий Неопределено из состава элементов и изменяющий тип элементов соответственно.
Язык «1С:Элемент»
Аннотации
Для аннотации @ИменованныеПараметры добавлен параметр КромеПервого: Булево, который позволяет использовать первый параметр в позиционной форме. Это нововведение затрагивает методы:
- Пропись.ДенежнаяСумма();
- Пропись.Количество();
- Пропись.Число();
- Консоль.ЗаписатьТаблицу().
Методы
Изменен алгоритм определения конфликтующих перегрузок и выбора подходящей перегрузки в момент вызова.
Нарушения обратной совместимости
Удаления
- Для типов Обходимое и Последовательность удалена перегрузка метода Свернуть() без параметра типа результата. Вместо нее используется обобщенная версия с параметром ТипРезультата.
- Удалена устаревшая перегрузка СериализацияJson.ПрочитатьОбъект() с параметром-коллекцией.
Изменения поведения
Изменено поведение обобщенного метода ЧтениеJson.ПрочитатьСодержимое() в режиме совместимости 10.0 и выше: после завершения работы позиция чтения остается на последнем токене текущего объекта JSON, а не переходит на следующий, как раньше. Для сохранения старого поведения после вызова метода необходимо вызвать Следующий().
Полное описание нововведений — в документации разработчика.
Нужна помощь специалиста 1С? Оставляйте заявку, оперативно ответим!
Подписывайтесь на наш TG-канал Новости из мира 1С, а также YouTube, RUTUBE, VK с полезными видео экспертов.
консультация эксперта
самые свежие новости 1 раз в месяц





