Распознавание документов и преобразование между ссылкой и объектом.
Проверяет, является ли значение документом (ссылка или объект).
Полная сигнатураIsDocument(Value) → Boolean
Параметр
Тип
Описание
Value
Arbitrary
Проверяемое значение
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Проверяет, является ли значение документом (ссылка или объект).// Граница: Обязательные параметры: Value// Результат: Boolean.
Успешно = A1sDocs.IsDocument(Value);
Проверяет, является ли значение ссылкой на документ.
Полная сигнатураIsRef(Value) → Boolean
Параметр
Тип
Описание
Value
Arbitrary
Проверяемое значение
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Проверяет, является ли значение ссылкой на документ.// Граница: Обязательные параметры: Value// Результат: Boolean.
Успешно = A1sDocs.IsRef(Value);
Проверяет, является ли значение объектом документа.
Полная сигнатураIsObject(Value) → Boolean
Параметр
Тип
Описание
Value
Arbitrary
Проверяемое значение
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Проверяет, является ли значение объектом документа.// Граница: Обязательные параметры: Value// Результат: Boolean.
Успешно = A1sDocs.IsObject(Value);
Возвращает объект документа из ссылки или объекта.
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Возвращает объект документа из ссылки или объекта.// Граница: Обязательные параметры: Value// Результат: DocumentObject | Undefined.
Результат = A1sDocs.GetObject(Value);
Возвращает ссылку на документ из ссылки или объекта.
Реквизиты шапки (A1sDS.Of(...)). Необязательно. По умолчанию: Неопределено.
ВозвращаетDocumentObject
Примерпример из исходника · сигнатура проверена1C
// Намерение: Создаёт новый документ и заполняет шапку из структуры.// Граница: Обязательные параметры: Name// Результат: DocumentObject.
Док = A1sDocs.Of("ВыпускПродукцииУслуг", A1sDS.Of(
"Дата", '20260201',
"Организация", МояОрг,
"Комментарий", "Квартиры"));
Создаёт документ и заполняет шапку с авторазрешением строк в ссылки. Комбинирует Of + FillAuto. Используется транслятором DSL когда шапка содержит строковые значения реквизитов-справочников.
Сырые данные шапки (строки допустимы) По умолчанию: Неопределено.
ВозвращаетDocumentObject
Примерпример из исходника · сигнатура проверена1C
// Намерение: Создаёт документ и заполняет шапку с авторазрешением строк в ссылки. Комбинирует Of + FillAuto. Используется транслятором DSL когда шапка содержит строковые значения реквизитов-справочников.// Граница: Обязательные параметры: Name// Результат: DocumentObject.// DSL: INTO Doc "ОтчетПроизводства"// HEADER// Организация = "ООО Ромашка" ← строка, будет разрешена// Склад = PARAM:Склад ← уже ссылка, копируется как есть
Dok
= A1sDocs.OfAuto(
"ОтчетПроизводства",
A1sDS.Of(
"Организация", "ООО Ромашка",
"Склад", СкладСсылка,
"Дата", ТекущаяДата())); //✏
Создаёт новый документ на основании другого документа (через платформенный Fill).
Дополнительные реквизиты поверх заполнения По умолчанию: Неопределено.
ВозвращаетDocumentObject
Примерпример из исходника · сигнатура проверена1C
// Намерение: Создаёт новый документ на основании другого документа (через платформенный Fill).// Граница: Обязательные параметры: Name, Base// Результат: DocumentObject.
Счёт = A1sDocs.OfBase("СчётНаОплатуПокупателю", ЗаказСсылка,
A1sDS.Of("Комментарий", "Сформирован автоматически"));
Копирует существующий документ с возможностью переопределения реквизитов.
Реквизиты для немедленного обновления. Необязательно. По умолчанию: Неопределено.
ВозвращаетDocumentObject
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Подключается к существующему документу: из ссылки возвращает объект, объект возвращает как есть. Симметрична Of() — та создаёт, эта подключает.// Граница: Обязательные параметры: DocOrRef// Результат: DocumentObject.
Результат = A1sDocs.OfRef(Документ);
Шапка и реквизиты
4 функции
Заполнение и обновление реквизитов шапки документа.
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Количество строк в табличной части.// Граница: Обязательные параметры: Doc, TabName// Результат: Number.
Результат = A1sDocs.RowCount(Документ, "Товары");
Добавляет строку в ТЧ, автоматически разрешая строковые значения в ссылки по типам реквизитов табличной части (через A1sCatalogs.EnsureByType). Код обработки не знает имён справочников — документ сам описывает свою схему.
Сырые данные строки (строки вместо ссылок допустимы)
ВозвращаетTabularSectionRow
Примерпример из исходника · сигнатура проверена1C
// Намерение: Добавляет строку в ТЧ, автоматически разрешая строковые значения в ссылки по типам реквизитов табличной части (через A1sCatalogs.EnsureByType). Код обработки не знает имён справочников — документ сам описывает свою схему.// Граница: Обязательные параметры: Doc, TabName, RawData// Результат: TabularSectionRow.// "Квартира 101" — строка; AddRowAuto увидит что поле "Номенклатура" — это// СправочникСсылка.Номенклатура и вызовет Ensure автоматическиA1sDocs.AddRowAuto(
Док,
"Продукция",
A1sDS.Of(
"Номенклатура", "Квартира 101",
"ЕдиницаИзмерения", "шт",
"Количество", 1,
"Сумма", 3500000)); //▶️
Массово загружает массив структур в ТЧ документа с автоматическим разрешением ссылок. Убирает инфраструктурный цикл из кода обработки: вместо "Для Каждого... AddRow..." — одна строка.
Полная сигнатураLoadRows(Doc, TabName, Rows) → Number
Параметр
Тип
Описание
Doc
Arbitrary
Объект или ссылка на документ
TabName
String
Имя табличной части
Rows
Array
Массив структур (сырые данные, строки допустимы)
ВозвращаетNumber
Примерпример из исходника · сигнатура проверена1C
// Намерение: Массово загружает массив структур в ТЧ документа с автоматическим разрешением ссылок. Убирает инфраструктурный цикл из кода обработки: вместо "Для Каждого... AddRow..." — одна строка.// Граница: Обязательные параметры: Doc, TabName, Rows// Результат: Number.// Создать документ и загрузить все строки — три строки кода вместо цикла с маппингом
Док
= A1sDocs.Of(
"ОтчётПроизводства",
A1sDS.Of("Дата", ТекущаяДата(), "Организация", МояОрг)); //✏
// LoadRows прогонит каждую строку через AddRowAuto:// строки → ссылки, числа и даты → как естьA1sDocs.LoadRows(Dok, "Продукция", МассивСтрокИзJSON); //▶️
A1sDocs.Post(Dok); //▶️
Очищает табличную часть и загружает строки из массива структур.
Полная сигнатураSetLoadRows(Doc, TabName, Rows) → Number
Параметр
Тип
Описание
Doc
Boolean
Параметр публичной сигнатуры.
TabName
String
Параметр публичной сигнатуры.
Rows
Arbitrary
Параметр публичной сигнатуры.
ВозвращаетNumber
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Очищает табличную часть и загружает строки из массива структур.// Граница: Обязательные параметры: Doc, TabName, Rows// Результат: Number.
Результат = A1sDocs.SetLoadRows(Документ, "Товары", Rows);
Загружает строки с переименованием полей источника и авторазрешением ссылок. Объединяет A1sDS.RenameFields + LoadRows в один вызов. Нужен когда имена полей в источнике (JSON/CSV) отличаются от имён реквизитов ТЧ.
Полная сигнатураLoadRowsMapped(Doc, TabName, Rows, FieldMapping) → Number
Параметр
Тип
Описание
Doc
Arbitrary
Объект или ссылка на документ
TabName
String
Имя табличной части
Rows
Array
Массив структур с именами полей источника
FieldMapping
Structure
A1sDS.Of("ИмяВИсточнике", "ИмяВТЧ", ...)
ВозвращаетNumber
Примерпример из исходника · сигнатура проверена1C
// Намерение: Загружает строки с переименованием полей источника и авторазрешением ссылок. Объединяет A1sDS.RenameFields + LoadRows в один вызов. Нужен когда имена полей в источнике (JSON/CSV) отличаются от имён реквизитов ТЧ.// Граница: Обязательные параметры: Doc, TabName, Rows, FieldMapping// Результат: Number.// JSON содержит поля "item", "unit", "qty" —// а в ТЧ "Продукция" поля "Номенклатура", "ЕдиницаИзмерения", "Количество"A1sDocs.LoadRowsMapped(
Dok,
"Продукция",
МассивИзJSON,
A1sDS.Of(
"item", "Номенклатура",
"unit", "ЕдиницаИзмерения",
"qty", "Количество")); //▶️
Очищает ТЧ и загружает строки с переименованием и авторазрешением ссылок.
Полная сигнатураSetLoadRowsMapped(Doc, TabName, Rows, FieldMapping) → Number
Параметр
Тип
Описание
Doc
Arbitrary
Объект или ссылка на документ
TabName
String
Имя табличной части
Rows
Array
Массив структур
FieldMapping
Structure
Схема переименования
ВозвращаетNumber
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Очищает ТЧ и загружает строки с переименованием и авторазрешением ссылок.// Граница: Обязательные параметры: Doc, TabName, Rows, FieldMapping// Результат: Number.
Результат = A1sDocs.SetLoadRowsMapped(Документ, "Товары", Rows, "Наименование");
Ядро для FillRows. Заполняет ТЧ по маппингу полей. Поддерживает: ТаблицаЗначений, Массив Структур, Массив Соответствий (JSON).
Реквизиты для заполнения/обновления. Необязательно. По умолчанию: Неопределено.
ВозвращаетDocumentRef
Примерпример из исходника · сигнатура проверена1C
// Намерение: Найти или создать документ по Номер+Дата (upsert). Если документ найден — может обновить реквизиты. Если не найден — создаёт новый.// Граница: Обязательные параметры: DocName, Номер, Дата// Результат: DocumentRef.
Ссылка = A1sDocs.EnsureByNumberDate(
"РеализацияТоваровУслуг",
"INV-001",
Дата,
A1sDS.Of("Контрагент", Контрагент)
);
Upsert документа (найти или создать) по Номер+Дата. Может обновлять реквизиты и проводить документ.
Дополнительный фильтр (необязательно) По умолчанию: Неопределено.
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Все документы в периоде с опциональным фильтром.// Граница: Обязательные параметры: DocName, StartDate, EndDate// Результат: Array.
Реализации = A1sDocs.AllInPeriod("РеализацияТоваровУслуг",
НачалоМесяца, КонецМесяца,
A1sDS.Of("Контрагент", КонтрагентСсылка));
Условие WHERE (без ключевого слова WHERE) По умолчанию: "".
Params
Structure
Параметры запроса По умолчанию: Неопределено.
OrderBy
String
Сортировка По умолчанию: "".
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Получить массив ссылок по условию.// Граница: Обязательные параметры: Name// Результат: Array.
Ссылки = A1sDocs.Refs("РеализацияТоваровУслуг",
"НЕ ПометкаУдаления И Организация = &Орг",
A1sDS.Of("Орг", ОргСсылка), "Дата УБЫВ");
Подсчитать количество документов по условию.
Полная сигнатураCount(Name, Where = "", Params = Неопределено) → Number
Параметр
Тип
Описание
Name
String
Имя документа
Where
String
Условие WHERE По умолчанию: "".
Params
Structure
Параметры запроса По умолчанию: Неопределено.
ВозвращаетNumber
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Подсчитать количество документов по условию.// Граница: Обязательные параметры: Name// Результат: Number.
Результат = A1sDocs.Count("Name");
Проверить существование документов по условию.
Полная сигнатураExists(Name, Where = "", Params = Неопределено) → Boolean
Параметр
Тип
Описание
Name
String
Имя документа
Where
String
Условие WHERE По умолчанию: "".
Params
Structure
Параметры запроса По умолчанию: Неопределено.
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Проверить существование документов по условию.// Граница: Обязательные параметры: Name// Результат: Boolean.
Успешно = A1sDocs.Exists("Name");
Проверки состояния
4 функции
Проверки пустоты, удаления, уникальности и других состояний.
Проверяет, проведён ли документ.
Полная сигнатураIsPosted(DocRef) → Boolean
Параметр
Тип
Описание
DocRef
Boolean
Параметр публичной сигнатуры.
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Проверяет, проведён ли документ.// Граница: Обязательные параметры: DocRef// Результат: Boolean.
Успешно = A1sDocs.IsPosted(Документ);
Проверяет, является ли значение пустой ссылкой документа.
Полная сигнатураIsEmpty(Name, Value) → Boolean
Параметр
Тип
Описание
Name
String
Параметр публичной сигнатуры.
Value
Arbitrary
Параметр публичной сигнатуры.
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Проверяет, является ли значение пустой ссылкой документа.// Граница: Обязательные параметры: Name, Value// Результат: Boolean.
Успешно = A1sDocs.IsEmpty("Name", Value);
Детальная информация о документе в виде структуры.
Дополнительные реквизиты через запятую По умолчанию: "".
ВозвращаетStructure
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Детальная информация о документе в виде структуры.// Граница: Обязательные параметры: DocRef// Результат: Structure.
Данные = A1sDocs.Details(Документ);
Находит непроведённые документы из массива.
Полная сигнатураUnpostedDocs(Docs) → Array
Параметр
Тип
Описание
Docs
Array
Массив ссылок
ВозвращаетArray
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Находит непроведённые документы из массива.// Граница: Обязательные параметры: Docs// Результат: Array.
Массив = A1sDocs.UnpostedDocs(Документ);
// Намерение: Схема всех реквизитов шапки документа. Каждый элемент: {Имя, Тип, ТипСтрока, ЭтоСправочник, ИмяСсылки}.// Граница: Обязательные параметры: DocName// Результат: Array.// Готовое описание шапки для ТЗ — без открытия конфигуратора
Схема = A1sDocs.AttrSchema("РеализацияТоваровУслуг");
Для Каждого Поле Из Схема Цикл
Если Поле.ЭтоСсылка Тогда
Сообщить(Поле.Имя + " → " + Поле.ВидСсылки + "." + Поле.ИмяСсылки);
Иначе
Сообщить(Поле.Имя + " → " + Поле.ТипСтрока);
КонецЕсли;
КонецЦикла;
// Намерение: Тип реквизита табличной части документа.// Граница: Обязательные параметры: DocName, TabName, AttrName// Результат: TypeDescription.// Получить тип поля ТЧ и сразу разрешить строку в ссылку
Тип
= A1sDocs.TabAttrType(
"ОтчётПроизводства",
"Продукция",
"Номенклатура"); //✏
Ссылка
= A1sCatalogs.EnsureByType(
Тип,
"Квартира 101"); //▶️
Схема всех реквизитов табличной части документа. Каждый элемент: {Имя, Тип, ТипСтрока, ЭтоСправочник, ИмяСсылки}. Используется для генерации ТЗ, валидации источника данных и диагностики.
// Намерение: Схема всех реквизитов табличной части документа. Каждый элемент: {Имя, Тип, ТипСтрока, ЭтоСправочник, ИмяСсылки}. Используется для генерации ТЗ, валидации источника данных и диагностики.// Граница: Обязательные параметры: DocName, TabName// Результат: Array.// Валидация: проверить что все справочниковые поля есть в источнике JSON
Схема = A1sDocs.TabSchema("ОтчётПроизводства", "Продукция");
Для Каждого Поле Из Схема Цикл
Если Поле.ЭтоСсылка И НЕ ДанныеJSON[0].Свойство(Поле.Имя) Тогда
Сообщить("ВНИМАНИЕ: поле " + Поле.Имя + " отсутствует в источнике");
КонецЕсли;
КонецЦикла;
Метаданные
6 функций
Состав объектов метаданных и имена табличных частей.
Менеджер документа по имени.
Полная сигнатураManager(Name) → DocumentManager
Параметр
Тип
Описание
Name
String
Параметр публичной сигнатуры.
ВозвращаетDocumentManager
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Менеджер документа по имени.// Граница: Обязательные параметры: Name// Результат: DocumentManager.
Результат = A1sDocs.Manager("Name");
Пустая ссылка документа.
Полная сигнатураEmpty(Name) → DocumentRef
Параметр
Тип
Описание
Name
String
Параметр публичной сигнатуры.
ВозвращаетDocumentRef
Примерпример добавлен при аудите · сигнатура проверена1C