Помогите пожалуйста, можно ли сделать так чтоб в двух графах отчета "Расчеты с поставщиками" цифры показывали и в долларах и в рублях? Н-р: если делали РКО поставщику в долларах, то в отчете сумма документа должно показывать и в долларах и в рублях. При этом курс валюты должен брать на дату документа. 1С8.3 УТ11.3.3.205
---
Есть общий модуль, вроде как "РаботаСВалютами", в нем функция типа "ПересчитатьИзВалютыВВалюту("параметрынужнопосмотреть"), . Делаем в вкладке СКД вычисляемые поля, в вычисляемом поле в выражении делаем вызов этой функции, в параметры которой передаем нужные данные. Потом это вычисляемое поле добавляем в ресурсы. В выбранные поля отчета добавляем этот ресурс.
Добавляем в параметры &ВалютаПересчета тип справочник.валюты выражение по умолчанию Справочник.Валюты.ПустаяСсылка который будет передавать валюту в функцию для пересчета. Устанавливаем запрет незаполненного и выводим его в пользовательские настройки. Заходим в модуль обьекта отчета, и если там есть обработчик ПриКомпоновкеРезультата(), то проверяем строку ПроцессорКомпоновкиДанных.Инициализировать(). Последним параметром должен быть Истина. Этот параметр отвечает за использование внешних функций.
---
а вот здесь не понял: "в параметры которой передаем нужные данные"
Фигово...

Как произвольный пример:

```1c
    РаботаСКурсамиВалют.ПересчитатьВВалюту(ДолгНачальныйОстаток, Выбор Когда &ДанныеПоРасчетам = 1 Тогда ВалютаВзаиморасчетов Когда &ДанныеПоРасчетам = 2 Тогда ДоходыИРасходыСервер.ПолучитьВалютуУправленческогоУчета() Когда &ДанныеПоРасчетам = 3 Тогда ЗначениеНастроекПовтИсп.ПолучитьВалютурегламентированногоУчета() Конец, ВалютаВзаиморасчетов, ТекущаяДата())
```

ТекущаяДата() заменяете на что-то более внятное.
---
Нашел функцию который получает дату документа и написал ее в место ТекущаяДата(): ДенежныеСредстваКлиентСервер.ПолучитьДатуИзСтроки(Регистратор.Дата). Проверил, все верно показывает. Спасибо за советы! ))
---
Есть общий модуль, вроде как "РаботаСВалютами", в нем функция типа "ПересчитатьИзВалютыВВалюту("параметрынужнопосмотреть"), . Делаем в вкладке СКД вычисляемые поля, в вычисляемом поле в выражении делаем вызов этой функции, в параметры которой передаем нужные данные. Потом это вычисляемое поле добавляем в ресурсы. В выбранные поля отчета добавляем этот ресурс.
Добавляем в параметры &ВалютаПересчета тип справочник.валюты выражение по умолчанию Справочник.Валюты.ПустаяСсылка который будет передавать валюту в функцию для пересчета. Устанавливаем запрет незаполненного и выводим его в пользовательские настройки. Заходим в модуль обьекта отчета, и если там есть обработчик ПриКомпоновкеРезультата(), то проверяем строку ПроцессорКомпоновкиДанных.Инициализировать(). Последним параметром должен быть Истина. Этот параметр отвечает за использование внешних функций.
---
Общий модуль называется РаботаСКурсамиВалют,

```1c
    Функция ПересчитатьВВалюту(Сумма, ИсходнаяВалюта, НоваяВалюта, Дата) Экспорт
    Возврат РаботаСКурсамиВалютКлиентСервер.ПересчитатьПоКурсу(Сумма,
    ПолучитьКурсВалюты(ИсходнаяВалюта, Дата),
    ПолучитьКурсВалюты(НоваяВалюта, Дата));
    КонецФункции
```
 Функцию вызвал в вычисляемом поле вот так:
```1c
    РаботаСКурсамиВалют.ПересчитатьВВалюту()
```
 а вот здесь не понял: "в параметры которой передаем нужные данные" Добавил в ресурсы. Добавил в вкладке ПАРАМЕТРЫ Имя=ВалютаПересчета, Тип=СправочникСсылка.Валюты, Значение=Справочник.Валюты.ПустаяСсылка. В выбранные поля добавил созданный ресурс. В модуле объекта отчета стоит ИСТИНА
```1c
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
```
 НО присформирование отчета пишет Неправильное количество параметров "РаботаСКурсамиВалют.ПересчитатьВВалюту". Что делаю не правильно?
---
а вот здесь не понял: "в параметры которой передаем нужные данные"
Фигово...

Как произвольный пример:

```1c
    РаботаСКурсамиВалют.ПересчитатьВВалюту(ДолгНачальныйОстаток, Выбор Когда &ДанныеПоРасчетам = 1 Тогда ВалютаВзаиморасчетов Когда &ДанныеПоРасчетам = 2 Тогда ДоходыИРасходыСервер.ПолучитьВалютуУправленческогоУчета() Когда &ДанныеПоРасчетам = 3 Тогда ЗначениеНастроекПовтИсп.ПолучитьВалютурегламентированногоУчета() Конец, ВалютаВзаиморасчетов, ТекущаяДата())
```

ТекущаяДата() заменяете на что-то более внятное.
---
Спасибо Вам огромное, все получилось. А как получить Дата курса на Дату документов?
---
С этим сложнее.

Нужно получить дату Расчетного документа. Но расчетный документ в СКД не доступен как поле.
Его можно увидеть во втором запросе второго пакета набора данных. Обращаться мы к нему без переделок не можем.
И это составной тип.
И на одну строку отчета Расчетных документов может быть массив.

Я же правильно понял, точка отсчета - дата документа платежа, а не дата заказа поставщику?
---
Да, дата документа платежа. Еще раз спасибо за ответы. Дальше будем копать.
---
В место ТекущаяДата() вставил ПериодДень а в Настройках Структуре отчета на первом месте поставил ПериодДень. Вот теперь получилось сумма документа в двух валютах!
---
а нее, что а у меня все суммы стали не правильно показать... :(
---
Нашел функцию который получает дату документа и написал ее в место ТекущаяДата(): ДенежныеСредстваКлиентСервер.ПолучитьДатуИзСтроки(Регистратор.Дата). Проверил, все верно показывает. Спасибо за советы! ))
---
Есть общий модуль, вроде как "РаботаСВалютами",
где это отдельно скачать для 8.2?