Дата

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

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

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

Дата (Date)

Дата (Date)
Тип: Дата.
Содержит дату задачи.

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

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

Прочитать созданный учебный объект: Выполнена, Наименование, БизнесПроцесс, ВерсияДанных, Дата, Номер, ПометкаУдаления

Запрос выбирает именно показанные поля; ссылки, состояния и номер версии не подменяются текстовыми заглушками.

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

Серверная процедура ВыполнитьПример в общем модуле УчебныеПроцессы. Функция подготовки размещена отдельно в том же модуле.

Подготовка

  1. Работайте в отдельной пустой учебной конфигурации. Создайте справочник УчебныеИсполнители и предопределённый элемент Демонстрационный с наименованием Учебный исполнитель.

  2. Создайте задачу УчебныеСогласования: строковый номер длиной 12, автонумерация, наименование длиной 100. Добавьте реквизит адресации Исполнитель типа СправочникСсылка.УчебныеИсполнители и выберите его основным реквизитом адресации. Здесь используется прямая адресация; регистр ролевой адресации не нужен.

  3. Создайте параметр сеанса УчебныйИсполнитель того же ссылочного типа. В свойстве задачи Текущий исполнитель выберите этот параметр. Запросы урока передают исполнителя явно и не зависят от начального значения параметра сеанса.

  4. Создайте бизнес-процесс УчебноеСогласование со строковым номером длиной 12 и автонумерацией. В свойстве Задача выберите УчебныеСогласования. Карта маршрута: Старт (начало) → Согласовать (действие) → Завершение. В точке Согласовать задайте адресацию Исполнитель = Демонстрационный, Групповая = Ложь.

  5. И у задачи, и у бизнес-процесса создайте обычные реквизиты КомментарийУчебный (Строка 100), Сумма (Число 12.2), Подтверждено (Булево), ЗапретУдаления (Булево). Добавьте табличную часть Детали с колонками Наименование (Строка 100) и Количество (Число 10.0).

  6. Создайте общий реквизит УчебныйИсточник типа Строка 20, Разделение данных = Не использовать. Включите только учебную задачу и бизнес-процесс в его состав. Это не разделитель и не настройка рабочей конфигурации.

  7. В модуле объекта бизнес-процесса разместите отдельный обработчик СогласоватьПриСозданииЗадач из дополнительного блока. В свойствах точки Согласовать назначьте его событию ПриСозданииЗадач. Платформа записывает сформированные задачи после обработчика; внутри него Записать не вызывается.

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

  9. Каждый запуск подготовки действительно создаёт новый учебный бизнес-процесс и его задачу. Не используйте рабочую базу. Табличные части и обычные реквизиты заполняются только у этих новых объектов; ничего не отправляется по сети.

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

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

  1. Подготовка создаёт один собственный процесс и задачу; таблица Точки описывает точки карты маршрута, а не выполненные экземпляры задач.

  2. ВЫБРАТЬ перечисляет реальные поля таблицы. Условие Ссылка = &Ссылка ограничивает результат своим объектом или своей точкой.

  3. Выборка.Следующий переводит указатель к строке; её значения выводятся по отдельности.

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

  1. Показаны значения только собственного объекта или точки Согласовать, а не всех данных базы.

  2. После выполнения задачи виртуальная таблица с условием Выполнена = ЛОЖЬ не вернёт её. Порядок точки не является датой выполнения, ВерсияДанных не является номером платформы.

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

Показан результат для собственных подготовленных объектов учебного согласования.

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

  1. Все имена метаданных берутся из подготовки; в типовой конфигурации таких учебных объектов может не быть.

  2. Каждый блок вставляется в указанный модуль отдельно. Не вызывайте процедуру события вручную вместо реального действия платформы.

  3. Запись и старт относятся только к новым учебным объектам. Пример не выполняет обработку реальных согласований и не гарантирует правильность чужого маршрута.

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

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

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

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

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