Имя: Пароль:
1C
 
Как обновить значение атрибута в поле формы элемента справочника ?
0 Bonch Bruevich
 
19.02.05
16:41
Немного о себе: сижу за 1С-кой пока только месяц... И возможно мой вопрос будет не новый и глупый... Заранее спасибо всем ответившим !

Допустим в форме элемента справочника есть три поля ввода со следующими идентификаторами: "ЦенаЗакупки", "Надбавка", "ЦенаПродажи". Пользователь вводит данные в первые два поля. Следующий активный элемент - "ЦенаПродажи" - это (например) сумма предыдущих двух.
Вопрос: Как интерактивно обновить значение этого атрибута ? Ставлю функцию на это поле, а куда ставить Форма.Обновить()? К сожалению, я так понял, в форме элемента справочника для элементов формы нет метода типа Форма.ЦенаПродажи.УстановитьАтрибут(<Значение>), как в форме документа ?
1 Asmody
 
19.02.05
16:49
в реквизиты ЦенаЗакупки и Надбавка в поле Формула пишешь: ПриИзмененииЦенаЗакупки()

в модуле пишешь:
Процедура ИриИзмененииЦенаЗакупки()
ЦенаПродажи=ЦенаЗакупки+Надбавка;
КонецПроцедуры
2 Бивис
 
19.02.05
16:50
В Формулы реквизитов "ЦенаЗакупки" и "Надбавка" (в свойствах) вставь "ЦенаПродажи=ЦенаЗакупки+Надбавка".
Никаких "Форма.Обновить(..)" не надо.
ЗЫ: И помни, что частой(!!) ошибкой(!) является описание в модуле формы переменных. имена которых совпадают с именами реквизитов. В таких случаях голова идет кругом от отрабатывания формул, в которых участвуют имена реквизитов формы, а на форме это не отражается.
3 Фокусник
 
19.02.05
16:53
(2)Что бы не наступать на грабли (в ЗЫ) нужно переменные именовать, например так: то что на форме фПеременная, локальные - лПеременная :)
4 Бивис
 
19.02.05
16:58
(3): "Ааааааа, ты знаааллл, тттыыы ЗНАААаааааалллллл!!!" ©
Именно так. И ещё куча соглашений. В составе т.н. "корпоративного стандарта", который "для внутреннего употребления". У тебя есть такие? Давай меняться? :)
5 Bonch Bruevich
 
19.02.05
17:23
Ё-маё. Получилось. А что, для присвоения значения полю не надо указывать буквально (я имею в виду слово Форма) Форма.<ИдентПоля> = <Значение> ?
6 Бивис
 
19.02.05
17:26
(5): В вопросе содержится ответ. ;)