Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Ошибка при выполнении тригера SMDocumentsOptFields : Супермаг Плюс (Супермаг 2000)

29.03.2024 8:01


01.02.2008 11:47
Den_Astrakhan
 
Имеем схему с с главной и подчиненной базами. В почтовике главной базы прут такие ошибки:

ORA-20717: Неизвестная пользовательская операция с ид. 38
ORA-06512: на "SUPERMAG.CORE", line 285
ORA-06512: на "SUPERMAG.SMDOCUMENTSOPTFIELDS", line 83
ORA-01403: данных не найдено
ORA-04088: ошибка во время выполнения триггера 'SUPERMAG.SMDOCUMENTSOPTFIELDS'

начал смотреть supermag.smuserop в обеих базах, а они отличаются :(
в частности, интересующая меня операция 38, в главной базе идет с id=39.
Можно ли просто изменить id на 38 в главной базе, чтоб ошибка пропала?
01.02.2008 11:53
Mtirt
 
А у тебя одна подчиненная база?
В старшей базе нет документов с пользовательской операцией id=39?
В правах пользователя разрешено в подчиненной базе создавать пользовательские операции?
01.02.2008 11:58
Mtirt
 
Если честно - я бы разослала таблицу из центральной базы в подчиненные. И в подчиненных поменяла документы.
01.02.2008 17:30
Den_Astrakhan
 
1. Да, подчиненная база одна
2. В старшей базе, в smdocuments есть 20 накладных с USEROP=39
3. В подчиненной базе разрешено создавать пользовательские операции только админу...

ps: 1.а как отправить только smuserop в подчиненную базу?!?
2.поменять документы - перепровесит, правильно понимаю?
01.02.2008 17:36
Mtirt
 
Цитата:
Den_Astrakhan ps: 1.а как отправить только smuserop в подчиненную базу?!?
Зависит от версии СМ2000. Для 1.025 и выше - из интерфейса (Разделы - Настройка - Операции- Пользовательские операции. Функции -Разослать. Перед этим проверить в Настройка -Справочники- Типы справочников, не является ли этот справочник локальным). Для более ранних версий - на закладке Рассылка почтового модуля.

Цитата:
Den_Astrakhan 2.поменять документы - перепровесит, правильно понимаю?
Да. Понизить статус до розовой галки и поменять операцию.
01.02.2008 18:08
Den_Astrakhan
 
версия 1.024.6 sp5
при пересылке получил следующую бяку:

Код: 0 Доп. код: 0
Источник: Sm.Post.DbLoader
Сообщение: Невозможно обновить в БД объект «RF, SMUSEROP», таблица «SMUSEROP»

Код: 0 Доп. код: 0
Источник: System.Data
Сообщение: ORA-02292: нарушено ограничение целостности (SUPERMAG.SMCDOCUSEROP) - обнаружена порожденная запись
02.02.2008 15:32
Den_Astrakhan
 
а можно ли вычистить в подчиненной базе табличку SMUSEROP руками и попробовать переслать еще раз?
02.02.2008 21:52
akonev
 
Цитата:
Den_Astrakhan Сообщение: ORA-02292: нарушено ограничение целостности (SUPERMAG.SMCDOCUSEROP) - обнаружена порожденная запись
надо понимать, в подчиненной базе есть ID операции (38 ?), которого нет в офисе. по этому ID прошли документы.
теперь эта операция, которая есть только в подчиненной, не хочет удаляться. ее документы держат.

добейся для начала, чтобы у тебя набор ID в подчиненной базе был бы таким же, как в офисе или подмножеством офисного.
после этого заработает пересылка справочника.

ну или просто:
создать в офисе операцию 38, такую же, как в маге.
пересадить 20 документов в офисе с 39 на 38.
убить в офисе операцию 39.
04.02.2008 11:04
Den_Astrakhan
 
USEROP надо менять в smdocuments или где то еще?
04.02.2008 11:07
akonev
 
Цитата:
Den_Astrakhan USEROP надо менять в smdocuments или где то еще?
вроде бы, только там.
хотя 20 штук я бы просто через интерфейс супермага переделал.
Часовой пояс GMT +3, время: 08:01.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.