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

как получить значение поля ввода?

Автор hefti, 04 апр 2011, 16:18

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

hefti

Здравствуйте! :)

Возможно, мой вопрос покажется вам мега-элементарным, но однако у меня ничего не получается и примеров не могу найти((
на управляемой форме (8.2) документа есть два поля: Цена и Количество, располагаются они в отдельных реквизитах формы с типом поле ввода. Вот как мне получить произведение их значений, чтобы оно автоматически занеслось в поле ввода Стоимость??
Непонятно мне, каким образом можно получить значения содержимого реквизитов этих... примеров не могу найти нигде, подобные операции делают только со строками табличных частей..

Serega456

Реквизиты формы в клиентских процедурах доступны по своему имени. Например
&НаКлиенте
Процедура ЦенаПриИзменении(Элемент)
Стоимость = Цена * Количество;
КонецПроцедуры

hefti

Спасибо! :) ошибок уже не выдаёт хотя бы) но Стоимость всё равно не высчитывается..
у меня поле Цена является ссылкой на другой справочник.. то есть в самой управляемой форме я задала его, чтобы она автоматически подставлялась при назначении Услуги.. возможно из-за этого не высчитывается, намудрила я там что-то..

hefti

вот такое выдает, когда я пытаюсь стоимость получить в форме:

{Документ.ЗаявлениеНаОказаниеПлатнойУслуги.Форма.ФормаДокумента.Форма(9)}: Поле объекта не обнаружено (ЦенаВРуб)
      Объект.СтоимостьВРуб = Объект.Услуга.ЦенаВРуб * Объект.Количество;

cska-fanat-kz

Чтобы получить значение через точку на клиенте надо вызывать серверную функцию.

Объект.Сумма = ПолучитьЦенуУслуги(Объект.Услуга)*Объект.Количество;

И пишем функцию

&НаСервереБезКонтекста
Функция ПолучитьЦенуУслуги(Услуга)
Возврат Услуга.ЦенаВРуб;
КонецФункции
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

hefti

Всё заработало!!! :))) спасибо огромное!))

значит на сервере мы объявляем функции, которые вызываем не из данного документа, а из других документов и справочников? в 8.2 никак не пойму, когда нужно На клиенте вызывать, а когда На сервере..

cska-fanat-kz

На клиенте доступ к реквизитам объекта невозможен.
Как и много чего еще...
Поэтому надо передать управление на сервер.
То есть вызвать серверную функцию.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

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

Рейтинг@Mail.ru

Поиск