A1sCode библиотека 1С

A1sCode — библиотека кода 1С, дружественная к ИИ

Превращает 10 строк кода в 1 строку. Идеально для работы с ИИ-ассистентами — меньше токенов, больше скорости.

🎭 Знакомьтесь: 🐱 Кот Айван — ваш проводник в мир A1sCode, и 🦊 Лис Тинг — хранитель традиций типового 1С. Вместе они покажут разницу!

Скачать конфигурацию (.cf)

  • ⚡ Запросы без рутины: A1sQ.Unload("SELECT...") вместо 4 строк
  • 🤖 ИИ понимает с полуслова: короткие команды = точные подсказки
  • 🧩 JSON, XML, строки, логи — всё готово к использованию
Шпаргалки: быстрые мини-введения по библиотеке и по 1С.
Справочник A1sCode → Справочник 1С →
🤖

НОВИНКА: A1sAI — Интеграция с AI-сервисами

Открывайте запросы к ChatGPT, Claude, Perplexity и другим AI прямо из 1С

Одна строка — и AI готов помочь:

A1sAI.OpenChatGPT("Как работает ООП?");

С обогащением промптов:

A1sAI.Open(
    "Напиши REST API",
    "chatgpt",
    "РОЛЬ: Python эксперт",
    "ФОРМАТ: С кодом"
);

🐱 Кот Айван говорит: "Теперь я могу спрашивать ChatGPT о коде прямо из 1С! Поддерживаются ChatGPT, Perplexity, Claude, Gemini, Bing и HuggingChat. До 8 параметров обогащения для точных ответов!"

📖 Подробная документация 📥 Скачать A1sAI.bsl
🤖

A1sAI

v1.2.0

Модуль интеграции с AI-сервисами

Быстрый доступ к 6 популярным AI-платформам с поддержкой обогащения промптов прямо из кода 1С. Открывайте ChatGPT, Perplexity, Bing AI, Gemini и другие одной строкой кода.

6 платформ
Обогащения (8 параметров)
Алиасы (gpt, pplx)
Random режим
Английский API
Зависимости: A1sS, A1sO

✨ Ключевые возможности:

  • Open() — универсальная функция для всех платформ
  • OpenChatGPT() — быстрый доступ к ChatGPT
  • OpenPerplexity() — поиск с цитированием источников
  • BuildEnrichedPrompt() — создание промптов с контекстом
  • ListPlatforms() — список доступных AI-сервисов

💡 Пример использования:

// Простой запрос
      A1sAI.Open("Как оптимизировать запросы в 1С?");
      
      // С выбором платформы и обогащениями
      A1sAI.Open(
          "Напиши функцию парсинга JSON",
          "chatgpt",
          "РОЛЬ: Эксперт по 1С с 10-летним стажем",
          "ФОРМАТ: Код с подробными комментариями",
          "ОГРАНИЧЕНИЯ: Только встроенные средства 1С 8.3"
      );
      
      // Быстрый доступ к конкретной платформе
      A1sAI.OpenChatGPT("Объясни транзакции в 1С");
      A1sAI.OpenPerplexity("Последние новости Python 2025");
      
      // Случайная платформа для разных точек зрения
      A1sAI.Open("Как организовать кеширование?", "random");

🆕 Ключевые особенности v1.2.0:

  • Английский API — универсальный стиль, понятный для всех разработчиков
  • Компактность — OpenChatGPT всего 13 символов
  • BuildEnrichedPrompt — построение промптов с контекстом
  • Консистентность — все функции Open*() в едином стиле

🌐 Поддерживаемые платформы:

ChatGPT gpt, oai
Perplexity pplx
Bing AI msbing
Gemini
You.com you.com
HuggingChat

Стандарты

Единые правила оформления кода и документации A1sCode для консистентных модулей и дружбы с ИИ.

Как разрабатывается A1sCode?

Пример дня разработки нового модуля A1sCode

Почему нужна A1sCode?

В мире ИИ-разработки кода 1🐱 A1sCode имеет преимущества

Будущее разработки на языке 1С

Роль A1sCode в ИИ-разработке кода 1С

Работа с массивами и структурами в A1sCode

Примеры работы с массивами и структурами в A1sCode

A1sCode — Мини-курс за 28 дней

Мини-курс по A1sCode из 28 частей: практика по ключевым модулям библиотеки: A1sQ, A1sO, A1sS, A1sLog, A1sJ, A1sX, A1sArrays, A1sLocks

Реальные примеры экономии кода

Посмотрите, как A1sCode превращает рутинные задачи в одну строку кода.

📊 Получить список клиентов

🦊 обычный код 1С (6 строк)

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

🐱 A1sCode (1 строка)

ТаблицаКлиентов = A1sQ.Unload("
  ВЫБРАТЬ Наименование, ИНН, Телефон 
  ИЗ Справочник.Контрагенты 
  ГДЕ НЕ ПометкаУдаления
");

💰 Подсчёт продаж с параметрами

🦊 обычный код 1С (8 строк)

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
  |  СУММА(Сумма) КАК ОбщаяСумма
  |ИЗ Документ.РеализацияТоваровУслуг
  |ГДЕ Дата МЕЖДУ &Начало И &Конец
  |  И Контрагент = &Клиент";
Запрос.УстановитьПараметр("Начало", НачалоМесяца);
Запрос.УстановитьПараметр("Конец", КонецМесяца);
Запрос.УстановитьПараметр("Клиент", ВыбранныйКлиент);
Сумма = Запрос.Выполнить().Выгрузить()[0].ОбщаяСумма;

🐱 A1sCode (2 строки)

Таблица = A1sQ.Unload("ВЫБРАТЬ СУММА(Сумма) ИЗ Документ.РеализацияТоваровУслуг 
  ГДЕ Дата МЕЖДУ &1 И &2 И Контрагент = &3", НачалоМесяца, КонецМесяца, ВыбранныйКлиент);
Сумма = Таблица[0][0]; // Первая колонка первой строки

📝 Логирование процессов

🦊 обычный код 1С (7 строк)

ЗаписьЖурналаРегистрации(
    "Импорт товаров",
    УровеньЖурналаРегистрации.Информация,
    Неопределено,
    Неопределено,
    "Начали загрузку " + Строка(КоличествоТоваров) + " позиций",
    РежимТранзакцииЗаписиЖурналаРегистрации.Независимая
);

🐱 A1sCode (1 строка)

A1sLog.Info("Импорт товаров", "Начали загрузку " + КоличествоТоваров + " позиций");

🔄 Работа с JSON

🦊 обычный код 1С (много строк)

// Ручная сборка JSON строки
JSONСтрока = "{""клиент"": """ + Клиент.Наименование + """, ";
JSONСтрока = JSONСтрока + """телефон"": """ + Клиент.Телефон + """, ";
JSONСтрока = JSONСтрока + """сумма"": " + Строка(Сумма) + "}";

// Или через стандартные средства:
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
// ... много кода для записи структуры

🐱 A1sCode (2 строки)

Данные = Новый Структура("клиент, телефон, сумма", Клиент.Наименование, Клиент.Телефон, Сумма);
JSONСтрока = A1sJ.ToJSON(Данные); // {"клиент":"ООО Ромашка","телефон":"+7(999)123-45-67","сумма":150000}

🧹 Очистка текста

🦊 обычный код 1С (множество строк)

Телефон = "+7 (999) 123-45-67 доб.100";
Телефон = СтрЗаменить(Телефон, "+", "");
Телефон = СтрЗаменить(Телефон, "(", "");
Телефон = СтрЗаменить(Телефон, ")", "");
Телефон = СтрЗаменить(Телефон, "-", "");
Телефон = СтрЗаменить(Телефон, " ", "");
// ... ещё много замен для всех символов
// Результат: "79991234567доб100"

🐱 A1sCode (1 строка)

ЧистыйТелефон = A1sS.RegexReplace("+7 (999) 123-45-67 доб.100", "\\D", "");
// Результат: "79991234567100" - только цифры

💡 Полный пример: обработка заказа

Задача: получить заказы клиента, посчитать сумму, отправить уведомление, записать в лог

Обычный подход (30+ строк)

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

// Считаем сумму
ОбщаяСумма = 0;
Для Каждого Строка Из ТаблицаЗаказов Цикл
    ОбщаяСумма = ОбщаяСумма + Строка.Сумма;
КонецЦикла;

// Формируем JSON для API
JSONСтрока = "{""клиент"": """ + ВыбранныйКлиент.Наименование + """, ";
JSONСтрока = JSONСтрока + """заказов"": " + Строка(ТаблицаЗаказов.Количество()) + ", ";
JSONСтрока = JSONСтрока + """сумма"": " + Строка(ОбщаяСумма) + "}";

// Логируем
ЗаписьЖурналаРегистрации(
    "Обработка заказов",
    УровеньЖурналаРегистрации.Информация,
    Неопределено, Неопределено,
    "Обработано " + Строка(ТаблицаЗаказов.Количество()) + " заказов",
    РежимТранзакцииЗаписиЖурналаРегистрации.Независимая
);

🐱 A1sCode (6 строк)

// Получаем заказы и считаем всё сразу
Заказы = A1sQ.Unload("ВЫБРАТЬ Номер, Сумма, СУММА(Сумма) ИТОГО
  ИЗ Документ.ЗаказПокупателя
  ГДЕ Контрагент = &1 И Дата >= &2", ВыбранныйКлиент, НачалоГода(ТекущаяДата()));

// Формируем данные для API
Данные = Новый Структура("клиент, заказов, сумма",
  ВыбранныйКлиент.Наименование, Заказы.Количество(), Заказы.Итого("Сумма"));
JSONДляAPI = A1sJ.ToJSON(Данные);

// Логируем результат
A1sLog.Info("Обработка заказов", "Обработано " + Заказы.Количество() + " заказов на " + Данные.сумма);

🤖 Почему ИИ обожает A1sCode

⚡ Меньше токенов

Вместо 200 символов в запросе — 50. ИИ быстрее понимает и генерирует точный код.

// ИИ видит:
A1sQ.Unload("SELECT...")

// Вместо:
Запрос = Новый Запрос;
Запрос.Текст = "SELECT...";
Результат = Запрос.Выполнить();
...

🎯 Предсказуемость

Одинаковые паттерны для всех функций. ИИ знает: если A1sQ, то работа с запросами.

A1sQ.Unload()  // выгрузка
A1sQ.ExecuteQ() // выполнение
A1sJ.ToJSON()   // в JSON
A1sS.Print()    // вывод

🧠 Контекст

Короткие имена = больше места для бизнес-логики в промпте. ИИ концентрируется на задаче.

// Больше места для:
"Найди клиентов без заказов за месяц"

// Вместо технических деталей:
"Создай запрос, установи параметры..."

🚀 Мгновенный результат

Демо-код, который можно запустить прямо сейчас:


#Region A1s_Demo_Complete

/// Полное демо: запросы → обработка → вывод → экспорт
&НаСервере
Процедура ПолноеДемоA1sCode() Экспорт

    // 1️⃣ Получаем топ-продукты одной строкой
    Товары = A1sQ.Unload("ПЕРВЫЕ 10 Наименование, Артикул, Цена
        ИЗ Справочник.Номенклатура ГДЕ НЕ ПометкаУдаления
        УПОРЯДОЧИТЬ ПО Цена УБЫВ");

    A1sS.Print("Найдено товаров: " + Товары.Количество());

    // 2️⃣ Экспортируем в JSON для API
    JSONДанные = A1sJ.ToJSON(Товары, Истина); // компактно
    A1sS.Print("JSON готов: " + Лев(JSONДанные, 100) + "...");

    // 3️⃣ Создаём XML для интеграции
    XMLДанные = A1sX.ToXML(Товары);
    A1sS.Print("XML готов: " + Лев(XMLДанные, 100) + "...");

    // 4️⃣ Логируем успешное выполнение
    A1sLog.Info("Демо A1sCode", "Обработано " + Товары.Количество() + " товаров");

    // 5️⃣ Бонус: очищаем номер телефона клиента
    Телефон = A1sS.RegexReplace("+7 (999) 123-45-67", "\\D", "");
    A1sS.Print("Чистый телефон: " + Телефон); // 79991234567

КонецПроцедуры

#EndRegion

💡 Результат: 20 строк делают то же, что обычно требует 80+ строк кода!

⭐ Преимущества A1sCode

Скорость разработки
В 3-5 раз быстрее писать типовые задачи
🤖 ИИ-дружелюбность
Ассистенты понимают с полуслова
🎯 Меньше ошибок
Проверенные паттерны вместо копипасты
📖 Простота изучения
Единый стиль, русская документация
🔧 Модульность
Подключайте только нужные компоненты
🏢 Готовность к продакшену
Сервер, фоновые задания, логирование

🎓 Ассистент A1sCode для 1С

ИИ-помощник, который знает библиотеку наизусть и поможет с любыми вопросами.

Открыть ассистента OpenAI ChatGPT

⚠️ Размещён на серверах OpenAI — может потребоваться VPN для доступа.

📥 Скачать

Полная конфигурация

Скачать A1sCode.cf

Отдельные модули (.bsl)

A1sAI.bsl — работа с запросами к ИИ 🆕
A1sWeb.bsl — работа с запросами к Web-источникам 🆕
A1sS.bsl — строки и вывод A1sLog.bsl — логирование
A1sAR.bsl — работа с массивами
A1sVT.bsl — работа с таблицами значений
A1sDS.bsl — работа структурами
A1sMaps.bsl — работа с соответствиями
A1sChecks.bsl — работа с проверками
A1sO.bsl — функции общего назначения
A1sLocks.bsl — функции для работы с блокировками данных
A1sQ.bsl — запросы и выгрузка
A1sJ.bsl — работа с JSON A1sX.bsl — работа с XML
A1sChars.bsl — символы A1sFake.bsl — генерация фейковых данных A1sTesting.bsl — тестирование

📚 Документация модулей

📀 A1sDS — Структуры

→ Операции со структурами → GetOrInsertPath()

📚 A1sAR — Массивы

→ Операции с массивами

⚖️ Сравнение

→ A1sDS vs A1sAR
📖

Руководство разработчика

Полное руководство по модулям A1sAR и A1sDS с исправленными примерами и лучшими практиками. Основано на реальных функциях из исходного кода!

🐱🦊 Новинка! В руководстве вас встретят Кот Айван и Лис Тинг, которые покажут разницу между A1sCode и типовым кодом через наглядные "код-дуэли".

✅ Только существующие функции ⚠️ Исправлены несоответствия
Открыть руководство →
🌐

НОВИНКА: A1sWeb — Веб‑инструменты из 1С

Открывайте Google, StackOverflow, GitHub, JSON‑просмотрщики, Regex‑тестеры, QR‑генераторы одной строкой кода

🎯 Быстрый старт

// 1. Google по тексту ошибки
A1sWeb.Google("1С Ошибка: Поле объекта не обнаружено");

// 2. Проверить JSON
A1sWeb.ValidateJSON("{""a"":1}");
A1sWeb.ViewJSON("{""a"":1}");

// 3. Найти код по теме
A1sWeb.GitHubCode("zip архив 1С", "1c");

// 4. QR для ссылки
A1sWeb.GenerateQRCode("https://a1scode.ru", 300);

🐱 Совет от кота Айвана: Используй A1sWeb для быстрого доступа к веб-инструментам — это экономит время и делает разработку удобнее!

📖 Документация A1sWeb 📥 Скачать A1sWeb.bsl
📊

НОВИНКА: A1sVT — Работа с таблицами значений

Создавайте, заполняйте и обрабатывайте таблицы одной строкой. Сократите код на 80-95%!

🦊 Было (типовой код):

Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Код", 
    Новый ОписаниеТипов("Строка"));
Таблица.Колонки.Добавить("Наименование",
    Новый ОписаниеТипов("Строка"));
НоваяСтрока = Таблица.Добавить();
НоваяСтрока.Код = "001";
НоваяСтрока.Наименование = "Товар 1";

🐱 Стало (A1sVT):

Таблица = A1sVT.Of("Код,Наименование", 
    A1sAR.Of(
        A1sDS.Of("Код", "001", 
                 "Наименование", "Товар 1")
    )
);

🐱 Кот Айван: «Ваш код с таблицами ЕГАИС занимал 550 строк? С A1sVT это будет 30 строк (-95% кода)! Функциональный стиль как в JavaScript Lodash!»

✨ Создание
Of(), WithColumns()
🔍 Поиск
FindRow(), Filter()
🔄 Преобразования
ToArray(), Column()
📈 Группировка
GroupBy(), Sort()
📖 Полный обзор A1sVT 📥 Скачать A1sVT.bsl 📄 README
🎨

A1sHTML + A1sCSS — визуальный слой A1sCode

Создание HTML-страниц и современных CSS-стилей прямо из 1С

🧱 Генерация HTML-разметки

HTML = A1sHTML.Display(
      A1sHTML.H1("Пример страницы") +
      A1sHTML.P("Сгенерировано прямо из 1С!") +
      A1sHTML.Button("OK", "primary", "alert('Hi!')")
      );

Функции Page(), Div(), H1(), P(), Button() и др. создают полноценную страницу без ручного конкатенирования строк.

🎨 Современный CSS

// Получить стили со шрифтами и темой
CSS = A1sCSS.GetModernCSS(Истина, "auto");
// Или минимальный набор
CSS = A1sCSS.GetMinimalCSS();

A1sCSS формирует готовый блок <style> с адаптивной типографикой, кнопками, карточками, светлой/тёмной темой и шрифтами Arimo, Inter, JetBrains Mono.

🐱 Кот Айван: «Теперь 1С может красиво верстать HTML прямо из кода — без внешних шаблонов. Подключай A1sHTML и A1sCSS — и страница готова!»

📥 Скачать A1sHTML.bsl 📥 Скачать A1sCSS.bsl 📖 Документация