Как правильно открыть вторую форму, рассчитав там данные и вбить в первую форму?
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 2 из 2
  1. #1
    Гость форума

    Регистрация
    27.11.2017
    Сообщений
    2
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Как правильно открыть вторую форму, рассчитав там данные и вбить в первую форму?

    Код первой формы
    &НаКлиенте
    Процедура РасчитатьВес(Команда)
    Пар = Новый Структура ("Параметр1, Параметр2", Объект.Профиль, Объект.Материал);
    ОткрытьФорму("ОбщаяФорма.Ф� �рма", Пар);
    КонецПроцедуры




    Вторая форма
    + Code


    &НаСервере
    Процедура ПриСозданииНаСервере(Отка� �, СтандартнаяОбработка)
    Профиль = Параметры.Параметр1;
    Материал = Параметры.Параметр2;
    КонецПроцедуры


    &НаКлиенте
    Процедура ПрофильПриИзменении()
    РасчетВеса();
    КонецПроцедуры

    &НаКлиенте
    Процедура МатериалПриИзменении()
    РасчетВеса();
    КонецПроцедуры



    &НаКлиенте
    Процедура ДлинаПриИзменении(Элемент)
    РасчетВеса();
    КонецПроцедуры

    &НаКлиенте
    Процедура ШиринаПриИзменении(Элемен� �)
    РасчетВеса();
    КонецПроцедуры



    &НаКлиенте
    Процедура ВысотаПриИзменении(Элемен� �)
    РасчетВеса();
    КонецПроцедуры


    &НаКлиенте
    Процедура ДиаметрПриИзменении(Элеме� �т)
    РасчетВеса();
    КонецПроцедуры



    &НаКлиенте
    Процедура РасчетВеса()

    Плотность = ПолучитьПлотность(Материа� �);
    Сообщить(Вес);






    // a = длина

    // D = диаметр
    // b = ширина

    // h = высота
    // l = длина



    Если (Профиль = "Балка Двутавровая") Тогда
    Сообщить("Введите только длину");
    //Высота = "";

    //Диаметр = "";

    Вес = Плотность/8.650 * Длина;

    ИначеЕсли (профиль = "Квадрат") Тогда
    Сообщить ("Введите только длину и ширину");
    Вес = Длина * Длина * Диаметр;

    ИначеЕсли (профиль = "Круг") Тогда
    Сообщить ("Введите только длину и диаметр");
    //Ширина = "";

    //Высота = "";

    Вес = 3.14/4 * Диаметр * Диаметр * Длина * Плотность;

    ИначеЕсли (профиль = "Полоса, лист") Тогда
    Сообщить ("Введите только ширину, длину и высоту");;
    //Диаметр = "";

    Вес = Длина * Ширина * Высота* Плотность;

    ИначеЕсли (профиль = "Уголок") Тогда
    Сообщить ("Введите только длину, ширину и высоту");
    //Ширина = "";

    //Высота = "";

    Вес = (Длина + Ширина - Высота) * Высота * Длина * Плотность;

    ИначеЕсли (профиль = "Труба") Тогда
    Сообщить ("Введите только длину, высоту и диаметр");
    //Высота = "";

    //Диаметр = "";

    Вес = 3.14 * (Диаметр - Высота) * Высота * Длина * Плотность;

    ИначеЕсли (профиль = "Швеллер") Тогда
    Сообщить ("Введите только длину");
    //Ширина = "";

    Вес = Плотность/7.850 * Длина;

    ИначеЕсли (профиль = "Шестигранник") Тогда
    Сообщить ("Введите только длину, высоту и диаметр");
    //Высота = "";

    //Диаметр = "";

    Вес = 0.866 * Диаметр * Диаметр * Длина * Плотность;



    КонецЕсли;




    КонецПроцедуры

    &НаСервере
    Функция ПолучитьПлотность(Профиль)
    Возврат Профиль.Плотность;
    КонецФункции





    Но, есть пару проблем, почему-то не просчитываются поля Ширина и Длина и наконец, как после этого передать поле Вес в первую форму, где есть поле ВесФормы?

  2. #2
    Пришел за помощью

    Регистрация
    27.07.2011
    Сообщений
    8
    Сказал(а) спасибо
    7
    Поблагодарили 3 раз(а) в 1 сообщении

    По умолчанию Re: Как правильно открыть вторую форму, рассчитав там данные и вбить в первую форму?

    Первая форма.

    ОткрытьФорму(
    "НазваниеФормы",
    ПараметрыФормы,
    ЭтаФорма,
    ,
    ,
    ,
    Новый ОписаниеОповещения("ЗдесьН азваниеПроцедурыКотораяОб работаетТвоиЗначения", ЭтотОбъект,Параметр),
    РежимОткрытияОкнаФормы.Бл� �кироватьОкноВладельца);
    вторая форма

    &НаСервере
    Процедура ПриСозданииНаСервере(Отка� �, СтандартнаяОбработка)
    ПолучитьПараметр = Параметры.ТвойПараметр;
    КонецПроцедуры

    При закрытии возвращаешь параметр через метод "Закрыть()"

Похожие темы

  1. Изменить печатную форму в УТ 11.1
    от Noob1c в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3
    Ответов: 1
    Последнее сообщение: 25.10.2016, 14:51
  2. Выключили форму, помогите!!!
    от sam24 в разделе Общие вопросы по 1С - Бухгалтерии
    Ответов: 0
    Последнее сообщение: 24.06.2015, 08:46

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •