Здравствуйте, форумчане!
В процессе работы с Sales 7.6 возник вопрос, как изменить количество знаков после запятой в курсе валют (по умолчанию 2 знака(хх,хх), нужно сделать 4 знака(хх,хххх)). Как это сделать?
Заранее благодарен за ответы.
Нравится
Добрый день, Алексей.
Ответ Вы можете прочитать во вложенном 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)
Спасибо, Артем, буду реализовывать.