AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.09.2009, 15:51   #1  
Silphidae is offline
Silphidae
Участник
 
96 / 15 (1) ++
Регистрация: 17.11.2008
Странное использование strfmt
Добрый день.

Наткнулся в коде одного из методов на следующий кусок кода:

X++:
//XXX Act_adjust_vend_Fix, XXX, 03.10.2008 -->
//szDescription = strfmt("Накладная № %1 от %2", _custVendTrans.Invoice, this.getIvoiceDate(_custVendTrans));
//XXX Act_adjust_vend_Fix, XXX, 03.10.2008 <--
//XXX Act_adjust_vend_Fix, XXX, 03.10.2008 -->
szDescription = strfmt("Накладная № %1 " + addDate, _custVendTrans.Invoice, this.getIvoiceDate(_custVendTrans));
//XXX Act_adjust_vend_Fix, XXX, 03.10.2008 <--
В объявлении переменных метода:
szDescription - текст,
addDate - тоже текст, addDate = "от %2"

Изменения сделаны, как видно, недавно, но зачем? Почему старый, более читаемый код, выполняющий тоже самое, закомментирован? Или разница все же есть?
Старый 14.09.2009, 15:55   #2  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,740 / 404 (17) +++++++
Регистрация: 23.03.2006
видимо текст в переменной addDate может меняться
За это сообщение автора поблагодарили: Silphidae (1).
Старый 14.09.2009, 16:01   #3  
Silphidae is offline
Silphidae
Участник
 
96 / 15 (1) ++
Регистрация: 17.11.2008
Ну, даже если addDate меняется, не проще ли менять текст в strfmt?
Старый 14.09.2009, 16:11   #4  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,740 / 404 (17) +++++++
Регистрация: 23.03.2006
можно и так
Старый 14.09.2009, 16:32   #5  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от Silphidae
...
Ну, даже если addDate меняется, не проще ли менять текст в strfmt?
...
Вы имеете в виду сгенерить множество меток на все случаи жизни, а потом поддерживать их переводы на разных языках?

Как вариант "от ..." может и не быть вовсе.
__________________
С уважением,
glibs®
Старый 14.09.2009, 16:46   #6  
Silphidae is offline
Silphidae
Участник
 
96 / 15 (1) ++
Регистрация: 17.11.2008
Цитата:
Сообщение от glibs Посмотреть сообщение
Вы имеете в виду сгенерить множество меток на все случаи жизни, а потом поддерживать их переводы на разных языках?

Как вариант "от ..." может и не быть вовсе.
У нас в компании метками не пользуются - текст только на русском. Я имею в виду, что можно банально писать strfmt("Накладная %1 от %2") или strfmt("Накладная %1") в зависимости от ситуации, а не составлять строку по кусочкам как в примере выше.

Тем более, дальше по коду я нашел вообще шедевральный момент:

X++:
addDate = "";
if (_custVendTrans.Invoice)
    szDescription = strfmt("Курсовая разница (Накладная № %1 от %2)" + addDate, _custVendTrans.Invoice, this.getIvoiceDate(_custVendTrans));
else
    szDescription = strfmt("Курсовая разница (Операция ГК № %1 (%2))", _custVendTrans.Voucher, _custVendTrans.Txt);
За это сообщение автора поблагодарили: Alexx7 (1).
Старый 14.09.2009, 17:24   #7  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от Silphidae
...
У нас в компании метками не пользуются
...
Это не было очевидно, что вопрос был про вашу конкретную компанию. Прошу прощения.
Цитата:
Сообщение от Silphidae
...
можно банально писать strfmt("Накладная %1 от %2") или strfmt("Накладная %1") в зависимости от ситуации, а не составлять строку по кусочкам как в примере выше.
...
Можно. Но текста будет больше. Дело вкуса.
__________________
С уважением,
glibs®
За это сообщение автора поблагодарили: Silphidae (1).
Старый 14.09.2009, 17:34   #8  
Silphidae is offline
Silphidae
Участник
 
96 / 15 (1) ++
Регистрация: 17.11.2008
Всем спасибо.
Главное, что вы подтвердили идентичность обоих вариантов, а то мне казалось, что тут кроется какая-то тонкая хитрость.
Старый 15.09.2009, 07:01   #9  
Alexx7 is offline
Alexx7
Сам.AX
Аватар для Alexx7
Самостоятельные клиенты AX
1C
 
305 / 28 (1) +++
Регистрация: 22.07.2009
:)
Цитата:
Сообщение от ice Посмотреть сообщение
видимо текст в переменной addDate может меняться
Слово "от" поменяется "от Рождества Христова".
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Странное поведение ttsAbort Logger DAX: Программирование 6 28.05.2009 15:11
Не могу сформировать строку strFmt CasperSKY DAX: Программирование 9 17.04.2008 10:52
Использование основных средств в модуле Проект (4.0) Spider DAX: Функционал 8 29.08.2007 11:17
функция аналогичная strfmt ivas DAX: Программирование 10 27.12.2005 13:20
Использование OLAP-кубов MS AS. Help ! se2003 DAX: Функционал 7 19.07.2005 07:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:14.