|
16.02.2011, 12:58 | #1 |
Участник
|
Накосячили в коде?
Доброго времени суток!
Щекотливая тема возникла. У нас внедрявший партнер осуществляет техподдержку. Технически, схема работы такова, что разработка ведется партнером на тестовом приложении, а нам передаются объекты, которые мы заливаем на рабочее. Однажды при заливке на рабочее произошла ошибка компиляции. Партнер попросил доступ на рабочее приложение и что-то там поправил. После этого периодически (не реже раза в месяц) на РАБОЧЕМ приложении в разных местах стали возникать ошибки времени выполнения, что-нибудь вроде: Цитата:
Ошибка времени выполнения: FormTabPageControl Объект не инициализирован.
(C)\Classes\FormTabPageControl\owner (C)\Forms\xBrowser\Methods\close (C)\Classes\FormCommandButtonControl\Clicked Цитата:
Ошибка времени выполнения: В FormRun (Источник данных), не найден исполнимый код метода "init".
(C)\Forms\RAssetPosting\Methods\init (C)\Classes\SysSetupFormRun\init - line 12 Ошибки бывают разные: объект не инициализирован, неверная передача параметров, метод неверно вызван и всё такое прочее. На тестовом приложении ошибки не воспроизводятся. Каждый раз партнер просит доступ на рабочую и что-то там исправляет. Объекты, на которых вываливаются ошибки, иногда вообще находятся в слое sys. Мы свою разработку (помимо партнера) ведем, но очень мало, очень поверхностно и так же на тестовом приложении с последующей переливкой на рабочее. То есть представляется, что крайне маловероятно, что мы что-то зацепили. Мне кажется, это похоже на ошибку программистов партнера. Что скажете? |
|
16.02.2011, 13:11 | #2 |
Участник
|
|
|
16.02.2011, 13:12 | #3 |
Участник
|
1. Нужно понять что они там "делают" Может, просто компилируют соответствующие объекты?
2. Вы глобальную компиляцию давно делали на рабочей? 3. Разработка ведется на одном слое? 4. У вас гарантировано стоят последние версии клиентов у разных сотрудников?
__________________
Ivanhoe as is.. |
|
16.02.2011, 13:14 | #4 |
Участник
|
что первым пришло в голову: можно попробовать сделать очистку данных (администрирование -> настройка -> использование данных) тех объектов, вызов которых приводит к появлению ошибок.
__________________
С уважением, Александр. |
|
|
За это сообщение автора поблагодарили: Geo (1). |
16.02.2011, 13:28 | #5 |
Участник
|
иногда надо делать инкрементную компиляцию в иерархиях классов, которые поменялись.
|
|
16.02.2011, 13:59 | #6 |
Участник
|
Я бы сказал, желательно всегда делать инкрементную компиляцию иерархических классов. По-хорошему, это должно быть явно прописано в описании переноса модификации на рабочую.
__________________
Ivanhoe as is.. |
|
16.02.2011, 16:33 | #7 |
Гость
|
А партнера не пробовали спросить, чо за ххх??
кстати назовите партнера, будем знать героев в лицо |
|
|
За это сообщение автора поблагодарили: kornix (-2). |
16.02.2011, 16:53 | #8 |
MCP
|
|
|
|
За это сообщение автора поблагодарили: GBH (1), (-1). |
16.02.2011, 16:57 | #9 |
int 20h
|
А я бы сказал что необходимо тщательней делать проверку при заливке кода на рабочее. Ибо приложения разработки и реальная рабочая среда могут сильно различаться...и причем тут партнер?
__________________
It's just my Unhopelessnessabilityerism Trying to debug my mind |
|
|
За это сообщение автора поблагодарили: kornix (2). |
16.02.2011, 17:11 | #10 |
Гость
|
опять же повторюсь, нормальный партнер никогда бы не предложил клиенту такой способ переноса. это, извините, просто ХХХЪЪ. у меня нет других слов.
|
|
16.02.2011, 17:19 | #11 |
int 20h
|
2AX2009
> опять же повторюсь, нормальный партнер никогда бы не предложил клиенту такой способ переноса. это, извините, просто ХХХЪЪ. у меня нет других слов. На сколько я понял речь шла не о внедрении, а о Тех поддержки. Если не работает приложение, а на тестовом не воспроизводится....то как иначе они должны исправлять ошибку и говорит клиенту, может быть рисуя на снегу веточкой елочки? Мне кажется что вы не совсем представляете работу технических поддержек со своими безусловно правильными методологически выверенными методологиями внедрений.
__________________
It's just my Unhopelessnessabilityerism Trying to debug my mind |
|
16.02.2011, 17:07 | #12 |
Гость
|
Цитата:
Правильный партнер знаком с методологией внедрения, и знает, как нужно правильно переносить код в рабочее приложение. |
|
16.02.2011, 17:26 | #13 |
MCP
|
Цитата:
А по поводу "оторвал" - валить все на партнера проще всего, ваше право. |
|
16.02.2011, 16:49 | #14 |
Сам.AX
|
(C)\Forms\xBrowser\Methods\close
Видя до боли знакомое имя, осмелюсь предположить, что это «АНД Проджект» Хотя не следует забывать о логической уловке «После не значит «вследствие»», и вендор тут вовсе не причём.
__________________
"Считать метафору доказательством, поток праздных слов источником истины, а себя оракулом - это заблуждение, свойственное всем нам." Поль Валери |
|
|
За это сообщение автора поблагодарили: kornix (1). |
16.02.2011, 16:59 | #15 |
MCP
|
Цитата:
Сообщение от Geo
Доброго времени суток!
Щекотливая тема возникла. У нас внедрявший партнер осуществляет техподдержку. Технически, схема работы такова, что разработка ведется партнером на тестовом приложении, а нам передаются объекты, которые мы заливаем на рабочее. Однажды при заливке на рабочее произошла ошибка компиляции. Партнер попросил доступ на рабочее приложение и что-то там поправил. После этого периодически (не реже раза в месяц) на РАБОЧЕМ приложении в разных местах стали возникать ошибки времени выполнения, что-нибудь вроде: или Ошибки бывают разные: объект не инициализирован, неверная передача параметров, метод неверно вызван и всё такое прочее. На тестовом приложении ошибки не воспроизводятся. Каждый раз партнер просит доступ на рабочую и что-то там исправляет. Объекты, на которых вываливаются ошибки, иногда вообще находятся в слое sys. Мы свою разработку (помимо партнера) ведем, но очень мало, очень поверхностно и так же на тестовом приложении с последующей переливкой на рабочее. То есть представляется, что крайне маловероятно, что мы что-то зацепили. Мне кажется, это похоже на ошибку программистов партнера. Что скажете? |
|
|
За это сообщение автора поблагодарили: zZ_TOP_Zz (1), AxaptaUser (-1). |
16.02.2011, 22:31 | #16 |
Участник
|
Господа, спасибо за советы и бурное обсуждение. Но каков всё-таки итог? Это похоже на ошибку программистов партнера, или это мы по неопытности (которой у нас, местами, в избытке) что-то могли накосячить, или это могут быть вообще ошибки MS в новой версии?
Стоит ли, в принципе, в таких случаях попробовать запускать глобальную компиляцию (и как это делается)? Техподдержка - техподдержкой, но мы должны и сами учиться обслуживать систему... Цитата:
Сообщение от kornix
Geo, а вы когда проекты загружаете, запускаете сравнение объектов? После импорта запускается компиляция объектов, у вас должны были вылезти ошибки при загрузке, например если система пишет "Не найден исполняемый код метода ..." - это ошибка компиляции, ее видно в сообщениях компилятора
Вот один раз и вылезла ошибка при компиляции. ПОСЛЕ этого (не значит "вследствие", действительно) пошли периодически какие-то траблы. Цитата:
2. Глобальная компиляция - это нажать на кнопку компиляции, находясь в корне АОТа, или как-то по-другому? Не уверен, что мы вообще ее запускали. 3. Разработка ведется на одном слое. Я, собственно, и хотел бы разделить слои (чтобы видеть, где уже мы меняли, а где нет), но пока не узнал, как 4. У нас терминальная система, так что, как я понимаю, версия клиента должна быть одинаковая. Но не факт, что последняя (в целом, мы предпочитаем не чинить, пока не поломается). Ну, тут-то партнер точно ни при чем. Мы сами отказались от девелоперского приложения ради экономии. Да и простота тоже привлекает. Чем проще, тем понятнее и надежнее, в некоторых условиях. |
|
|
За это сообщение автора поблагодарили: mazzy (2), kornix (1). |
16.02.2011, 22:43 | #17 |
Участник
|
Цитата:
Скорее всего вы не корректно перенесли доработку (ту же инкрементную компиляцию не запустили). Партнер плохо поступил, что не рассказал что же он сделал на вашей рабочей. И раз уж у вас мало опыта - требуйте с партнера четкой инструкции по переносу каждой модификации. Цитата:
Цитата:
Цитата:
Цитата:
P.S. сходите на тренинг по разработке, хотя бы начального уровня и задайте вопросы тренеру. Стоит не дорого, но риск сломать рабочую Систему значительно снизится.
__________________
Ivanhoe as is.. Последний раз редактировалось Ivanhoe; 16.02.2011 в 22:46. |
|
|
За это сообщение автора поблагодарили: mazzy (2), kalex_a (1), Geo (1). |
16.02.2011, 23:09 | #18 |
Участник
|
|
|
17.02.2011, 04:59 | #19 |
Участник
|
Цитата:
http://forum.mazzy.ru/index.php?showtopic=584 Цитата:
можно и через главное меню, как Ivanhoe сказал Администрирование / Периодические операции / Глобальная компиляция. Цитата:
если вы таки будете выполнять эти регламентные процедуры, то порядка станет больше. но вы ведь у вас уже сейчас проблемы именно из-за невыполнения регламентов. поэтому тут стоит хорошо взвесить. Цитата:
тут лучше не надеятся, а мониторить. все ли клиенты подключаются с терминального сервера? или таки есть особо одаренные Администрирование \ Активные пользователи Цитата:
Но при этом теряется технический контроль. И нужно выстраивать отношения с партнером. Другими словами, задача переходит из технической области и область отношений. Это ни хорошо, ни плохо, ИМХО. Просто надо учитывать. Цитата:
если же глобальная компиляция запускается как средство профилактики, а не как средство лечения, то запускать можно и при работающих пользователях. в данном конкретном случае данной конкретной ветки - согласен. в данном конкретном случае запускать нужно когда никого нет в системе. Цитата:
Поддерживаю. |
|
|
За это сообщение автора поблагодарили: Geo (1). |
17.02.2011, 08:39 | #20 |
Участник
|
Цитата:
Цитата:
Да, так делают.
Но при этом теряется технический контроль. И нужно выстраивать отношения с партнером. Другими словами, задача переходит из технической области и область отношений. Цитата:
жизнь усложнится. регламентных процедур и процедур по верификации станет больше.
|
|