Re: Проблема со связанной номенклатурой

Добрый день!

Добавляем в ТП на операцию инструмент. У добавляемой номенклатуры есть связанная номенклатура. Возникает стандартный запрос о добавлении еще и связанной номенклатуры. Жмем ОК и получаем ошибку(см.ссылку).

http://foto.mail.ru/mail/b-sapr/1/2.html

Стоит оговориться, что ошибка плавающая. Возникает не на всей номенклатуре, возникает только после определенного времени работы в TCS.
Если выйти-зайти, ошибка пропадает.

Re: Проблема со связанной номенклатурой

Нам пока такой ошибки добиться не удалось, но возникает сильное подозрение в стабильности работы Вашего компьютера...
А может Вы как-нибудь не так используете API?
Или скрипты, не совсем корректно написаные?

Re: Проблема со связанной номенклатурой

Ошибка возникает не на одном компе.
API здесь вообще не при чем. Поясню подробнее. В номенклатурном справочнике инструмента для одной из позиций добавляем связанную номенклатуру (стандартными средствами). После этого в ТП на одну из операций привязываем инструмент. При выборе из справочника номенклатурной позиции, имеющей связанную номенклатуру, появляется запрос TCS (стандартный) о добавлении в ТП еще и связанной номенклатуры. Если нажимаем "да" (то есть соглашаемся добавить в ТП связанную номенклатуру), получаем ошибку, показанную по ссылке(см.выше).
Я ж и говорю, что ошибка "плавающая". Никакой логики ее появления не выявили. То есть совершенно спокойно возникает ситуация, когда на "компе 1" такая ошибка возникает на "номенклатуре 1". При этом на "компе 2" эта "номенклатура 1" привязывается к ТП нормально (вместе со связанной номенклатурой), но эта ошибка появляется на "номенклатуре 3", которая в свою очередь без проблем работает на "компе 1".
Если что непонятно написал, спрашивайте, постараюсь ответить.

Re: Проблема со связанной номенклатурой

ошибка "плавающая". Никакой логики ее появления не выявили

Вот это-то самое трудное... Мы-то ее вообще выявить не сможем!
Поэтому предлагаю пойти логическим путем.
Вместе.
Проанализируйте такой факт:
Перед тем как компьютер вывалится, в данном сеансе работы запускаете ли Вы какие-нть скрипты???

Re: Проблема со связанной номенклатурой

API вполне может быть причем.
В такие моменты ошибка вываливалась в начале в API-объекте ITcs_Application.INmkTechnology, если же в этой же программе (типа SpecArm) открыть техпроцесс через зависимые объекты, то связанная номенклатура добавлялась нормально. Потом она начала встречаться и в основном ТКС434. Не помогал даже перезапуск программы.
Я эту ошибку специально не вылавливал и не анализировал - отзывы пользователей, поэтому, как обстоят дела с ней сейчас, и не скажу.

Re: Проблема со связанной номенклатурой

Интересно, что же можно через АПИ сделать такого, что программа начинает падать?

Re: Проблема со связанной номенклатурой

Sh писал(а):
Не помогал даже перезапуск программы.

Имелось в виду, что после перезапуска программы TCS_Tpp.exe, ошибка вставки связанной номенклатуры, снова проявлялась (т.е. сразу же). Программа не падала в прямом смысле, просто ее принудительно перезапускали, в надежде, что ошибка исчезнет.
Что касается АПИ, то у меня склалось впечатление, что первый раз ошибка встречалась именно в АПИ модуле.

Re: Проблема со связанной номенклатурой

Андрей Синельников писал(а):
А может Вы как-нибудь не так используете API?
Или скрипты, не совсем корректно написаные?

Можно поподробнее?
Может и я как нибудь не так использую АПИ и скрипты некорректно пишу? Честно говоря, странное заявление. Скрипты лишь используют имеющиеся функции АПИ. Не следует ли из этого, что это АПИ не совсем корректно работает?

Re: Проблема со связанной номенклатурой

Докучаева Елена писал(а):
Можно поподробнее?

Конечно можно

Докучаева Елена писал(а):
Может и я как нибудь не так использую АПИ и скрипты некорректно пишу?

А почему нет? Очень даже может быть!

Докучаева Елена писал(а):
Честно говоря, странное заявление.

Ничего странного, просто при проектировании скриптов и внешних модулей нужно учитывать особенности нашего API, о чем ниже.

Докучаева Елена писал(а):
Скрипты лишь используют имеющиеся функции АПИ.

Совершенно верно.
Как правильно заметил Sh, API-объекты в системе работают по-разному.

Sh писал(а):
API вполне может быть причем.
В такие моменты ошибка вываливалась в начале в API-объекте ITcs_Application.INmkTechnology, если же в этой же программе (типа SpecArm) открыть техпроцесс через зависимые объекты, то связанная номенклатура добавлялась нормально.

И сделано это для того, чтобы добиться той высокой скорости работы с БД, которая имеется сейчас.
Поэтому корневые объекты получаемые от Application (TCS_Application, OCS_Application) создаются в системе один раз и удалятся только при выгрузке программы.
Все остальные объекты (полученные через Properties, ChildModules ) удалются системой автоматически при отсутcтвии ссылок на них, либо при удалении родительского объекта.
Таким образом, для того чтобы правильно управлять созданием и разрушением объектов, необходимо более внимательно отнестись к рассмотрению данного вопроса.
И уж тем более из этого никак не следует

Докучаева Елена писал(а):
...что это АПИ не совсем корректно работает

Еще подробнее данный вопрос освещен здесь:

https://forum.technologics.ru/viewtopic.php?id=986

Re: Проблема со связанной номенклатурой

Андрей Синельников писал(а):
Таким образом, для того чтобы правильно управлять созданием и разрушением объектов, необходимо более внимательно отнестись к рассмотрению данного вопроса.

Понятно, и что ошибки это вызывает самые разнообразные?
Я думала следствием подобного м.б. ошибка "Out of memory"

Re: Проблема со связанной номенклатурой

Уважаемые коллеги! Спасибо Вам за столь живое участие, однако в ходе обсуждений мы отклонились от главной темы.
Поэтому я пропущу всю дискуссию, развернувшуюся выше, и отвечу на этот вопрос:

Андрей Синельников писал(а):

Проанализируйте такой факт:
Перед тем как компьютер вывалится, в данном сеансе работы запускаете ли Вы какие-нть скрипты???


Нет, в данном сеансе работы никакие скрипты не используются.


Андрей Синельников писал(а):
Вот это-то самое трудное... Мы-то ее вообще выявить не сможем!

 
Я это прекрасно понимаю. Однако проблема есть проблема. Вдруг когда-нибудь наткнетесь...