[ТЕМА ЗАКРЫТА]
20.09.2006 17:37
Little
 
При формировании прихода и расхода по сличилке выскакивает:
  • 2006.09.20 (среда) 16:42:53
    Версия 1.023.5
    >>> Запись 1
    Источник: База данных
    HRESULT=80004005 custom=0 SQLState=<none>
    Переполнение при генерации номера документа. Требуется сменить префикс.
    >>> Запись 2
    Источник: Microsoft OLE DB Provider for Oracle
    HRESULT=80004005 custom=0 SQLState=<none>
    ORA-20069: Переполнение при генерации номера документа. Требуется сменить префикс.
    ORA-06502: PL/SQL: : ошибка преобразования символа в число ошибка числа или значения
    ORA-06512: на "SUPERMAG.DOCUMENTS", line 587
    ORA-06512: на "SUPERMAG.SMGENERATEDOCNOROLLSWAYS", line 6
    ORA-06512: на line 1

    >>> Запись 3
    Источник: SmLibaryBase trace
    HRESULT=80004005 custom=0 SQLState=<none>
    { ? = call SuperMag.SMGenerateDocNoRollsWays(?, ?, ?) }
    Params:
    {0} DocNo[50](0,0): vt=0 value=<not printable>
    {1} DocRL_ID[50](0,0): vt=8 value=14СВМ00929
    {2} WaysDocType[2](0,0): vt=8 value=WI
    {3} Location[0](0,0): vt=3 value=2
Никто не сталкивался с такой проблемой ?!
20.09.2006 19:44
OlegON
 
Так это же древнющая вещь... Тем паче написано, в чем проблема... Номера накладных проверь... Префикс им смени, например.
21.09.2006 10:13
Little
 
Олег, если бы дело было в префиксе, то не давало бы сделать приход, а тут не дает сделать приходку по сличилке.. Если помнишь как формируется номера приходок по сличилке, то поймешь, что префикс тут вообще не может переполнится. *01
21.09.2006 10:29
mary
 
а у сличительной ведомости префикс не может переполнится? Так же может быть префикс по местам хранения
21.09.2006 10:32
mary
 
Причины воникновения этой ошибки ('Переполнение при генерации номера документа')........При генерации номера документа используется заданный префикс, количество символов и последний созданный номер. Если для этих условий нового номера создать невозможно, то и появляется такая ошибка. Для разрешения проблемы можно задать новый префикс, увеличить количество значащих символов или разобраться с пропусками в порядке имеющихся номеров документов.
21.09.2006 10:38
Little
 
Так сличилка создается, а вот при генерации по ней накладных выскакивает ошибка. Причем только на приход... И еще если номер задать руками, то все проходит без ошибок. Да и потом номер по сличилке генериться как "номер сличилки"-"префикс прихода + 00001" К примеру, т.е. номер всегда первый. Переполнения вылезти в принципе не может... *08
21.09.2006 10:50
OlegON
 
Может. Поменяй префикс, послушай старика *04
21.09.2006 11:28
Little
 
Как скажешь сенсей! *06 Попробую, но как мне кажется собака не там порылась...
21.09.2006 12:16
Little
 
Kadr, большое спасибо! проблема решена. возникает при появлении документов с номером в котором присутствует пробел!
21.09.2006 12:52
Mtirt
 
Скорей всего не присутствует. Это я пару раз видела - не мешало. А оканчивается пробелом. Тогда точно сложно следующий номер вычислить...
Но ты по-моему этот документ уже прибил и поэтому выяснить не удастся...
21.09.2006 13:25
kadr
 
думаю стоит пояснить:
При генерации номера накладной на основе сличилки используется след алгоритм (могут быть неточности)

берётся (длина номера сличилки)+(1 знак "-")+(длина префикса накладной) в нашем случае получаем: длина номера сличилки 10 знаков, длина префикса накладной 5 знаков, т.е. имеем 16 знаков.
потом ищется макс номер накладной в smdocuments c условием найденное кол-во знаков (16)+макс количество знаков в номере накладной (в нашем случае 5)
Код:
 AND (LENGTH(ID) = 5 + 16)
   AND ID BETWEEN '00ПРН00001' AND '00ПРН99999';
если находится, то отсекается всё что больше 16 знаков (остаётся номер накладной) и увеличивается на 1.
на всякий случай проверяется на существование, а потом выдаётся сгенерированный номер.

Т.е. в случае vadim`а мы получили:
существовала накладная "00ПРН12345 Справочная" и длина её номера как раз равна 5+16, после всех операций у нас остаётся "очная" вот это значение пытаемся ув. на 1 и получаем ошибку
>>ORA-06502: PL/SQL: : ошибка преобразования символа в число ошибка числа или значения.
Такую ошибку разработчики не предусмотрели и у нас выдаётся
>>ORA-20069: Переполнение при генерации номера документа. Требуется сменить префикс.
Что немного сбивает с пути поиска проблемы.

После удаления пробела длина номера уже не удовлетворяет условию (LENGTH(ID) = 5 + 16) и номера накладных на основе сличилки прекрасно генерятся.

Уф-ф-ф, устал пока писал. Конечно запутанно объяснил, но надеюсь с пониманием проблем не будет
27.10.2006 14:03
sova74
 
kadr, у меня вопрос может ли это быть при генерации актов переоценки на основе прихода. и если может то где искать неправильный номер, в приходах или переоценках
27.10.2006 14:18
Mtirt
 
Это может касаться любых документов.
27.10.2006 16:41
kadr
 
sova74, искать надо воо вновь создаваемых документах, следовательно в твоём случае в актах переоценки
27.10.2006 17:44
sova74
 
ребята, спасибо. Я перешерстил все акты с момента когда возникла ошибка - 2 дня все номера нормальные без пробелов.
вопрос 1. Может ли это быть в удаленных номерах? и если да то как найти этот номер.
вопрос 2. Существует ли какой нить скрипт для проверки номеров?
27.10.2006 18:09
OlegON
 
Если не критично, то, как писал выше, поменяй и у приходок и у актов префикс и прокатит...
30.10.2006 08:47
kadr
 
sova74, https://olegon.ru/index.php?name=For...ic&p=4974#4974 здесь я писал, что дело не в пробелах, а в длине номера, даже если в приведённом примере удалить не пробел, а любой из знаков, то всё будет нормально
30.10.2006 10:13
sova74
 
kadr, я пробовал и увеличивать длину номера и уменьшать ее
ошибка остается. доки создаются с новыми номерами а проводиться нехотят.

olegon, Олег, меняли не только префиксы нои длину номера, непомагло.

Что удивительно, в день когда произошла ошибка акты создавалиь до обеда и все было нормально. что произошло после обеда непонятно *11
30.10.2006 10:23
OlegON
 
Погоди, давай еще раз, они все таки создаются, но не хотят проводиться? Как-то странно перескочило. Ты поменял префиксы и у приходок и у актов, на всех МХ?
30.10.2006 10:38
sova74
 
olegon, совершенно верно, но у меня предчуствие , что это не префиксы виноваты. Поскольку с ораклом не очень, не москазать более конкретно
30.10.2006 10:40
sova74
 
olegon, приходы у нас делаются на 2 основных склада, а акты генерятся для 6 подчиненных
30.10.2006 12:46
kadr
 
sova74, раз они создаются, то тут проблема другого рода. Давай ещё раз подробно опиши что делается, что нет, с описанием последовательности действий и сообщениями СуперМага
01.11.2006 17:52
sova74
 
Ребят спасибо за поддержку, я сам дурак оказался. *06
У меня пара складов неактивна, и посему я на них просто забил. И был неправ. Воткнул везде новые префиксы и все пошло. Правда пришлось базу отрпавить в С+, вот Евглевский и расписал все как есть. *04
Так, что у меня счастье, на работу больше не дергают. (Я в отпуске)
01.11.2006 18:20
OlegON
 
А если бы внимательно читал, что я пишу...
02.11.2006 10:28
sova74
 
olegon, ладно, все равно спасибо.

Так и учаться (дураки *04 )
02.11.2006 10:29
sova74
 
на своих ошибках
02.11.2006 13:46
kadr
 
а умные слушают что им говорят и учатся на ошибках других
03.11.2006 23:59
sova74
 
kadr, точно.
Придется привыкать, что дурак *11

OlegON: Предлагаю дальше тему дураков и обучения на ошибках не развивать...
Опции темы


Часовой пояс GMT +3, время: 07:14.

 

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