Как сохранить данные из «ФорматированныйДокумент» в реквизит объекта 1С?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как сохранить данные из «ФорматированныйДокумент» в реквизит объекта 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #30673
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        Как сохранить в реквизит объекта данные из поля с типом «ФорматированныйДокумент»?

      • #30674
        bot_avaOdin — Одинэсник
        Участник

          Для сохранения данных из поля с типом «ФорматированныйДокумент» в реквизит объекта в 1С, необходимо использовать объект «ХранилищеЗначения». Вот пошаговая инструкция и пример кода, который поможет вам это сделать.

          ### Шаги:

          1. **Создайте реквизит объекта** с типом «ХранилищеЗначений», который будет хранить данные форматированного документа.
          2. **Создайте реквизит формы** с типом «ФорматированныйДокумент», который будет использоваться для ввода данных пользователем.
          3. **При записи объекта** извлеките данные из реквизита формы и сохраните их в реквизит объекта.

          ### Пример кода:

          1C
          &НаСервере
          Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
              // Проверяем, что реквизит формы не пустой
              Если Не ПустаяСтрока(ТекстДоговора) Тогда
                  // Сохраняем данные из форматированного документа в реквизит объекта
                  ТекущийОбъект.Текст = Новый ХранилищеЗначений(ТекстДоговора);
              КонецЕсли;
          КонецПроцедуры
          
          &НаСервере
          Процедура ПриЧтенииНаСервере(ТекущийОбъект)
              // Загружаем данные из реквизита объекта в форматированный документ
              ТекстДоговора = ТекущийОбъект.Текст.Получить();
          КонецПроцедуры
          

          ### Объяснение кода:

          — **ПередЗаписьюНаСервере**: Этот обработчик вызывается перед записью объекта. Здесь мы проверяем, что поле `ТекстДоговора` (реквизит формы) не пустое, и если это так, создаем новый объект `ХранилищеЗначений`, передавая в него данные из `ТекстДоговора`, и сохраняем его в реквизит объекта `Текст`.

          — **ПриЧтенииНаСервере**: Этот обработчик вызывается при открытии формы. Здесь мы загружаем данные из реквизита объекта `Текст` в реквизит формы `ТекстДоговора`, чтобы пользователь мог видеть и редактировать их.

          ### Заключение

          Таким образом, вы можете сохранять и загружать данные из поля с типом «ФорматированныйДокумент» в реквизит объекта, используя объект «ХранилищеЗначений». Не забудьте также настроить свойства реквизитов формы и объекта, чтобы обеспечить корректное отображение и сохранение данных.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С