Библиотека A1s: облегчение повседневной разработки в 1С

20.05.25

Разработка - Инструментарий разработчика

Представление A1s — компактной и легко читаемой библиотеки для повседневной разработки в 1С.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
Библиотека A1s: облегчение повседневной разработки в 1С:
.cf 112,85Kb
15
15 Скачать бесплатно

 

Библиотека A1s: облегчение повседневной разработки в 1С

1. Введение

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

A1s не зависит от БСП, может быть включена в состав конфигурации как в виде отдельных общих модулей, так и целиком как набор модулей. Допускает использование как на сервере, так и на клиенте (для модулей A1sS, A1sChars, A1sJ, A1sX).

Библиотека подходит как для внутренних проектов, так и для open source-решений, где важна читаемость и чистота кода.


Что позволяет достичь использование A1s

  • Сократить количество кода в типовых сценариях (запросы, логирование, сериализация)

  • Сделать код читаемым и однообразным во всех модулях проекта

  • Упростить поддержку и ревью — в том числе за счёт тестов и doc-комментариев

  • Быстро выполнять локальную или CI-проверку стабильности после изменений

  • Повысить переиспользуемость логики без привязки к БСП

 


2. Состав библиотеки

Модуль

Назначение

A1sQ

Упрощённая работа с запросами (QT + Unload)

A1sS

Строковые утилиты (AsString, Split, Print)

A1sLog

Централизованное логирование (Info, Error, Warn)

A1sJ

JSON-сериализация (ToJSON, FromJSON)

A1sX

XML-сериализация (ToXML, FromXML)

A1sChars

Проверки символов, поиск по алфавиту, утилиты по строкам

 

Модули работы с метаданными (A1sMC, A1sMD, A1sME) — в разработке и будут добавлены в следующих версиях.

 


3. Примеры использования

A. Запрос без ручного создания объекта и параметров

QT = "ВЫБРАТЬ Номенклатура ИЗ Справочник.Номенклатура ГДЕ ПометкаУдаления = &Флаг";
data = A1sQ.Unload(QT, Ложь);

B. Логирование события

A1sLog.Warn("Превышен лимит", Комментарий);

C. JSON-сериализация

строка = A1sJ.ToJSON(Структура);

D. Работа со строками

A1sS.Print("Документ записан: " + Ссылка);

Оптимизация реального кода из типовой

В конфигурации 1С:Бухгалтерия выбираю первый попавшийся запрос.
Он вытаскивает задачи исполнителей, связанные с бизнес-процессом. И прошу ИИ-помощника по библиотеке переписать код с использованием A1s и ее стандартов кода.
 

🚫 До (типовой 1С-код)

Запрос = Новый Запрос( "ВЫБРАТЬ
   | Задачи.Ссылка КАК Ссылка
   |ИЗ
   | Задача.ЗадачаИсполнителя КАК Задачи
   |ГДЕ
   | Задачи.БизнесПроцесс = &БизнесПроцесс");

Запрос.УстановитьПараметр("БизнесПроцесс", Ссылка);
ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();

 

Минусы:

  • Повторяемый шаблон: Новый Запрос, УстановитьПараметр, Выполнить().Выбрать()

  • Нет обработки ошибок

  • Нет форматирования или повторного использования


После (с использованием A1s)

&НаСервере
Function GetДеталиПоБизнесПроцессу(ссылка) Export

   ib = "ЗАГРУЗКА ДЕТАЛЬНЫХ ЗАДАЧ ПО ССЫЛКЕ НА БИЗНЕС-ПРОЦЕСС";
  Try
      // ТЕКСТ ЗАПРОСА
      QT = "ВЫБРАТЬ
      | Задачи.Ссылка КАК Ссылка
      |ИЗ
      | Задача.ЗадачаИсполнителя КАК Задачи
      |ГДЕ
      | Задачи.БизнесПроцесс = &БизнесПроцесс"; 


      // ВЫПОЛНЕНИЕ ЗАПРОСА С ПАРАМЕТРОМ
      таблица = A1sQ.Unload(QT, ссылка);
      // ВОЗВРАТ РЕЗУЛЬТАТА
      Return таблица;
   Except
      A1sS.Print(ib + ": ошибка выполнения запроса - " + ErrorDescription()); 
      Return Новый ТаблицаЗначений;
   EndTry;
EndFunction

 

Преимущества:

  • Используется QT + A1sQ.Unload — лаконично и понятно

  • Добавлена Try...Except-обработка ошибок

  • Комментарии-интенции (ib = "...") позволяют централизованно выводить контекст

  • Именование и стиль по стандарту библиотеки A1s

  • Код создается ИИ-помощником 👉 https://chatgpt.com/g/g-680318fd045c8191b8ffef6abb7aea12-a1s-assistent-1s-bystryi-start


Результат

Минимум кода при получении результатов запроса, максимум читаемости.


4. Стиль и структура кода

  • Все публичные процедуры/функции помечаются как Export, а область выполнения определяется флагами модулей
  • PascalCase — для процедур и функций
  • camelCase — для локальных переменных
  • XML-комментарии (/// <summary>…) — для всех экспортных методов
  • ib = "..." — строка-интенция перед логическим блоком
  • // ЗАГЛАВНЫЕ комментарии — для вызовов A1s

 

5. Тестирование

Каждый модуль содержит процедуру SelfTest() Export с базовыми проверками. Это позволяет быстро проверить работоспособность при обновлениях, а также запускать эти проверки автоматически в составе CI-сценариев (например, при обновлении конфигурации или перед публикацией).

 


6. Как подключить

  • скачать файл конфигурации .cf из вложения к публикации
  • Подключить как внешний общий модуль в своей конфигурации
  • Библиотека не требует дополнительных расширений, не зависит от БСП
  • Распространяется по лицензии MIT (свободное использование)

 


7. Заключение

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

В будущих версиях планируется поддержка работы с метаданными, типами данных и дальнейшее упрощение взаимодействия с объектами языка 1С.

Для ускоренной генерации кода с использованием A1s доступен AI-ассистент:
👉 https://chatgpt.com/g/g-680318fd045c8191b8ffef6abb7aea12-a1s-assistent-1s-bystryi-start

Ассистент помогает писать процедуры, запросы, автотесты и сопровождает A1s-подход в интерактивном режиме.

 

 

Автор A1s: Вадим Щетинкин

 

A1s общий модуль серверная логика логирование JSON XML сериализация Unload QT запросы 1С утилиты 1С SelfTest CodeStyle Export структура кода CI-проверки без БСП внешний модуль автоматизация 1С

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    189108    1051    403    

983

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    27755    184    90    

176

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

15000 руб.

10.11.2023    14442    62    33    

80

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

22200 руб.

06.10.2023    21432    56    19    

87

Инструментарий разработчика Программист Платформа 1С v8.3 Платные (руб)

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

9360 руб.

17.05.2024    31603    107    48    

149

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    19450    8    32    

43

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    105496    247    100    

312
Оставьте свое сообщение