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

Отобразить данные на форме

Автор Maxx79, 18 ноя 2013, 16:08

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

Maxx79

Добрый день!

Не судите начинающего строго.

Есть справочник "Валюты" и его форма списка с добавленным реквизитом "ТекущийКурс" ввиде надписи.
Есть регистр сведений "КурсыВалют": измерение "Валюта", ресурс "Курс".

Задача: при выделении строки (допустим с Долларом США) в форме списка справочника (т.е. когда щелкнули мышкой 1 раз и она стала синей), надо заполнить "ТекущийКурс" последней записью регистра сведений по выделенной валюте.

В модуле формы:
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
ОбновитьКурс(Элементы.Список.ТекущиеДанные.Наименование, ТекущийКурс);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ОбновитьКурс(Валюта, ТекущийКурс)
ТекущийКурс = ОбщиеМеханизмы.ПолучитьТекущийКурс(Валюта);
КонецПроцедуры


В Общем модуле:
Функция ПолучитьТекущийКурс(Валюта, Знач Дата = Неопределено) Экспорт
Дата = ?(Дата = Неопределено, ТекущаяДата(), Дата);

Отбор = Новый Структура;
Отбор.Вставить("Валюта", Валюта);

ТекущийКурс = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(Дата, Отбор);

Возврат ТекущийКурс.Курс;

КонецФункции


Ошибок не выдает, но и курс не отображает.  Возврат ТекущийКурс.Курс;  возвращает 0, хотя запись (в т.ч. и на сегодня 18.11.2013) в регистре есть.
Что я делаю не так?

Новенькая

Элементы.Список.ТекущиеДанные.Наименование - тип какой имеет? скорее всего ты передаешь просто наименование валюты.
В функции: Функция ПолучитьТекущийКурс(Валюта, Знач Дата = Неопределено) Экспорт
   Дата = ?(Дата = Неопределено, ТекущаяДата(), Дата);
   
   Отбор = Новый Структура;
   Отбор.Вставить("Валюта", Валюта);
   
   ТекущийКурс = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(Дата, Отбор);
   
   Возврат ТекущийКурс.Курс;
   
КонецФункции
Валюта должна иметь тип СправочникСсылка.Валюты...
Добавлено: 18 ноя 2013, 17:27


&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
   ОбновитьКурс(Элементы.Список.ТекущиеДанные.Валюта);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ОбновитьКурс(Валюта)   
   Объект.ТекущийКурс = ОбщиеМеханизмы.ПолучитьТекущийКурс(Валюта);
КонецПроцедуры
на первый взгляд как-то так.........

Besart

Элементы.Список.ТекущиеДанные.Наименование возвращает строку, а Элементы.Список.ТекущаяСтрока ссылку

Maxx79

ЦитироватьЭлементы.Список.ТекущиеДанные.Наименование возвращает строку, а Элементы.Список.ТекущаяСтрока ссылку

Заработало!
Только объясните для понимания, КАК программа понимает, что я выделил именно доллар а не евро. Как в итоге я получаю нужное мне значение измерения для отбора из регистра сведений.

Ведь в моем случае Элементы.Список.ТекущиеДанные.Наименование  я получал не ссылку а именно значение. Понимаю, что все элементарно, но не могу понять логику!


Besart

Цитата: Maxx79 от 18 ноя 2013, 17:52Только объясните для понимания, КАК программа понимает, что я выделил именно доллар а не евро
название процедуры СписокПриАктивизацииСтроки, соответственно какую строку активировали, данный той строки и можно обрабатывать

Теги:

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

Рейтинг@Mail.ru

Поиск