Сотрудник
С.Сотрудники
Сумма
Число 10.2
+, И
Документ в отдельном журнале.
Приведем форму журнала в вид, нравящийся нам.
Отредактируем форму документа.
Поля АвторДокумента и Курс делаем недоступными. В поля Валюта, ДатаКурса добавляем формулу Валюта(). Вставляем кнопку [Заполнить] с формулой Заполнить(). Вставляем поле текст с формулой Итог("Сумма") – для итога по колонке.
В модуле формы документа пишем:
Перем СтВалюта;
Перем СтДатаКурса;
Перем СтКурс;
//==========================================================
Процедура ВводНового()
АвторДокумента=СокрЛП(ИмяПользователя());
ФирмаДокумента=Константа.ОснФирма;
Валюта=Константа.ОснВалюта;
ДатаКурса=ДатаДок;
Курс=1;
СтВалюта=Валюта;
СтДатаКурса=ДатаКурса;
СтКурс=Курс;
КонецПроцедуры
//==========================================================
Процедура ПриОткрытии()
СтВалюта=Валюта;
СтДатаКурса=ДатаКурса;
СтКурс=Курс;
ПриЗаписиПерепроводить(1);
КонецПроцедуры
//==========================================================
Процедура Валюта()
КурсС=СтКурс;
КратС=СтВалюта.Кратность;
КурсН=Валюта.Курс.Получить(ДатаКурса);
КратН=Валюта.Кратность;
Коэфф=Окр((КурсС*КратН)/(КурсН*КратС),6,1);
// переводим в валюту документа
Курс=КурсН;
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Сумма=Окр(Сумма*Коэфф,2,1);
КонецЦикла;
СтВалюта=Валюта;
СтДатаКурса=ДатаКурса;
СтКурс=Курс;
КонецПроцедуры
//==========================================================
Процедура Заполнить()
КурсД=Курс;
КратД=Валюта.Кратность;
КурсУ=Константа.ОснВалюта.Курс.Получить(ДатаДок);
КратУ=Константа.ОснВалюта.Кратность;
Коэфф=Окр((КурсД*КратУ)/(КурсУ*КратД),6,1); // переводим в валюту документа
УдалитьСтроки();
// Очищаем табличную часть документа