28.07.2011, 15:19 | #1 |
Участник
|
CRM 2011. Неправильные значения при Экспорте в Excel
Здравствуйте!
При экспорте в excel (не важно в статический лист или в динамический) некоректно экспортируются числовые значения (например, значение может быть увеличено в несколько десятков раз). Нечисловые значения эспортируются корректно. Сталкивался ли кто-нибудь с такой проблемой? Спасибо! |
|
29.07.2011, 10:01 | #2 |
Консультант-джедай
|
http://support.microsoft.com/kb/2547347
>When you export a static Microsoft Excel worksheet with non-English operating system settings, the Currency values are multiplied by 10,000.
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
|
За это сообщение автора поблагодарили: a33ik (2). |
08.08.2011, 18:52 | #3 |
Участник
|
Не известно, одной ли природы ошибки, но еще обратил внимание, что если как в 4.0 использовать функцию Num2Str для отображения сумм прописью, то в 2011 - данная функция значения сумм прописью не показывает, выдавая ошибку, в то вроемя как сама по себе функция работает (например, если явным образом задать ей сумму числом). Судя по всему проблема в том, что на входе эта функция принимает Dec, а сумму из CRM она перевести в такой тип не может. Хотя в 4.0 это все работало.
Не сталкивался никто с таким? Спасибо! |
|
08.08.2011, 21:08 | #4 |
Moderator
|
Приведите код, пожалуйста.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
08.08.2011, 22:19 | #5 |
Чайный пьяница
|
Подозреваю, что используется следующий код - Сумма прописью в отчетах
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
08.08.2011, 23:10 | #6 |
Moderator
|
Это очевидно. Просто из потока сознания автора темы сложно понять как он применяет ее в 2011 и в чем могут быть отличия от 4.0. Единственное подозрение - используется не SQL, а Fetch запрос. В этом случае возникает масса геморроя с типами данных и отсюда могут быть проблемы. Как вариант: сумма вернулась в виде строки, а не числа и функция ее сплевывает.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
09.08.2011, 08:24 | #7 |
Участник
|
Артем, действительно используется Fetch. Функция именно та, про которую говорит Андрей. Иными словами, решение в использовании SQL запроса?
Спасибо! |
|
09.08.2011, 11:47 | #8 |
Чайный пьяница
|
Скорее всего, что можно и функцию подравить, чтобы она работала.
Я в своих проектах использую следующее решение - http://a33ik.blogspot.com/2009/08/blog-post.html Бесспорно, что оно неподдерживаемое, но быстрое и простое.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
09.08.2011, 11:59 | #9 |
Участник
|
Андрей, спасибо за решение. К сожалению, для случаев, например, хостинга, его использовать нельзя. Вывел как уже до этого обсуждалось сумму прописью в форму через javascript. Жаль конечно, что Fetch так плохо обрабатывает стоимости. Даже простые операции умножения со стоимостными данными в отчетах Reporting-a не работают...
|
|
09.08.2011, 13:01 | #10 |
Moderator
|
Если ваш хостер это позволяет, то я бы, бесспорно, воспользовался SQL запросом. Это и проще и быстрее и более гибко. Если же вы вынуждены использовать именно Fetch то с числами и деньгами будут проблемы. Сейчас у меня нет возможности ставить эксперименты, однако одна моя коллега уже обращалась ко мне с подобной проблемой. Если не ошибаюсь, результат операции мало того что приходит в виде строки, так еще и в "формате" пользователя вызвавшего запрос. Иными словами, вы получите не "100.50", а, например, "100,5 р." или "р. 100,5". Гипотетически, через Fetch можно получить настройки пользователя и в коде "восстановить" число из строки, однако я бы прибегал к этому решению только если нельзя использовать нормальный SQL. Надеюсь что microsoft решит эту проблему в будущих версиях BIDS Extention.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
|
|