1) Избыточная многословность
Там, где нужна одна операция, появляется 5–10 строк избыточной обвязки кодом. (доп.расход на токены при работе с ИИ)
A1sCode дополняет БСП: убирает рутину, не навязывает архитектуру и делает код дружелюбным к ИИ‑ассистентам.
Там, где нужна одна операция, появляется 5–10 строк избыточной обвязки кодом. (доп.расход на токены при работе с ИИ)
Встраивание в экосистему БСП поднимает порог входа и стоимость сопровождения. (при работе с ИИ требует огромного контекстного окна)
Длинные идентификаторы и многообвязки ухудшают читаемость и мешают ИИ‑генерации (больше токенов на ИИ-обработку = больше стоимость!).
Задача: получить ссылку пользователя по ИдентификаторПользователяИБ. Сначала — «ручной» чистый 1С, затем — тот же смысл через A1sCode.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
Пользователи.Ссылка КАК Ссылка
Из
Справочник.Пользователи КАК Пользователи
ГДЕ
Пользователи.ИдентификаторПользователяИБ = &UID";
Запрос.УстановитьПараметр("UID", UID);
Таб = Запрос.Выполнить().Выгрузить();
Пользователь = ?(Таб.Количество() > 0, Таб[0].Ссылка,
Справочники.Пользователи.ПустаяСсылка());
Пользователь = A1sQ.ValueQ(
"ВЫБРАТЬ Ссылка
ИЗ Справочник.Пользователи
ГДЕ ИдентификаторПользователяИБ = &UID",
Справочники.Пользователи.ПустаяСсылка(),
UID
);
Экономия строк, встроенная обработка ошибок и значение по умолчанию «из коробки».
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ КОЛИЧЕСТВО(*) КАК Количество
ИЗ Справочник.Пользователи
ГДЕ НЕ ПометкаУдаления";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Выборка.Следующий();
Количество = Выборка.Количество;
Количество = A1sQ.ValueQ(
"ВЫБРАТЬ КОЛИЧЕСТВО(*) ИЗ Справочник.Пользователи
ГДЕ НЕ ПометкаУдаления",
0
);
Функции типа A1sQ.ValueQ, CountQ, ExistsQ
уменьшают объём промптов и количество ошибок ИИ.
QT → Unload / FirstRow → Default — единый контракт для генерации кода.
Смотри страницу «Как разрабатывается A1sCode»: мини‑итерации, self‑tests, жёсткая обработка ошибок.
Открыть процессЕсть = A1sQ.ExistsQ(
"ВЫБРАТЬ Ссылка
ИЗ Справочник.Номенклатура
ГДЕ Код = &Код",
КодТовара);
Топ = A1sQ.Unload(
"ВЫБРАТЬ ПЕРВЫЕ 10 Контрагент,
СУММА(СуммаДокумента) КАК Оборот
ИЗ Документ.Продажа
ГДЕ Дата МЕЖДУ &D1 И &D2
СГРУППИРОВАТЬ ПО Контрагент
УПОРЯДОЧИТЬ ПО Оборот УБЫВ",
D1, D2);
Подключите A1sQ в текущий проект. Не зайдёт — удалите за 5 минут. Зайдёт —
добавьте остальное выборочно.