8.х РеквизитФормыВЗначение и ДанныеФормыВЗначение

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Ktyf, 23 мар 2015.

  1. TopicStarter Overlay
    Ktyf
    Offline

    Ktyf Опытный в 1С

    Регистрация:
    16 янв 2013
    Сообщения:
    457
    Симпатии:
    12
    Баллы:
    29
    Что-то у меня засада с переносом данных на форму и из нее. Теперь обратная ситуация. Есть реквизит объекта - ТЗ операции, он выведен на форму и заполнен. Мне нужно эти данные перенести в самостоятельную ТЗ.
    1 вариант: РеквизитФормыВЗначение("ОБъект.Операции", Тип("ТаблицаЗначений"))
    2 вариант: ДанныеФормыВЗначение(Объект.Операции,Тип("ТаблицаЗначений"))
    В обоих вариантах ошибка - неверный параметр 1. Работаю на сервере, методы доступны, типы данных корректны. И в чем проблема?

    Я конечно обошла ситуацию - но мне интерсно разобраться,
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    В данном случае, не нужно ничего более, кроме как Объект.ТЗ_Операции.Выгрузить().
  3. TopicStarter Overlay
    Ktyf
    Offline

    Ktyf Опытный в 1С

    Регистрация:
    16 янв 2013
    Сообщения:
    457
    Симпатии:
    12
    Баллы:
    29
    ну собственно я так и сделала. Но почему те методы дают ошибки?
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Я не могу это объяснить словами, но тут действительно конфликт типов данных :)
    Я понимаю это так: нет смысла преобразовывать данные таким образом, т.к. источник данных - это реквизит объекта/формы и можно работать с ним напрямую.
  5. TopicStarter Overlay
    Ktyf
    Offline

    Ktyf Опытный в 1С

    Регистрация:
    16 янв 2013
    Сообщения:
    457
    Симпатии:
    12
    Баллы:
    29
    хорошо, а тогда для каких случаев подходят упомянутые методы?
  6. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Для работы с реквизитами формы, и для обработки табличных частей.
  7. TopicStarter Overlay
    Ktyf
    Offline

    Ktyf Опытный в 1С

    Регистрация:
    16 янв 2013
    Сообщения:
    457
    Симпатии:
    12
    Баллы:
    29
    а почему тогда они не срабатывают?
  8. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Может стоит сначала разобраться, чем отличается реквизит формы от реквизита объекта ?
  9. TopicStarter Overlay
    Ktyf
    Offline

    Ktyf Опытный в 1С

    Регистрация:
    16 янв 2013
    Сообщения:
    457
    Симпатии:
    12
    Баллы:
    29
    Реквизит формы не принадлежит объекту и соответственно не сохраняется в базе (если речь идет о документах, справочниках и т.д). Реквизит формы существует только пока существует форма. Я сама удивилась что контекстная подсказка согласилась на такой вариант ("Объект.операции"). Но с другой стороны - объект является реквизитом формы, а Операции вложенны в него. Но согласна, что это довольно скользкая дорожка.
    Но встает вопрос: а почему тогда не сработал ДанныеФормыВЗначение?
  10. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Объект не является реквизитом формы, это скорее форма реквизит объекта.
  11. TopicStarter Overlay
    Ktyf
    Offline

    Ktyf Опытный в 1С

    Регистрация:
    16 янв 2013
    Сообщения:
    457
    Симпатии:
    12
    Баллы:
    29
    ну если говорить об объекте как об элементе метаданных - да. Но когда мы открываем форму для редактирования, самый первый ее реквизит - объект.

    И когда возникает необходимость получить макет объекта мы сначала получаем его как РеквизитФормыВЗначение("Объект"),

Поделиться этой страницей