Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 11:35

Процедура "Подсчет площади"

Автор Seregin63, 28 ноя 2013, 11:37

0 Пользователей и 1 гость просматривают эту тему.

Seregin63

Здравствуйте. Вопрос чайника. :nhsrm:

В документе есть реквизиты "Длина", "Ширина", "Площадь". (Они не в табличной части)
Нужно написать процедуру автоподсчета площади.
Умом то понимаю, что надо длину умножить на ширину, а как написать не знаю :)
Подскажите алгоритм выполнения подобной процедуры.

ПроцедураДлинаПриИзменении
Стр(?) = Элементы(?).ТекущиеДанные;
Стр.Площадь=Стр.Длина*Стр.Ширина;
КронецПроцедуры

При таком написании пишет, что поле объекта Длина не обнаружено.

Платформа 1С 8.3 (Учебная версия)




MuI_I_Ika

Если речь идет об управляемой форме, то так:

Объект.Площадь = Объект.Длина * Объект.Ширина;

Если форма обычная то

Площадь = Длина * Ширина;

Seregin63

Форма управляемая
написал так:
Процедура ДлинаПриИзменении(Элемент)
    Объект=Объект.ТекущиеДанные;
    Объект.Площадь=Объект.Длина*Объект.Ширина;
КонецПроцедуры

Выдал ошибку:
{Документ.ОказаниеУслугиСтекло.Форма.ФормаДокумента.Форма(34)}: Поле объекта не обнаружено (ТекущиеДанные)
    Объект=Объект.ТекущиеДанные;


wise

УБЕРИ ВООБЩЕ эту строчку...

объект - это ОСНОВНОЙ реквизит формы.
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Seregin63

Спасибо огромное!Помогло
Добавлено: 28 ноя 2013, 13:59


Теперь делаю процедуру подсчета суммы. Нужно рассчитать общую длинну сторон стекла.
как вытащить значение из объекта Ширина? В таком виде значение всегда равно единице:

Процедура СторонаВПриИзменении(Элемент)
      Если Объект.СторонаВ=Истина
      Тогда
      Объект.СторонаВ=Объект.Ширина (???????)
   Иначе Объект.СторонаВ=0;
      КонецЕсли;
      Объект.ДлинаОбщая=Объект.СторонаА+Объект.СторонаА1+Объект.СторонаВ+Объект.СторонаВ1;

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

Похожие темы (5)

Рейтинг@Mail.ru

Поиск