Синтаксис и применение ПериодНеделя в платформе 1С:Предприятие. Описание и примеры кода.
Полное описание, параметры и ограничения
ПериодНеделя (WeekPeriod)
ПериодНеделя (WeekPeriod)
Тип: Дата.
Начало периода с периодичностью до недели.
Примечание:
Только при значении параметра Периодичность равном Авто.
Методическая информация
Практические примеры
Развернуть остатки и обороты по полю ПериодНеделя
Авто выбирает детализацию из используемого поля ПериодНеделя; в этом запросе выбрано одно такое поле.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
В отдельной учебной конфигурации создайте документ УчебноеДвижение с разрешённым проведением и автонумерацией. Реквизиты: Артикул (Строка 20), Количество (Число 15.3), Приход (Булево), Комментарий (Строка 100).
Создайте регистр накопления УчебныеОстатки, вид Остатки. Измерение Артикул (Строка 20), ресурс Количество (Число 15.3), реквизит Комментарий (Строка 100). Регистратор — УчебноеДвижение; включите регистр в движения документа.
В отдельной учебной конфигурации создайте общий реквизит УчебныйИсточник типа Строка 20. Разделение данных — Не использовать. В составе явно включите только учебный объект этого урока; использование — Использовать.
Если общий реквизит не выведен на форму, его пустое строковое значение допустимо. Запрос всё равно покажет именованную колонку УчебныйИсточник. Это не разделитель данных и не механизм ограничения доступа.
Общий реквизит УчебныйИсточник включите в состав именно регистра УчебныеОстатки. Виртуальные таблицы итогов этого урока его не используют: обычный неразделяющий реквизит там не является измерением.
В модуль объекта документа вставьте отдельный обработчик проведения ниже. Обновите только учебную базу.
Вручную проведите два учебных документа: 01.10.2026 12:00:00, Артикул КНИГА, Количество 10, Приход Истина, Комментарий Поступление; 02.10.2026 12:00:00, тот же артикул, Количество 3, Приход Ложь, Комментарий Продажа. Других движений КНИГА в этом учебном регистре не должно быть.
Основной код запроса запускайте в отдельной серверной процедуре учебной обработки, не внутри проведения. Запрос ничего не пишет и не перепроводит.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Данные.ПериодНеделя, Данные.Артикул, Данные.КоличествоНачальныйОстаток,
| Данные.КоличествоКонечныйОстаток, Данные.КоличествоОборот, Данные.КоличествоПриход,
| Данные.КоличествоРасход
|ИЗ РегистрНакопления.УчебныеОстатки.ОстаткиИОбороты(&Начало, &Конец, Авто, Движения, Артикул = &Артикул) КАК Данные";
Запрос.УстановитьПараметр("Начало", Дата(2026, 1, 1));
Запрос.УстановитьПараметр("Конец", Дата(2026, 10, 2, 23, 59, 59));
Запрос.УстановитьПараметр("Артикул", "КНИГА");
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Для Каждого Колонка Из Результат.Колонки Цикл
Сообщить(Колонка.Имя + ": " + Строка(Выборка[Колонка.Имя]));
КонецЦикла;
КонецЦикла;Проведение учебного движения
Документы → УчебноеДвижение → Модуль объекта
Выполняется только при ручном проведении подготовленных учебных документов.
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Движения.УчебныеОстатки.Записывать = Истина;
Запись = Движения.УчебныеОстатки.Добавить();
Запись.Период = Дата;
Запись.Активность = Истина;
Запись.Артикул = Артикул;
Запись.Количество = Количество;
Запись.Комментарий = Комментарий;
Запись.УчебныйИсточник = "Урок";
Если Приход Тогда
Запись.ВидДвижения = ВидДвиженияНакопления.Приход;
Иначе
Запись.ВидДвижения = ВидДвиженияНакопления.Расход;
КонецЕсли;
КонецПроцедурыРазбор по шагам
Суффикс поля задаёт начало календарного периода: Неделя.
Авто требуется именно для именованных полей ПериодСекунда, ПериодМесяц и аналогичных.
Остальные поля показывают ресурсные итоги того же периода, а не отдельную запись регистра.
Как проверить результат
Оба движения попадают в один период: приход 10, расход 3, оборот 7. Начальный остаток 0, конечный 7.
Поставьте Артикул НЕСУЩЕСТВУЮЩИЙ: результат пустой, искусственные нулевые записи не добавляются.
Ожидаемый результат
Результат сгруппирован по выбранной календарной детализации.
На что обратить внимание
Поля ПериодМесяц и обычный Период не взаимозаменяемы без изменения периодичности.
Дата начала расчётного интервала может обрезать первый календарный период; здесь начало задано с 01.01.2026.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.