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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.06.2009, 13:54   #1  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Ax3.0: Зарплата и Time
Пишу код
X++:
            select  *   from payTblTrans1
        where (payTblTrans1.EmplId ==  emplTable.EmplId
        && (payTblTrans1.SourceDate >= fromDate && payTblTrans1.SourceDate <= toDate ));
          t1 = payTblTrans1.TimeTime9;
Time9 - не видит.
Смотрю в отладчике:
1. раскрываю payTblTrans1 и он находит сумму часов и дней
2. пишу показать payTblTrans1.TimeTime9 пишет 0
3. а вот this.payTblTrans1.TimeTime9 показывает сумму часов и дней.
4. если запросить payTblTrans1.TimeTime15 (это уже другое время), то он покажет суиму часов и дней.

Такие проблемы есть только у некоторых Time. Почему?
Старый 01.06.2009, 14:16   #2  
farlander is offline
farlander
MCTS
Аватар для farlander
MCBMSS
Ex AND Project
 
282 / 27 (1) +++
Регистрация: 27.10.2006
Адрес: Россия
В приложении, в котором вы программируете, не были корректно добавлены таймы и в данной таблице не создались поля TimeTimeХ, где Х - больше 7...
__________________
farlander.ru
Старый 01.06.2009, 14:42   #3  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Я догадалась, что что-то некорректно. Просто странно, ведь в этой таблице есть такие поля. Т.е. в AOT ее открываю и там есть TimeTime9. Где еще он должен был быть добавлен?

Где можно прочесть как корректно добавлять времена.
Старый 02.06.2009, 07:01   #4  
farlander is offline
farlander
MCTS
Аватар для farlander
MCBMSS
Ex AND Project
 
282 / 27 (1) +++
Регистрация: 27.10.2006
Адрес: Россия
Таймы создаются в форме Справочник времен (Расчеты с персоналом / Учет рабочего времени / Настройка). При заведении тайма срабатывает код, который создает в определенных таблицах новые поля...
__________________
farlander.ru
Старый 02.06.2009, 09:29   #5  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Мда...
У меня следующий прикол:
1. В самом приложении вижу два поля TimeTime9 с разными ID
2. Открываю SQL и смотрю структуру таблицы TimeXime9 и TimeTime9.
Такая фигня на всех проблемных временах.

Пыталась из Аксапты удалить поле. Начинает ругаться на несоответствие справочника структуре RPayTblTrans.
1. Я удаляла вначале первый дубликат - поле ругалось.
2. Восстановила базу и попробывала удалить второе-дубликат поле - ругается
3. Удалила оба поля - глобальная компиляция - создала поле, т.к. он его не создал - ругается
4. Глобальная компиляция без удаления полей - не ругается, но и не помогает

Что еще можно попробывать?
Старый 02.06.2009, 09:52   #6  
farlander is offline
farlander
MCTS
Аватар для farlander
MCBMSS
Ex AND Project
 
282 / 27 (1) +++
Регистрация: 27.10.2006
Адрес: Россия
Да видимо по новой АХ развернуть, создать корректно таймы и залить данные...
__________________
farlander.ru
Старый 02.06.2009, 09:58   #7  
vanokh is offline
vanokh
Участник
 
108 / 63 (3) ++++
Регистрация: 23.10.2008
А что в SQL в таблице SQLDictionary для этой таблицы и полей?

Еще можно воспользоваться Администрированием SQL (Администрирование - Периодические операции - Администрирование SQL и там Проверка-Синхронизация) - чинит несоответствие в структуре данных приложения и БД. Мне помогало всякие конфликты устранять без потери данных и тем более переустановки.
Старый 02.06.2009, 10:59   #8  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Синхронизация - это первая мысль. Не помогло.

По поводу удаления и пересоздания. Совсем не хочется. У меня они работают с перерывом в 4 часа. Т.е. я не могу отрубить всех пользователей от базы. Может еще есть какое решение?

Попробывала следующее:
1. Удаление поле из RPayTblTrans
2. Удаление через SQL этого поле из таблицы Справочник времен
3. Синхронизация
4. Повторное создание поля в справочник времен
Нигде не ругается, но запускаю формирование отчета и он пишет: не найде поле с ID таким-то.
Ругается также при открытии табеля на fieldName2Id(tableNum(RPayTblTrans),#DayFieldPrefix + rPayTimeGroupMember.PayCalendarTimeCode). Почему не могу понять.
Как же тогда удалять правильно?

Последний раз редактировалось Arahnid; 02.06.2009 в 12:33.
Старый 02.06.2009, 12:28   #9  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от Arahnid Посмотреть сообщение
Нигде не ругается, но запускаю формирование отчета и он пишет: не найде поле с ID таким-то.
Как же тогда удалять правильно?
У меня вот какой вопрос... а у вас в отчете случаем не Map используется?
Такая ругань обыно бывает, если в таблицу добавили новое поле, а в мэп нет. В дальнейшем данные присваиваются в Map и в этот момент программа как правило ругается.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 02.06.2009, 13:27   #10  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Дело не в map.
Проблема в том, что у меня два поля в аксапте с одним именем, но разными id. Они их не воспринимает.
Старый 02.06.2009, 13:33   #11  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от Arahnid Посмотреть сообщение
Дело не в map.
Проблема в том, что у меня два поля в аксапте с одним именем, но разными id. Они их не воспринимает.
Такое предложение...
Переименовать одно из полей. Но тогда придется искать все места где оно используется, и справлять. Если места уже известны, то проще
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 02.06.2009, 15:37   #12  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Это жестко.

По итогам обсуждения 2 предложения:
1. Пересоздать таблицу времен и перегружать все данные
2. Переименовать время, а потом искать упоминания

Мне кажется это очень жестокие предложения. Есть ли более мягкие решения?

Последний раз редактировалось Arahnid; 02.06.2009 в 15:49.
Старый 03.06.2009, 13:44   #13  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Выполнила такие действия.

1. Экспорт таблиц1: RPayTblDayHourTrans RPayTblTrans RPayTimeLine RPayCalendarDateLine (не виртуал)
2. Экспорт таблиц2: RPayTimeGroupMember (виртуал)
3. В Analyzer
use AxTest
delete from bmssa.RPAYTBLDAYHOURTRANS
delete from bmssa.RPAYTBLTRANS
delete from bmssa.RPAYTIMELINE
delete from bmssa.RPAYCALENDARDATELINE
delete from bmssa.RPAYTIMEGROUPMEMBER
4. В Аксапте удалить все времена в таблице Коды времен, начиная с Time8
5. В Аксапте удалить все времена в таблице Справочник времен, начиная с 8
6. Проверить, что RPayTblTrans не осталось лишних полей типа TimeTimeX, Day_TimeX
7. Провести Компиляцию RPayTblTrans, полную Синхронизацию
8. Перезайти в Аксапту и создать в справочнике Справочник времен, Коды времен руками все времена
9. Импорт таблиц 2
10. Импорт таблиц 1
11. Перевыбрать в строках Счетчика Times, начиная с 8. Потеряна связь со справочником времен.
12. Синхронизация

Попробывала посчитать больничные, отпуска, командир, табеля, расчет всех процедур. Ошибок нет.
В RPayTblTrans нет дублирующих полей, TimeXime убрались. Отчет при обращении payTblTrans.TimeTime9 корректно отражает часы.

Кто-нибудь может подсказать, где подвох с перезаливкой табеля и строк к нему. Может какие таблицы используют recId?
Может еще что протестировать?
Старый 04.06.2009, 07:13   #14  
farlander is offline
farlander
MCTS
Аватар для farlander
MCBMSS
Ex AND Project
 
282 / 27 (1) +++
Регистрация: 27.10.2006
Адрес: Россия
Дадада... строки табеля связаны с журналом табеля через refRecId...
__________________
farlander.ru
Старый 04.06.2009, 11:03   #15  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
RPayTblJournal не трогала, но он корректно подвязался к RPAYTBLTRANS и RPAYTBLDAYHOURTRANS.
Теги
ax3.0, расчеты с персоналом, табель

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Solutions Monkey: KPIs in Role Center Business Overview Web Part keeps loading all the time and never ends. Blog bot DAX Blogs 0 12.03.2009 07:05
AX UK: Project Time Management for Microsoft Dynamics AX 2009 - Beta Blog bot DAX Blogs 0 12.12.2008 12:05
axcoder: AxPath pugin for Tabax which works with Ax3, Ax4, Ax2009 Blog bot DAX Blogs 0 08.11.2008 02:11
msdynamicsax: Multiple time zones Blog bot DAX Blogs 0 15.05.2008 22:05
Malaysia: How to Run Time Add Code to AOT Blog bot DAX Blogs 0 18.09.2007 15:00

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

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

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