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

Документ поступление

Автор Fateev_max, 15 ноя 2010, 13:01

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

Fateev_max

Добрый День!
Есть документ .Поступление-  у этого документа есть основная форма.
При изменении даты  курс должен меняться
Запись =РегистрыСведений.Курсы.ПолучитьПоследнее(Дата);
       курс=Запись.Курс;
Курсы валют храняться в регистре сведений курсы.
Как вывести в поле ДатаКурса дату курса в соответствии с курсом валюты.
ДатаКурса=Запись.Период; Так не работает.

Как обратится к табличной части документа?
Как  пересчитать СуммуУЕ при вводе количества?
ТекущиеДанные = ЭлементыФормы.Список.ТекущиеДанные();
ТекущиеДанные.СуммаУЕ =ЦенаУЕ*количество;

ТекущиеДанные.ЦенаРуб=Курс*СуммаУЕ;



progmikon

ну если вам нужно получить период:

Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| КурсыВалютСрезПоследних.Период
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(
| ,
| Валюта = &Валюта
| И Курс = &Курс) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Валюта", Справочники.Валюты.НайтиПоНаименованию("EUR"));
Запрос.УстановитьПараметр("Курс",55.555);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.период);
КонецЦикла;

Fateev_max


А Как обратится к табличной части документа?
Как  пересчитать СуммуУЕ при вводе количества?

Можно вот так вот?
ТекущиеДанные = ЭлементыФормы.Список.ТекущиеДанные();
ТекущиеДанные.СуммаУЕ =ЦенаУЕ*количество;

ТекущиеДанные.ЦенаРуб=Курс*СуммаУЕ;

progmikon

Цитата: Fateev_max от 15 ноя 2010, 13:36
А Как обратится к табличной части документа?
Если из самого документа, то просто по имени.
Цитата: Fateev_max от 15 ноя 2010, 13:36
Как  пересчитать СуммуУЕ при вводе количества?

Можно вот так вот?
ТекущиеДанные = ЭлементыФормы.Список.ТекущиеДанные();
ТекущиеДанные.СуммаУЕ =ЦенаУЕ*количество;

ТекущиеДанные.ЦенаРуб=Курс*СуммаУЕ;

ТекущиеДанные = ЭлементыФормы.Список.ТекущиеДанные();
ТекущиеДанные.СуммаУЕ =ТекущиеДанные.ЦенаУЕ*ТекущиеДанные.количество;

ТекущиеДанные.ЦенаРуб=ТекущиеДанные.Курс*ТекущиеДанные.СуммаУЕ;

Fateev_max

Цитата: progmikon от 15 ноя 2010, 13:41
Цитата: Fateev_max от 15 ноя 2010, 13:36
А Как обратится к табличной части документа?
Если из самого документа, то просто по имени.
Цитата: Fateev_max от 15 ноя 2010, 13:36
Как  пересчитать СуммуУЕ при вводе количества?

Можно вот так вот?
ТекущиеДанные = ЭлементыФормы.Список.ТекущиеДанные();
ТекущиеДанные.СуммаУЕ =ЦенаУЕ*количество;

ТекущиеДанные.ЦенаРуб=Курс*СуммаУЕ;

ТекущиеДанные = ЭлементыФормы.Список.ТекущиеДанные();
ТекущиеДанные.СуммаУЕ =ТекущиеДанные.ЦенаУЕ*ТекущиеДанные.количество;

ТекущиеДанные.ЦенаРуб=ТекущиеДанные.Курс*ТекущиеДанные.СуммаУЕ;


При обращении к элементам формы выдает вот такую ошибку
{Документ.Поступление.Форма.ОсновнаяФормаДокумента(48)}: Метод объекта не обнаружен (ТекущиеДанные)
ТекущиеДанные = ЭлементыФормы.Список.ТекущиеДанные();

progmikon

Да все верно. Текущие данные - это не метод.
Я скопировал у вас и не обратил внимания:

ТекущиеДанные = ЭлементыФормы.Список.ТекущиеДанные;

Fateev_max

Цитата: progmikon от 15 ноя 2010, 13:57
Да все верно. Текущие данные - это не метод.
Я скопировал у вас и не обратил внимания:

ТекущиеДанные = ЭлементыФормы.Список.ТекущиеДанные;


Так тоже пробывал
{Документ.Поступление.Форма.ОсновнаяФормаДокумента(48)}: Поле объекта не обнаружено (ТекущиеДанные)
ТекущиеДанные = ЭлементыФормы.Список.ТекущиеДанные;

progmikon

Можете выложить конфигурацию?

Fateev_max


progmikon

1. На форме у вас нет поля список, а есть ТабличноеПоле1.
Значит код должен быть:

Процедура ТабличноеПоле1КоличествоПриИзменении(Элемент)
ТекущиеДанные = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные;
ТекущиеДанные.СуммаУЕ =ТекущиеДанные.ЦенаУЕ*ТекущиеДанные.Количество;

ТекущиеДанные.ЦенаРуб=Курс*ТекущиеДанные.СуммаУЕ;
КонецПроцедуры

Теги:

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

Рейтинг@Mail.ru

Поиск