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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.12.2005, 12:25   #1  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
функция аналогичная strfmt
собственно как в аксапте создать функцию аналогичную
str StrFmt(str string, ...)
с переменным количеством аргументов?
возможно ли это?
стоит задача в системе все strfmt поменять на свои чтоб у всех юзверей даты и реалы выводились в одинаковом формате
Старый 26.12.2005, 12:38   #2  
Lazy_Tiger is offline
Lazy_Tiger
NavAx
Axapta Retail User
1C
NavAx Club
 
610 / 31 (3) +++
Регистрация: 17.12.2001
Адрес: Красноярск
а не правильнее ли ввести внутренние стандарты на Regional settings в винде в рамках компании?
__________________
И все они создания природы...
Старый 26.12.2005, 12:48   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
нельзя сделать такую функцию. но можно использовать контейнер в качестве второго аргумента
X++:
str _strFmt(str _format, container _args)
{
    // ...
}

// strFmt( '%1 %2', 'test1', 1);
_strFmt( '%1 %2', ['test1', 1]);
Старый 26.12.2005, 13:13   #4  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
2belugin
контейнер рассматривался как первый вариант в принципе подходит но нужно будет делать много лишних телодвижений
2lazy_tiger
втом то и дело что стандарт по компании есть однако
в часности в бухгалтерии работают ламеры которые настройки могут поменять выгрузить с непонятной машины и т.д. и т.п., высокая текучка админов в общем вариант тоже рассматривался и тоже не подошел
может в аксапте где чего подкрутить чтоб всем счастье было?
Старый 26.12.2005, 13:34   #5  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Можно при старте аксапты менять наcтройки
Старый 27.12.2005, 12:12   #6  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
если менять настройки при старте то у юзверей могут перестать работать некоторые другие программы, а при закрытии назад мы менять не можем т.к. юзер может просто срубить аксапту
видимо придется везде руками прописывать
Старый 27.12.2005, 12:21   #7  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от ivas
стоит задача ... чтоб у всех юзверей даты и реалы выводились в одинаковом формате
Может, вместо универсальной strFmt() использовать локальные date2str() и num2str() явно указывая нужные форматы.

При этом, можно не менять сам strFmt() просто вместо значения подсовывать уже сконвертированную строку в нужном формате.

PHP код:
strFmt("%1",num2str(123456.78,10,2,2,0)) 
Старый 27.12.2005, 12:41   #8  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
в том то и дело что не хочется везде в коде писать num2str(123456.78,10,2,2,0)
но видимо придется
Старый 27.12.2005, 12:45   #9  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
наверное, это самый правильный способ, потому, что эти вы говорите, что хотите получаить дату в конкретном формате, а не в том, который предпочитает пользователь
Старый 27.12.2005, 12:56   #10  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
можно сделать свои функцию в классе global d2s и n2s, которые будут вызываться еще проще. или макросы
Старый 27.12.2005, 13:20   #11  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
Цитата:
Сообщение от belugin
можно сделать свои функцию в классе global d2s и n2s, которые будут вызываться еще проще. или макросы
макросы рулят!!!
PHP код:
static void Job42(Args _args)
{
    
str a;
    
#LocalMacro.strfmt
        
%1
        
#ifnot.empty(%2)
           
+ %2
            
#ifnot.empty(%3)
               
+ %3
                
#ifnot.empty(%4)
                   
+ %4
                
#endif
            #endif
        #endif
    #endmacro
    
;
    print 
#strfmt("a", "b");
    
pause;

вот и функция с переменным числом аргументов
спасибо всем!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Не могу сформировать строку strFmt CasperSKY DAX: Программирование 9 17.04.2008 10:52
Функция поиска подстроки, чувствительная к регистру . Есть ли такая в аксапте? ATimTim DAX: Программирование 4 13.02.2006 15:37
Функция, которая убирает перевод каретки в строке. NJD DAX: Программирование 19 27.07.2004 15:28
Функция "Удалить строки" Oks DAX: Функционал 1 03.07.2002 18:09
Функция RunBuf Maxim Gorbunov DAX: База знаний и проекты 0 27.11.2001 17:15
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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