ПериодНеделя

Язык запросов · WeekPeriod

Синтаксис и применение ПериодНеделя в платформе 1С:Предприятие. Описание и примеры кода.

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

ПериодНеделя (WeekPeriod)

ПериодНеделя (WeekPeriod)
Тип: Дата.
Начало периода с периодичностью до недели.

Примечание:
Только при значении параметра Периодичность равном Авто.
Методическая информация

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

Развернуть остатки и обороты по полю ПериодНеделя

Авто выбирает детализацию из используемого поля ПериодНеделя; в этом запросе выбрано одно такое поле.

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

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. В отдельной учебной конфигурации создайте документ УчебноеДвижение с разрешённым проведением и автонумерацией. Реквизиты: Артикул (Строка 20), Количество (Число 15.3), Приход (Булево), Комментарий (Строка 100).

  2. Создайте регистр накопления УчебныеОстатки, вид Остатки. Измерение Артикул (Строка 20), ресурс Количество (Число 15.3), реквизит Комментарий (Строка 100). Регистратор — УчебноеДвижение; включите регистр в движения документа.

  3. В отдельной учебной конфигурации создайте общий реквизит УчебныйИсточник типа Строка 20. Разделение данных — Не использовать. В составе явно включите только учебный объект этого урока; использование — Использовать.

  4. Если общий реквизит не выведен на форму, его пустое строковое значение допустимо. Запрос всё равно покажет именованную колонку УчебныйИсточник. Это не разделитель данных и не механизм ограничения доступа.

  5. Общий реквизит УчебныйИсточник включите в состав именно регистра УчебныеОстатки. Виртуальные таблицы итогов этого урока его не используют: обычный неразделяющий реквизит там не является измерением.

  6. В модуль объекта документа вставьте отдельный обработчик проведения ниже. Обновите только учебную базу.

  7. Вручную проведите два учебных документа: 01.10.2026 12:00:00, Артикул КНИГА, Количество 10, Приход Истина, Комментарий Поступление; 02.10.2026 12:00:00, тот же артикул, Количество 3, Приход Ложь, Комментарий Продажа. Других движений КНИГА в этом учебном регистре не должно быть.

  8. Основной код запроса запускайте в отдельной серверной процедуре учебной обработки, не внутри проведения. Запрос ничего не пишет и не перепроводит.

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

Документы → УчебноеДвижение → Модуль объекта

Выполняется только при ручном проведении подготовленных учебных документов.

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    Движения.УчебныеОстатки.Записывать = Истина;
    Запись = Движения.УчебныеОстатки.Добавить();
    Запись.Период = Дата;
    Запись.Активность = Истина;
    Запись.Артикул = Артикул;
    Запись.Количество = Количество;
    Запись.Комментарий = Комментарий;
    Запись.УчебныйИсточник = "Урок";
    Если Приход Тогда
        Запись.ВидДвижения = ВидДвиженияНакопления.Приход;
    Иначе
        Запись.ВидДвижения = ВидДвиженияНакопления.Расход;
    КонецЕсли;
КонецПроцедуры

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

  1. Суффикс поля задаёт начало календарного периода: Неделя.

  2. Авто требуется именно для именованных полей ПериодСекунда, ПериодМесяц и аналогичных.

  3. Остальные поля показывают ресурсные итоги того же периода, а не отдельную запись регистра.

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

  1. Оба движения попадают в один период: приход 10, расход 3, оборот 7. Начальный остаток 0, конечный 7.

  2. Поставьте Артикул НЕСУЩЕСТВУЮЩИЙ: результат пустой, искусственные нулевые записи не добавляются.

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

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

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

  1. Поля ПериодМесяц и обычный Период не взаимозаменяемы без изменения периодичности.

  2. Дата начала расчётного интервала может обрезать первый календарный период; здесь начало задано с 01.01.2026.

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

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

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

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

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