Караул!!!
Несколько дней назад синка сломалась, писало "Out of memory". Долго бился в стенку пока не проверил историю синхронизаций, там было 1 645 624 записей!!!! я сократил до 13 000. теперь при экспорте контрагентов пишет "List index out of bounds". Ошибка вываливается в разных местах, иногда при сохранении записи на дели истории, иногда при открытии настроек синки, иногда при открытии настройки соответствия полей. Синка полностью выведена из строя, клиент в бешенстве, я уже не знаю что делать!
Вот одно из мест ошибки
Version, DataflowID, Dataset1CObject) {
if (!Assigned(Dataset1CObject)) {
Dataset1CObject = GetSingleItemByCode('ds_1CObject', 'GetFullObjectParam');
EnableDatasetFilters(Dataset1CObject, false);
ApplyDatasetFilter(Dataset1CObject, 'ID', ObjectID, true);
Dataset1CObject.Open();
в строке Dataset1CObject.Open(); выбивает ошибку, посмотрел SQLText и проверил его в скл менеджере - работает нормально, выбрало нужную запись, в коде - ошибка.
кеш чистил, СКЛ сервер перезагружал. какие есть идеи? Нужно срочно это исправить
версия: xrm 3.4.0.130
Нравится
Я бы начал с анализа сервиса ds_1CObject и сервиса его запроса (sq_), может какая колонка слетела.
Плюс избавился бы для эксперимента от GetSingleItemByCode, заменив на Services.GetNewItemByUSI, хотя бы временно
только что в новом месте ошибка выскочила:
function GetAreRemindingsExist() { Main.RemindingsDataset.Close(); var SelectQuery = Main.RemindingsDataset.SelectQuery; var PrimarySelect = GetSelectQueryPrimarySelect(SelectQuery); EnableFilter(PrimarySelect.Filters, 'ContactID', true); var ContactParameter = SelectQuery.Parameters.ItemsByName('ContactID'); ContactParameter.ValAsGUID = Connector.CurrentUser.ContactID; EnableFilter(PrimarySelect.Filters, 'RemindTime', true); var RemindTimeParameter = SelectQuery.Parameters.ItemsByName('RemindTime'); var today = new Date(System.Now()); RemindTimeParameter.Value = today.getVarDate(); Main.RemindingsDataset.Open();
вот тут: Main.RemindingsDataset.Open();
Как может вот так в разных местах все слететь???
вот еще одна ошибка:
Ошибка экспорта. Возникла при попытке открытия источника данных Контрагент. Ошибка открытия источника данных "ds_Account".
Оригинальное сообщение об ошибке: List capacity out of bounds (32)
Здравствуйте, Виталий!
А какие запросы идут в базу данных проверяли?
Также рекомендую проверить работает ли синхронизация хотя бы для одной записи.
Тогда можно уже понимать в чем причина такого поведения системы в объеме синхронизируемых данных или что-то 'слетело' в настройках самой синхронизации.
Нечто новое. Делается бекап БД каждый день, я сделал новую бд, залил туда бекап от 1 июля и запустил на других бинарниках:confused:таже ошибка:confused:... Это что за прикол такой!!!
вот такую ошибку мне показало при попытке экспорта контрагентов:
Main.RemindingsDataset.Open() List index out of bounds (3)
Здесь ошибка в напоминаниях, но бывает и при открытии ds_Account
Виталий,
Эта проблема наблюдается только на одной машине или на других тоже воспроизводится?
Попробуйте очистить кеш и профиль пользователя Terrasoft.
"Савельева Алла" написал:Здравствуйте, Виталий!
А какие запросы идут в базу данных проверяли?
Также рекомендую проверить работает ли синхронизация хотя бы для одной записи.Тогда можно уже понимать в чем причина такого поведения системы в объеме синхронизируемых данных или что-то 'слетело' в настройках самой синхронизации.
записи проверял - нормальние, в скл работают
даже длня лной не работает
тут дело в том что ошибка вылетает независимо от версии базы(свежая или 2 недели назад) и бинарников. Проблема кроется гдето на компе, что же может выдавать такую ошибку?
Сегодня создал новую настройку в интеграциях, взял раздел счета, выбило первоначальную ошибку Out Of Memory!!! в чем же может быть ошибка? А еще иногда после появления ошибки клиент закривается
То есть проблема наблюдается в разных местах системы, на разных бинарниках и базах, но на одном ПК?
Может, на этом компьютере памяти не хватает или она битая?
"Зверев Александр" написал:Может, на этом компьютере памяти не хватает или она битая?
перенесли. Теперь ошибка "list index of bounds(0)" выбивает в разделах контрагенты и контакты при сохранении карток... Какие у кого еще идеи есть??? везде выбивает на моменте сохранение Dataset
Это решил, прописал sp_change_users_login 'update_one', 'fkeys', 'fkeys' и ошибка пропала.
Еще вопрос. Сделал импорт одного контрагента и очень долго думало, гдето 2-3 мин а потом предложило загрузить метаданные, я нажал нет и оно опять 1-2 минуты подумало, сказало что недостаточно памяти и выбило ТС.
Как сократить это время "думания" ТС??? Для одной записи слишком долго думает...
Проанализируйте запросы к БД, которые выполняются в рамках синхронизации одной записи.
Также не лишним будет отладить конфигурацию TS в том месте, где вызывается синхронизация и посмотреть, что и где подвисает.
Возможно, что Ваша таблица контрагентов достаточно большая и запросы к ней отрабатывают длительное время, в таком случае нужно оптимизировать её работу на уровне БД.
Контрагентов всего 6 тысяч, много раз просматривал отладчиком код, ТС просто закрывается без предупреждения в разных местах кода... Раньше ошибки выскакивали о недостатках памяти при открытии какого-то Dataset. Востанавливались разные бекапы на разних системах и ПК и везде одинаковые ошибки в ТС. И тут сделал синку с очень старой базой 1С и о чудо ошибок нет...
Оперативы стоит 16 гигов, в диспетчере она полностью она не задействуется, но выбивает ошибку о недостаче памяти...
Здравствуйте, Виталий!
Ответьте, пожалуйста, на следующие вопросы.
1. Выполнялся ли анализ запросов, которые поступают в базу данных?
2. Выполнялись ли накануне возникновения проблемы какие-то доработки в конфигурации 1С или Terrasoft до того, как произошел сбой?
3. Базы данных Terrasoft и 1С находятся на одном сервере?
4. Выполнялись ли накануне возникновения проблемы какие-то работы на серверах, где находятся 1С и Terrasoft?
5. Синхронизация выполняется под пользователем с правами администратора Terrasoft или под обычным пользователем?
6. Сбой происходит при попытке затянуть данные из 1C в Terrasoft или в обе стороны?
7. Нет ли проблем с работой другой функциональности в Terrasoft?
Также рекоммендую Вам попробовать обновить бинарные файлы Terrasoft до последней версии.