8.х Передача данных из одной формы в другую и обратно.

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

  1. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    Имеем две формы. Передаем из открываемой формы значение.

    //первая форма
    ВозвращаемоеЗначение = ДругаяФорма.ОткрытьМодально();

    //в другой форме:
    ЭтаФорма.Закрыть(ВозвращаемоеЗначение);

    Как осуществить такое же обратное действие(передать значение в открываемую форму)?

    спасибо!
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Например, создать реквизит формы с необходимым типом, получить форму, задать значение реквизита и потом ее открыть.
  3. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    а можно пример, а то перевод мысли в код пока плохо работает.
  4. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    Код:
    Форма = <<Объект>>.ПолучитьФорму("ФормаДокумента");
    Форма.<<Параметр>> = <<Параметр который передаем, должен быть объявлен в приемнике>>;
    Форма.Открыть();
    
  5. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    Спасибо!

    Маленький вопрос в догонку: как организовать множественный возврат значений?

    что-то типа этого

    ЭтаФорма.Закрыть(ВозвращаемоеЗначение1);
    ЭтаФорма.Закрыть(ВозвращаемоеЗначение2);
    ЭтаФорма.Закрыть(ВозвращаемоеЗначение3);

    Как открыть форму?

    ВозвращаемоеЗначение = ДругаяФорма.ОткрытьМодально();

    чтобы заполнялись несколько полей Возвращаемыми Значениями 1,2 и 3.
  6. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    чем структура не устраивает?
  7. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    Не работает.

    возвращает только последнее значение в первое поле, т.е. вместо
    ЭлементыФормы.ПолеВвода1.Значение = ВозвращаемоеЗначение1;

    получается результат из этого:
    ЭлементыФормы.ПолеВвода1.Значение = ВозвращаемоеЗначение3;

    должно подставляться так:
    ЭлементыФормы.ПолеВвода1.Значение = ВозвращаемоеЗначение1;
    ЭлементыФормы.ПолеВвода2.Значение = ВозвращаемоеЗначение2;
    ЭлементыФормы.ПолеВвода3.Значение = ВозвращаемоеЗначение3;
  8. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    возвращаемое значение попробуйте сделать типом структура и обрабатывайте ее потом
  9. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Код:
    // Отдадим значение
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("ПолеВвода1Значение", ВозвращаемоеЗначение1);
    ..
    СтруктураПараметров.Вставить("ПолеВвода9Значение", ВозвращаемоеЗначение9);
    
    ЭтаФорма.Закрыть(СтруктураПараметров);
    
    // Примем значения
    ПараметрыВозврат = ДругаяФорма.ОткрытьМодально();
    Для каждого Параметр из ПараметрыВозврат Цикл
    // Обрабатываем параметр структуры
    КонецЦикла;
    
    Ещё более красивее сделано в форме подбора УТ, если интересует посмотрите.
  10. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    Спасибо всем!
    Сделал ВозвращаемоеЗначение массивом.

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