Применить РежимАвтоВремя.ТекущееИлиПервым к собственному объекту

Учебные задачи

Новому собственному документу задаётся день без времени; расширение его формы получает конкретный режим автоматической установки времени при записи.

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

Основной блок — серверное создание собственной управляемой формы документа. Дополнительный — отдельная клиентская команда той же формы.

Подготовка

  1. В отдельной пустой учебной конфигурации создайте документ УчебнаяОперацияРежимов: строковый номер 12 с автонумерацией, разрешите проведение и оперативное проведение, добавьте Комментарий (Строка 100).

  2. Движений по регистрам у этого собственного документа нет; обработчик проведения для данного опыта не нужен. Пример изучает состояние записи / проведения, а не реализует бухгалтерский учёт.

  3. Создайте у документа управляемую форму УчебнаяФорма: основной реквизит Объект, поля Объект.Дата и Объект.Комментарий. Основной блок — только в её модуле, событие ПриСозданииНаСервере.

  4. В этой форме создайте команду ЗаписатьСвойДокумент и кнопку, назначьте дополнительный клиентский обработчик. Откройте именно новую свою форму без параметра Ключ.

  5. АвтоВремя в установленной справке доступно только для записи. Код его назначает, но не пытается прочитать обратно. Метод формы Записать вызывается без аргумента РежимЗаписиДокумента — это другой контракт.

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

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

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

  2. Назначаем перечисление правильному свойству либо параметру метода.

  3. Проверяем состояние собственного объекта, не интерпретируя синтаксический пример как рабочую учётную операцию.

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

  1. Запишите своей кнопкой и прочитайте фактическую дату сохранённого нового документа.

  2. Режим относится к установке времени при записи нового документа; не обещайте перенумерацию или изменение ранее существовавших документов.

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

Режим использован в настоящем контексте собственного документа или счёта.

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

  1. Не запускайте примеры создания / записи в рабочей базе.

  2. Не смешивайте Записать объекта и Записать формы: состав параметров и возвращаемое значение различаются.

  3. При сборке HTML записи, проведение, отмена проведения и код 1С не исполнялись.

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

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

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

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

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