Количество знаков после запятой в курсе валют

Здравствуйте, форумчане!

В процессе работы с Sales 7.6 возник вопрос, как изменить количество знаков после запятой в курсе валют (по умолчанию 2 знака(хх,хх), нужно сделать 4 знака(хх,хххх)). Как это сделать?

Заранее благодарен за ответы.

Нравится

10 комментариев

Добрый день, Алексей.

Ответ Вы можете прочитать во вложенном pdf файле.

Здравствуйте, Алексей!

Для изменения количества знаков после запятой в курсе валют необходимо редактировать код карточки "Страница редактирования валюты", а так же проверить на совместимость все сущности, которые используют пересчет по курсу.

Спасибо!

Скажите, какой метод в CurrencyRateEditPage отвечает за количество знаков после запятой?

Нашел метод
private void UpdateRateEdit() {
RateEdit.Image = new ControlImage {};
RateEdit.DecimalPrecision = 4;
RateEdit.ModifiedInSchemaUId = new Guid("dffcf096-6982-4a07-92da-973f4261fd07");
}

изменил RateEdit.DecimalPrecision с 2 на 4, но при этом ничего не поменялось, все еще 2 знака после запятой. Подскажите, может я что-то упустил?

Добрый день!
У Вас есть объект CurrencyRate, который содержит колонку Rate. Эта колонка имеет тип Currency, который имеет Precision = 2. Чтобы вы могли использовать 4 знака после запятой, то у Вас есть 2 варианта:
1. Добавить свой объект CurrencyRateEx (к примеру) и создать в нем поле Rate как decimal (0.0001)
Далее по всей конфигурации заменить имя схемы CurrencyRate на CurrencyRateEx (во всех клиентских модулях)

2. Расширить объект CurrenctRate и добавить свое поле RateEx (к примеру), которое будет decimal (0.0001). Далее заменить по всех конфигурации использование поля Rate на RateEx, а в расширяющем объекте для старого поля Rate установить режим использования "никогда".

Также, не зависимо от этих двух вариантов Вам нужно будет изменять страницу редактирования справочника (CurrencyRateEditPage)

А нельзя просто поменять тип колонки Rate, поставив Precision = 4?

"Владимир Соколов" написал:А нельзя просто поменять тип колонки Rate, поставив Precision = 4?

Владимир, простая замена типа с изменением значения поля на 4 не решит вопрос корректно.

"Артем Гура" написал:(во всех клиентских модулях)

И во всех процессах (например, в InvoiceProduct и других)

Вообщем, надо решать этот вопрос глобально, а не у каждого клиента в каждом проекте, так как все центробанки дают курс валют с точностью 4 знака

Владимир, данную информацию уже передали в отдел разработки для реализации в последующих версиях продукта.

"Артем Гура" написал:

Добрый день!

У Вас есть объект CurrencyRate, который содержит колонку Rate. Эта колонка имеет тип Currency, который имеет Precision = 2. Чтобы вы могли использовать 4 знака после запятой, то у Вас есть 2 варианта:

1. Добавить свой объект CurrencyRateEx (к примеру) и создать в нем поле Rate как decimal (0.0001)

Далее по всей конфигурации заменить имя схемы CurrencyRate на CurrencyRateEx (во всех клиентских модулях)

2. Расширить объект CurrenctRate и добавить свое поле RateEx (к примеру), которое будет decimal (0.0001). Далее заменить по всех конфигурации использование поля Rate на RateEx, а в расширяющем объекте для старого поля Rate установить режим использования "никогда".

Также, не зависимо от этих двух вариантов Вам нужно будет изменять страницу редактирования справочника (CurrencyRateEditPage)

Спасибо, Артем, буду реализовывать.

Показать все комментарии