Здравствуйте!
Понадобилось добавить деталь "Цены" в продукты. Я открыл TSClient с параметром /wnd=wnd_CreateNewWorkspace. По ошибке сначала создал деталь с уже существующим именем, на что он ругнулся в логе красным шрифтом и деталь не создал (создал только сервисы без добавления в воркспейс, эти сервисы я удалил). Но второй раз прошло все хорошо и деталь в разделе появилась. Но теперь при открытии этого раздела в клиенте вылазит ошибка:
Что могло случится? Удаление созданной детали и всех ее сервисов с чисткой в скрипте воркспейса не помогла. Чистка кэша и профиля тоже.
Вот данные дебагера:
Help
Нравится
Здравствуйте, Дмитрий.
Скорее всего, при отработки функции Services.DeserializeItemFromProfile() в приведенном Вами коде, вызывается событие OnProfileDeserialize окна раздела "Продукты" (wnd_OfferingsWorkspace). Посмотрите на обработчик данного события. Попробуйте его переопределить, а в теле обработчика вызвать базовый метод wnd_BaseWorkspaceOnProfileDeserialize.
Сделал как Вы сказали. Теперь другая ошибка:
Вот как изменил вызов функции:
Эх, что-то я где-то испортил, буду благодарен за помощь!
Дмитрий, попробуйте просто отключить признак "сохранять в профиль" нового раздела и повторно очистить профиль.
Не совсем понятно. Где это отключается? И это не новый раздел, это стандартный раздел "Продукты", который перестал работать после вышеописанных действий.
Дмитрий, свойство UseProfile в сервисе окна раздела. Установите его в false, почистите профиль.
Хм, там уже стоял false. Попереключал туда сюда, почистил профиль. Одно и то же.
Дмитрий, напишите на support@terrasoft.ru - будем планировать удаленное подключение.
"Олейник Дмитрий" написал:Дмитрий, напишите на support@terrasoft.ru - будем планировать удаленное подключение.
С уважением,
Олейник Дмитрий
Добрый день
как решилась эта проблема?
у меня аналогичная ситуация
Здравствуйте, Евгений.
Прошу детализировать, какие действия предшествовали появлению Вашей проблемы?
"Евдокимов Евгений" написал:
Олейник Дмитрий пишет:
Дмитрий, напишите на support@terrasoft.ru - будем планировать удаленное подключение.
С уважением,
Олейник ДмитрийДобрый день
как решилась эта проблема?
у меня аналогичная ситуация
Евгений, проблема решилась добавлением обработчика OnProfileDeserialize в скрипте окна wnd_BaseWorkspace.
Наиболее вероятная причина сбоя - был удален важный кусок кода при "чистке" остатков раздела.
"Alimova Anna" написал:
Евдокимов Евгений пишет:
Олейник Дмитрий пишет:
Дмитрий, напишите на support@terrasoft.ru - будем планировать удаленное подключение.
С уважением,
Олейник ДмитрийДобрый день
как решилась эта проблема?
у меня аналогичная ситуацияЕвгений, проблема решилась добавлением обработчика OnProfileDeserialize в скрипте окна wnd_BaseWorkspace.
Наиболее вероятная причина сбоя - был удален важный кусок кода при "чистке" остатков раздела.
Мой блог: http://www.community.terrasoft.ru/blog/35356
этот метод уже там добавлен
function wnd_BaseWorkspaceOnProfileDeserialize(Window, Node) {
BaseWorkspace.SavedGroupID = Node.GetAttributeAsStr('SavedGroupID', '');
CreateQueriesDetails();
}
и тем не менее ошибка продолжает появлсятья
"Безродный Андрей" написал:Здравствуйте, Евгений.
Прошу детализировать, какие действия предшествовали появлению Вашей проблемы?
Здравствуйте
Создал новый раздел, окно унаследовал от wnd_baseworckspace
ошибка стала сразу появляться
Евгений, как минимум, у Вас в скрипте нового окна, ветоянее всего, не объявлена переменная BaseWorkspace.
Покажите, пожалуйста, какой скрипт привязан к новому окну? Также желательно предоставить полный текст скрипта нового окна.
"Alimova Anna" написал:Евгений, как минимум, у Вас в скрипте нового окна, ветоянее всего, не объявлена переменная BaseWorkspace.
Покажите, пожалуйста, какой скрипт привязан к новому окну? Также желательно предоставить полный текст скрипта нового окна.
Мой блог: http://www.community.terrasoft.ru/blog/35356
прилагаю скриншоты окна и скрипта
Евгений, так ведь у Вас в скрипте нет обработчика сериализации профиля. Вам нужно открыть в редакторе окна перейти на вкладку "События" (это там, где свойства), найти обработчик OnProfileDeserialize и сделать на нем двойной клик, чтобы автоматически создался обработчик события в скрипте.
он там был ,я его убрал т к не хотел использовать его.
к тому же по идеи он описан же в родительском скрипте окна
В таком случае Вам следует удалить подписку на это событие в соответствующей вкладке, как описано в предыдущем моем комментарии. Но учтите, в этом случае порядок колонок сохраняться не будет. Если же вам нужно, чтобы отрабатывал базовый, тогда фрагмент кода все-таки нужно добавить и оставить пустым. В этом случае после обработчика Вашего окна отработает базовый
коды вернул обратно, как Вы написали теперь работает
Спасибо за помощь.