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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.10.2005, 18:10   #21  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
:(
Эх, похоже, рано радовался. Idшники-то меняются, но данные из полей слетают сразу после синхронизации. Мда...

3хзвенка.
__________________
Андрей.
Старый 21.10.2005, 18:15   #22  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
В двухзвенке - Ok. В трехзвенке - то, что вы описали.
__________________
Axapta v.3.0 sp5 kr2
Старый 21.10.2005, 18:19   #23  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Да, все верно. С 3хзвенкой стормозил, привык к ней уже
В 2хзвенке все работает, причем как раз синхронизацию не надо делать. Поменял idшники в UtilIdElements, вышел/вошел - и все, данные на месте, и fieldId правильные. AndyD, спасибо.
__________________
Андрей.
Старый 21.10.2005, 18:28   #24  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Спасибо!

Перенес в "Полезное"

С Уважением,
Георгий
Старый 21.10.2005, 22:44   #25  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,303 / 3533 (124) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от AndyD
Что имеется в виду? При синхронизиции, если изменился ID поля, оно удаляется, а затем создается заново. Соответственно при этом данные теряются
НЕТ! Не теряются!!! (Ну относительно регулярно делаю сию операцию ) Цитирую свой же пост заново. Поле удалится при синхронизации только в том случае, если в SQLDictionary будет ему (полю) соответствовать неправильный id-шник. А для этого эту табличку (SQLDictionary) надо почистить и воссоздать заново

Цитата:
Сообщение от sukhanchik
Удалите из таблички SQLDictionary все записи, касающиеся данной таблички (фильтр по tabId), и нажмите Администрирование-Периодические операции-SQLАдминистрирование. Выберите нужную табличку(которую грохали в SQLDictionary) и нажмите кнопку Таблицы-Проверка/синхронизация. Табличка SQLDictionary воссоздастся с уже правильным fieldId (который соответствует АОТу), и все... Воспользутйесь принципом - что правильный тот fieldId, который в АОТе, а не в SQLDictionary.
PS Данные не пропадут. Сначала воссоздастся SQLDictionary, а затем пройдет синхронизация (по уже заведомо правильным Id-шникам)
__________________
Возможно сделать все. Вопрос времени
Старый 21.10.2005, 22:57   #26  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Извините, но вы убрали фразу, на которую и был мой ответ -
Цитата:
Перестройка SQLDictionary в соответствии с новыми id-шниками ВСЕГДА сохраняет данные.
Вас подвел любымый mazzy квантор всеобщности.
Не всегда, а в случае отсутствия в SQLDictionary информации по полю
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Logger (1).
Старый 22.10.2005, 15:46   #27  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,303 / 3533 (124) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от AndyD
Не всегда, а в случае отсутствия в SQLDictionary информации по полю
ок, я именно про это и хотел сказать. Просто "помочь" отсутствовать информации (если она там есть) может чистка SQLDictionary
__________________
Возможно сделать все. Вопрос времени
Старый 20.05.2009, 17:52   #28  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,928 / 3227 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от AndyD Посмотреть сообщение
Вот тестовый джоб
X++:
static void Job37(Args _args)
{
    UtilIdElements      ue_Table;
    UtilIdElements      ue_Fields;
    SQLDictionary       SQLDict;
    ;
    select firstonly ue_Table
    where ue_Table.recordType == UtilElementType::Table && ue_Table.name == "Table13";

    ttsbegin;
    if (ue_Table)
        while select forupdate ue_Fields
            order by id desc
            where ue_Fields.recordType == UtilElementType::TableField &&
                ue_Fields.ParentId == ue_Table.id 
        {
            select forupdate firstonly SQLDict
            where SQLDict.TabId == ue_Table.id && SQLDict.FieldId == ue_Fields.id;

            ue_Fields.id += 13;
            ue_Fields.update();
            if (SQLDict)
            {
                SQLDict.FieldId = ue_Fields.id;
                SQLDict.Update();
            }
        }
    ttscommit;
}
Пробовал менять сортировку, шаг изменения, менял по одному и по несколько полей разных типов
Попробовал написать утилиту для перебивания идентификаторов полей и понял что все не так просто.

Слетает куча мест в приложении, которая ссылается на поле. Формы, мапы (sic!), EDT. Очень аккуратно надо менять, проверяя нет ли ссылок.
Старый 21.05.2009, 08:38   #29  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Моё мнение, всё это какое-то шаманство.
Я обычно делаю перенос без Id-ков они сами создаются системой.
dev->test->work. Ну и пусть они отличаються.
Может я на dev 10 раз создавал и 10 раз удалял один и тот же объект.
Главное я знаю на рабочей они правильные.
Раз в какой-то период(месяц, две недели) надо просто попросить админа выровнять прилаги в обратном порядке. work->test->dev.
И Id-ки станут везде хорошие. Заодно мож где-то мусор залежался, смоет.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 21.05.2009, 09:50   #30  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Для распределенного создания IDшников есть ID сервер - см. доки по контролю версий

Последний раз редактировалось belugin; 21.05.2009 в 11:11.
Старый 17.06.2009, 10:11   #31  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
****** Часть темы выделена в новую тему Обновление рабочего приложения: проектами или слоем? ******
__________________
Андрей.
Теги
axapta, id объекта, sqldictionary, как правильно, синхронизация

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Изменение группы полей (Field Group) на таблице Lucky13 DAX: Программирование 11 04.03.2009 17:51
Массовое изменение полей nmariya DAX: Функционал 15 26.09.2008 17:52
Изменение ID-ов полей таблицы somebody DAX: Программирование 5 02.02.2004 19:57
Изменение полей ModifiedTime etc. lexa DAX: Программирование 2 01.02.2004 22:56
Изменение названий полей картотеки номенклатуры? Sirius DAX: Функционал 4 12.01.2004 18:43

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:06.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.