A1sCode — библиотека кода 1С, дружественная к ИИ
Превращает 10 строк кода в 1 строку. Идеально для работы с ИИ-ассистентами — меньше токенов, больше скорости.
🎭 Знакомьтесь: 🐱 Кот Айван — ваш проводник в мир A1sCode, и 🦊 Лис Тинг — хранитель традиций типового 1С. Вместе они покажут разницу!
- ⚡ Запросы без рутины:
A1sQ.Unload("SELECT...")вместо 4 строк - 🤖 ИИ понимает с полуслова: короткие команды = точные подсказки
- 🧩 JSON, XML, строки, логи — всё готово к использованию
НОВИНКА: 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
v1.2.0Модуль интеграции с AI-сервисами
Быстрый доступ к 6 популярным AI-платформам с поддержкой обогащения промптов прямо из кода 1С. Открывайте ChatGPT, Perplexity, Bing AI, Gemini и другие одной строкой кода.
✨ Ключевые возможности:
Open()— универсальная функция для всех платформOpenChatGPT()— быстрый доступ к ChatGPTOpenPerplexity()— поиск с цитированием источников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*() в едином стиле
🌐 Поддерживаемые платформы:
Стандарты
Единые правила оформления кода и документации A1sCode для консистентных модулей и дружбы с ИИ.
Как разрабатывается A1sCode?
Почему нужна A1sCode?
Будущее разработки на языке 1С
Работа с массивами и структурами в A1sCode
A1sCode — Мини-курс за 28 дней
Реальные примеры экономии кода
Посмотрите, как 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 для доступа.
📥 Скачать
Полная конфигурация
Отдельные модули (.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 — Структуры
📚 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 для быстрого доступа к веб-инструментам — это экономит время и делает разработку удобнее!
НОВИНКА: 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()
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 — и страница готова!»