Показано с 1 по 2 из 2
Комбинированный просмотр
-
27.11.2017, 22:20 #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 * Диаметр * Диаметр * Длина * Плотность;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПолучитьПлотность(Профиль)
Возврат Профиль.Плотность;
КонецФункции
Но, есть пару проблем, почему-то не просчитываются поля Ширина и Длина и наконец, как после этого передать поле Вес в первую форму, где есть поле ВесФормы?
-
28.11.2017, 16:45 #2
- Регистрация
- 27.07.2011
- Сообщений
- 8
- Сказал(а) спасибо
- 7
- Поблагодарили 3 раз(а) в 1 сообщении
Re: Как правильно открыть вторую форму, рассчитав там данные и вбить в первую форму?
Первая форма.
ОткрытьФорму(
"НазваниеФормы",
ПараметрыФормы,
ЭтаФорма,
,
,
,
Новый ОписаниеОповещения("ЗдесьН азваниеПроцедурыКотораяОб работаетТвоиЗначения", ЭтотОбъект,Параметр),
РежимОткрытияОкнаФормы.Бл� �кироватьОкноВладельца);
вторая форма
&НаСервере
Процедура ПриСозданииНаСервере(Отка� �, СтандартнаяОбработка)
ПолучитьПараметр = Параметры.ТвойПараметр;
КонецПроцедуры
При закрытии возвращаешь параметр через метод "Закрыть()"
Похожие темы
-
Изменить печатную форму в УТ 11.1
от Noob1c в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3Ответов: 1Последнее сообщение: 25.10.2016, 14:51 -
Выключили форму, помогите!!!
от sam24 в разделе Общие вопросы по 1С - БухгалтерииОтветов: 0Последнее сообщение: 24.06.2015, 08:46
Социальные закладки