A1sCode — библиотека для 1С:Предприятие. Четыре модуля убирают шаблонный код при работе со структурами, массивами, справочниками и документами.
// Прежде — 40 строк. Теперь: Гр = A1sCatalogs.EnsureGroup( "Номенклатура", "Корпус А"); A1sCatalogs.EnsureBatch( "Номенклатура", Имена, A1sDS.Of("Родитель", Гр)); A1sDocs.On("ВыпускПродукцииУслуг", A1sDS.Of( "Дата", '20260201', "Организация", МояОрг)) .LoadRows("Продукция", ДанныеExcel) .Post();
Каждый модуль решает одну задачу. Они не зависят друг от друга, но отлично работают вместе.
Создание, трансформация и анализ структур. Заменяет шаблонный код «Новый Структура + N вызовов Вставить» на одну инлайн-строку.
Операции над массивами без ручных циклов. Chunk для пачечной загрузки, Union/Difference для работы как с множествами, PickFilled для очистки данных.
Полный жизненный цикл работы со справочниками. Ensure закрывает find-or-create одной строкой. EnsureUpdate — upsert для регулярных синхронизаций.
Создание, заполнение и проведение документов. LoadRowsMapped заменяет цикл с маппингом одним вызовом. PostAll проводит пачку с отчётом об ошибках.
Восемь частей — от строительных блоков до реальных проектов. Каждый рецепт — рабочий код с объяснением каждой строки.
Реальные сценарии — до 10 строк вместо 40–60.
Dok = A1sDocs.Of("ВыпускПродукцииУслуг", A1sDS.Of("Дата", '20260201', "Организация", МояОрг)); A1sDocs.LoadRows(Dok, "Продукция", ДанныеExcel); Ссылка = A1sDocs.Post(Dok);
Для Каждого Поз Из ПрайсЛист Цикл A1sCatalogs.EnsureUpdate( "Номенклатура", Поз.Наименование, A1sDS.Of("Цена", Поз.Цена, "Родитель", Гр)); КонецЦикла;
Итог = A1sDocs.PostAll( A1sDocs.AllUnposted( "ВыпускПродукцииУслуг", '20260201', '20260228')); Сообщить("✓ " + Итог.Success.Количество() + " ✗ " + Итог.Failed.Количество());
Библиотека подключается в любую конфигурацию за несколько минут.
// 1. Скопировать обработки в конфигурацию: // A1sDS.epf, A1sAR.epf, // A1sCatalogs.epf, A1sDocs.epf // 2. Добавить общие модули (если нужно): // A1sQ — вспомогательные запросы // 3. Использовать: Ссылка = A1sCatalogs.Ensure( "Номенклатура", "Квартира 101", A1sDS.Of("Родитель", Гр)); // 4. Проверить установку: A1sDocs.SelfTest(); A1sCatalogs.SelfTest(); A1sDS.SelfTest(); A1sAR.SelfTest();
Загрузить релиз с a1scode.ru или из репозитория. Четыре файла обработок.
Загрузить обработки в «Обработки» конфигуратора. Никаких изменений типовой конфигурации не требуется.
Вызвать A1sDocs.SelfTest() из консоли — убедиться что всё работает. Ожидаемый вывод:
✓ Пройдено N из N.
Часть 1 покрывает A1sDS и A1sAR — базовые строительные блоки. Остальные части строятся на них.
Полный справочник всех 160+ функций с живым поиском.
Фильтр по модулю, сортировка, бейджи
v2.1.