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




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


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


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

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



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

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



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


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



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

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






// a = длина

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



КонецЕсли;




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

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





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