<Имя общего реквизита>

Язык запросов · <Common attribute name>

Синтаксис и применение <Имя общего реквизита> в платформе 1С:Предприятие. Описание и примеры кода.

Полное описание, параметры и ограничения

<Имя общего реквизита> (<Common attribute name>)

<Имя общего реквизита> (<Common attribute name>)
Тип: Произвольный.
Набор таких полей и их наименования определяются набором общих реквизитов - разделителей (РазделениеДанных = Разделять) с использованием разделяемых данных ИспользованиеРазделяемыхДанных = НезависимоИСовместно, в которых участвуют входящие в последовательность документы.

Методическая информация

Практические примеры

Прочитать <Имя общего реквизита> собственной последовательности

Основная таблица показывает принадлежность своего записанного документа последовательности. Период, ссылка регистратора и МоментВремени читаются раздельно; момент включает положение документа, а не только дату.

Где и как запускать

Тело серверной процедуры собственной учебной обработки: сначала дополнительный блок, затем основной запрос.

Подготовка

  1. В отдельной пустой учебной конфигурации создайте документ УчебнаяЗапискаПоследовательности: строковый номер 12 с автонумерацией, проведение не требуется.

  2. Создайте последовательность УчебныйПорядокДокументов, включите в её состав документ УчебнаяЗапискаПоследовательности. Добавьте измерение Склад типа Строка 40.

  3. Обновите только учебную базу. Основной код и первый дополнительный блок поместите в одну серверную процедуру своей обработки: сначала дополнительный, затем запрос.

  4. Каждый запуск создаёт новый документ и уникальное значение собственного измерения Склад. Запись набора ограничена новым регистратором, установка границы — конкретным новым значением измерения.

  5. Для страницы общего реквизита используйте свою отдельную учебную клиент-серверную базу с разделением данных. Создайте параметры сеанса УчебнаяОбластьПорядка (Число 10.0) и УчебнаяОбластьПорядкаИспользуется (Булево).

  6. Создайте общий реквизит УчебнаяОбластьПорядка типа Число 10.0: РазделениеДанных = Разделять, ИспользованиеРазделяемыхДанных = НезависимоИСовместно. Значение и использование разделения свяжите с указанными параметрами сеанса.

  7. В состав общего реквизита включите именно документ УчебнаяЗапискаПоследовательности; Автоиспользование = Не использовать. Набор полей разделителей последовательности определяется участвующими документами. Обычный реквизит Склад этот разделитель не заменяет.

  8. Подготовка устанавливает свою область 1 до записи своего документа. Разделение пользователей / аутентификации не включайте, рабочие базы не меняйте.

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|    Данные.Склад КАК Склад,
|    Данные.Период КАК Период,
|    Данные.Регистратор КАК Регистратор,
|    Данные.МоментВремени КАК МоментВремени,
|    Данные.УчебнаяОбластьПорядка КАК УчебнаяОбластьПорядка
|ИЗ Последовательность.УчебныйПорядокДокументов КАК Данные
|ГДЕ Данные.Склад = &Склад";
Запрос.УстановитьПараметр("Склад", СвойСклад);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    Сообщить("Склад: " + Строка(Выборка.Склад));
    Сообщить("Период: " + Строка(Выборка.Период));
    Сообщить("Регистратор: " + Строка(Выборка.Регистратор));
    Сообщить("МоментВремени: " + Строка(Выборка.МоментВремени));
    Сообщить("УчебнаяОбластьПорядка: " + Строка(Выборка.УчебнаяОбластьПорядка));
КонецЦикла;
Перед запросом в той же процедуре: собственные документ, принадлежность и граница
ПараметрыСеанса.УчебнаяОбластьПорядка = 1;
ПараметрыСеанса.УчебнаяОбластьПорядкаИспользуется = Истина;
СвойСклад = Строка(Новый УникальныйИдентификатор);
Документ = Документы.УчебнаяЗапискаПоследовательности.СоздатьДокумент();
Документ.Дата = Дата(2026, 10, 15, 10);
Документ.Записать();
Набор = Последовательности.УчебныйПорядокДокументов.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(Документ.Ссылка);
Запись = Набор.Добавить();
Запись.Регистратор = Документ.Ссылка;
Запись.Период = Документ.Дата;
Запись.Склад = СвойСклад;
Набор.Записать();
СвойМомент = Документ.Ссылка.МоментВремени();
ОтборГраницы = Новый Структура("Склад", СвойСклад);
Последовательности.УчебныйПорядокДокументов.УстановитьГраницу(СвойМомент, ОтборГраницы);

Разбор по шагам

  1. Создаём свой документ и записываем принадлежность последовательности с собственным уникальным измерением.

  2. Получаем настоящий МоментВремени ссылки документа и устанавливаем границу только по этому измерению.

  3. Запрос читает нужную реальную таблицу с условием по своему Склад; поля читаются после Следующий.

Как проверить результат

  1. Результат относится только к своему значению Склад и своему документу.

  2. У таблицы принадлежности и таблицы границ разные назначения; установка границы не означает перепроведение всех документов базы.

  3. Для общего реквизита возвращается значение собственной области 1, заданное до создания документа.

Ожидаемый результат

Реальные записи / граница собственной последовательности прочитаны с конкретным измерением и документом.

На что обратить внимание

  1. Не вызывайте УстановитьГраницу без отбора по измерению в рабочей последовательности.

  2. Разделитель таблицы определяется общими реквизитами участвующего документа, а не произвольным строковым параметром запроса.

  3. При сборке HTML документы, записи последовательности и её граница в 1С не изменялись; BSL не исполнялся.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.