Что с чем путают в 1С

Реквизит формы и реквизит объекта в 1С:
что сохранится после закрытия

Поле видно на экране, значение вводится, но после открытия документа оно исчезает. Сначала проверьте не кнопку сохранения, а то, где именно вы храните эти данные.

Элемент Комментарий в управляемой форме 1С связан с Объект.Комментарий
  • Данные отдельно от оформления
  • Два поля с разным назначением
  • Путь к данным без догадок
  • Проверка повторным открытием
Содержание

Сделайте документ и временную пометку

В отдельной учебной базе создайте документ «ЗаказМастерской». Добавьте ему строковый реквизит «Комментарий», длина 200. Создайте основную управляемую форму документа с реквизитом «Объект».

В редакторе формы раскройте Объект и перетащите Комментарий в элементы. Затем добавьте отдельный реквизит самой формы «ПодсказкаОператору», строка 200, и тоже выведите его. Получатся два поля, похожие внешне, но разные по назначению.

  1. Добавьте реквизит в документ

    В дереве конфигурации откройте Документы → ЗаказМастерской → Реквизиты. Добавьте Комментарий: тип Строка, длина 200. Это данные самого заказа.

    Реквизит Комментарий в документе ЗаказМастерской: строка длиной 200 в свойствах Конфигуратора
    Комментарий находится в дереве документа. Его значение можно сохранить вместе с заказом; создание поля на форме — следующий, отдельный шаг.
  2. Добавьте отдельный реквизит формы

    Откройте ФормаДокумента и добавьте ПодсказкаОператору в список реквизитов справа, рядом с Объектом. Задайте строку длиной 200. Затем перетащите новый реквизит в элементы формы.

    Отдельный реквизит формы ПодсказкаОператору: строка 200, рядом с основным реквизитом Объект
    На этом этапе реквизит уже создан справа, но поля подсказки на макете ещё нет. Обратите внимание: ПодсказкаОператору не появилась в реквизитах документа слева. Флажок «Сохраняемые данные» сам по себе не превращает реквизит формы в поле базы.

Посмотрите путь к данным

У первого элемента путь к данным — Объект.Комментарий, у второго — ПодсказкаОператору. Подпись элемента не определяет хранение. Переименование заголовка «Комментарий» в «Важно» не создаст новый реквизит документа.

Не добавляйте одноимённые поля сразу в нескольких местах ради удобства. Через неделю будет трудно понять, какое из них читает обработчик. Называйте временные значения по действию: строка поиска, показанная подсказка, выбранный режим.

  1. У комментария — Объект.Комментарий

    Выберите элемент Комментарий слева в редакторе формы. В его свойствах найдите ПутьКДанным: он должен вести к Объект.Комментарий, а не к отдельному временному значению.

    Поле Комментарий в форме документа: свойство ПутьКДанным равно Объект.Комментарий
    Выделен именно элемент формы. Свойство справа показывает, какие данные он редактирует: реквизит документа через основной реквизит формы Объект.
  2. У подсказки — ПодсказкаОператору

    Теперь выберите второе поле. В том же месте будет ПодсказкаОператору без префикса Объект. Внешне поля похожи, но пути к данным у них разные.

    Поле ПодсказкаОператору в форме 1С: путь к отдельному реквизиту без префикса Объект
    Оба поля уже выведены на форму. Подсказка связана с самостоятельным реквизитом формы; для проверки сохранения дальше нужно записать заказ и открыть его заново.

Введите два текста и откройте документ заново

В комментарии напишите «Позвонить после готовности», в подсказке — «Уточнить цвет». Сохраните документ штатной командой записи, закройте форму и снова откройте документ из списка.

Комментарий останется, временная подсказка без специального восстановления — нет. Это ожидаемое поведение. Если оба значения должны храниться с заказом, оба следует осмысленно добавить в документ, а не пытаться удерживать форму открытой.

Что проверяем после нового открытия
ЗначениеМестоОжидание
КомментарийОбъект.КомментарийСохранён вместе с заказом
ПодсказкаРеквизит формыНе записан как поле заказа

Нужно увидеть, когда значение меняется?

Сначала проверьте, что отладчик подключён к вашему сеансу.

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

Подключить отладчик к учебной базе →

Не путайте данные формы с объектом для записи

В управляемой форме данные Объект представлены данными формы. Это не повод вызывать у них любые методы объекта документа. Для обычного сохранения используйте механизм записи формы, а специальную серверную обработку разбирайте отдельно.

Первое упражнение не требует РеквизитФормыВЗначение и обратного преобразования. Не добавляйте эти вызовы по случайному примеру: сначала поймите, зачем вашей задаче вообще нужен отдельный объект на сервере.

Поле видно в Предприятии, но не находится в дереве формы

Начните с вопроса: ту ли форму вы открыли в конфигураторе? У документа могут быть форма списка, форма объекта и другие формы. Запишите, какое действие привело к нужному окну, и ищите форму этого действия, а не первый похожий заголовок.

В редакторе проверьте элементы и реквизиты отдельно. Видимое поле может называться не так, как данные, которые оно показывает. У выбранного элемента смотрите ПутьКДанным: Объект.Комментарий ведёт к реквизиту документа, ПодсказкаОператору — к отдельному реквизиту формы.

В типовой конфигурации часть элементов может добавляться программно или расширением. Если в дереве поля нет, поищите его имя, заголовок и создание элементов в модуле формы и расширениях. Не создавайте дубликат только потому, что не нашли существующее поле с первой попытки.

Что сравнить перед изменением поля
ПроверкаЧто должно стать понятно
Открытая форма и действие пользователяГде именно появился экран
Имя элемента и его заголовокЧто используется в коде, а что видит человек
ПутьКДаннымОткуда берётся значение
Повторное открытие после записиСохраняется ли значение вместе с документом

Добавьте предварительный итог

Сделайте два числовых реквизита формы: количество и цену. Выводите их произведение в третий реквизит «ПредварительнаяСумма». Это ещё не сохранённая стоимость заказа: подпишите поле соответственно.

Объясните, какие значения в настоящем заказе должны стать реквизитами документа или его строк. Проверьте изменение количества, очистку поля, закрытие без записи и повторное открытие сохранённого заказа. Такая проверка полезнее, чем угадывать по внешнему виду формы.

Самопроверка

Частые вопросы

Элемент формы хранит значение?

Элемент показывает и редактирует данные, на которые указывает его путь. Оформление и место хранения — разные вещи.

Любой реквизит формы всегда исчезает?

Самостоятельно в документ он не записывается. Разработчик может отдельно восстановить значение или использовать другие механизмы хранения.

Нужен ли код для обычного комментария?

Для простого реквизита документа достаточно корректного пути к данным и штатной записи формы.

Первичные источники

Что проверить дополнительно

·

Полезный материал

Поделиться статьёй

Сохраните материал или отправьте его тому, кому он пригодится.

Шаг 2 из 5

Формы 1С: от первой кнопки до сохранения заказа

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

Следующий шаг

От прочитанного примера — к своему решению

В «1С код» — 153 бесплатные задачи по языку, коллекциям и запросам. Формат похож на LeetCode: небольшое условие, ваше решение и результат проверки. Начните с простой задачи и попробуйте объяснить свой код.

Нужен бесплатный вход. AI-раздел и практика с проверкой ментором имеют отдельные условия доступа. В «1С код» действуют лимиты попыток и восстановление жизней.
Попробовать «1С код» бесплатно →