1С:Элемент Скрипт 10.0: ИИ-ассистент, поддержка КриптоПро и облегченная среда разработки

Содержание статьи
  1. Установщик стал вдвое легче
  2. Среда разработки: ИИ и удобство
    1. Встроенная поддержка «1С:Напарника»
    2. Быстрое открытие скриптов
    3. Документирующие комментарии
    4. Отладка: наблюдаемые выражения
  3. Прикладная функциональность
    1. Побитовые операции
    2. JSON
    3. Файлы
    4. Криптография: поддержка PFX-файлов КриптоПро
    5. Коллекции
    6. Типы Последовательность и Обходимое
  4. Язык «1С:Элемент»
    1. Аннотации
    2. Методы
  5. Нарушения обратной совместимости
    1. Удаления
    2. Изменения поведения

Вышла версия 10.0 среды разработки 1С:Предприятие.Элемент Скрипт. Обновление принесло встроенного ИИ-помощника, поддержку криптографии КриптоПро, новые возможности языка и заметное сокращение размера дистрибутива. Разбираем главное.


Установщик стал вдвое легче

Размер установочного пакета и объем, который занимает среда разработки после установки, уменьшились более чем в два раза. Это заметно упрощает развертывание и экономит место на диске.

Среда разработки: ИИ и удобство

Встроенная поддержка «1С:Напарника»

В среду разработки интегрирован «1С:Напарник» — интеллектуальный ассистент, который помогает писать и анализировать код, генерировать решения по текстовому описанию, исправлять ошибки и создавать документацию. Чтобы начать работу, достаточно получить ключ доступа и указать его в настройках.

Быстрое открытие скриптов

  • Среду разработки теперь можно назначить приложением по умолчанию для открытия скриптов двойным кликом.
    Быстрое открытие скрипта
    Быстрое открытие скрипта

  • Она доступна в контекстном меню «Открыть с помощью» для рабочей области, директории или файла скрипта.
    Открыть с помощью 1С:Предприятие.Элемент Скрипт
    Открыть с помощью 1С:Предприятие.Элемент Скрипт

  • Добавлена возможность открывать скрипты и папки прямо из командной строки.

Документирующие комментарии

Разработчик может описывать собственный код с помощью документирующих комментариев. Они отображаются в контекстных подсказках среды разработки, что упрощает навигацию и понимание кода.

Документирующие комментарии в 1С:Предприятие.Элемент Скрипт 10.0
Документирующие комментарии в 1С:Предприятие.Элемент Скрипт 10.0

Отладка: наблюдаемые выражения

Группа «Контрольное значение» переименована в «Наблюдаемые выражения». 

Наблюдаемые выражения
Наблюдаемые выражения

Теперь:

  • по нажатию на плюс открывается диалог для ввода выражения, которое можно изменить или удалить;
  • в главном меню (раздел «Запустить») и контекстном меню редактора появились команды:
    • Добавить в наблюдаемые выражения (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С-ЭДО 1.10.2 — маршруты обработки документов, PDF-счета и обновления 1С:Штампа
Следующая статья релиз
К списку
Комментарии
Меню