CftClub.ru
Клуб специалистов ЦФТ-Банк

Дублирование документов в выписке

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение
Предыдущая тема :: Следующая тема  
Автор Сообщение
VSV056
Участник - экстремал


Вступление в Клуб: 25.11.2010
СообщениеВт Июн 06, 2017 09:54   Дублирование документов в выписке Ответить с цитатой
Полезность: Нет оценки
Коллеги, доброго дня!
Сталкивались ли вы с ситуацией, когда в выписке один и тот же документ оказался отраженным несколько раз, либо оказывался непроведенный/ликвидированный документ.
Каковы были причины в вашем случае?
Mourinjo
Участник со стажем


Вступление в Клуб: 21.12.2010
СообщениеВт Июн 06, 2017 10:49    Ответить с цитатой
Полезность: Нет оценки
Да, сталкивались с такой проблемой (кассир и зав кассы одновременно проводили один и тот же документ), что в выписке отражается один и тот же документ. Решали проблемой запуском простой операции "Пересчет и восстановление выписки по счету (служебная)" в типе "Финансовые счета" стоя на проблемном счете, только не помню, что мы задавали. Кто может сказать, как надо правильно параметры выставлять ?
VSV056
Участник - экстремал


Вступление в Клуб: 25.11.2010
СообщениеВт Июн 06, 2017 11:14    Ответить с цитатой
Полезность: Нет оценки
В нашем случае сломалось резервирование, по нескольким счетам.
Саму проблему победили служебной операцией. Сначала восстановление выписки, потом пересчет выписки. Но осадочек остался...
IXaNI
Участник со стажем


Вступление в Клуб: 27.08.2012
СообщениеВт Июн 06, 2017 11:16    Ответить с цитатой
Полезность: Нет оценки
А что привело к проблеме? Выполнение дистрибутивных операций или локалов?
VSV056
Участник - экстремал


Вступление в Клуб: 25.11.2010
СообщениеВт Июн 06, 2017 11:37    Ответить с цитатой
Полезность: Нет оценки
IXaNI пишет:
А что привело к проблеме? Выполнение дистрибутивных операций или локалов?

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


Вступление в Клуб: 27.08.2012
СообщениеВт Июн 06, 2017 11:46    Ответить с цитатой
Полезность: Нет оценки
VSV056 пишет:
IXaNI пишет:
А что привело к проблеме? Выполнение дистрибутивных операций или локалов?

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


Просто в локале тоже сталкивался с такой проблемой, вызывая в цикле дистрибутивную [DOC_TO_PROV]. Проводки в выписке двоились по блокируемым счетам, если операции не удавалось заблокировать учетный счет. В этом случае документ не проводился с ошибкой "Архив балансов занят!", но в выписке запись создавалась... Соответственно после того, как документ позже был проведен корректно в выписке оказывалось 2 и более записей по этому док-ту, в зависимости от неудачных попыток
VSV056
Участник - экстремал


Вступление в Клуб: 25.11.2010
СообщениеВт Июн 06, 2017 12:06    Ответить с цитатой
Полезность: Нет оценки
IXaNI пишет:
VSV056 пишет:
IXaNI пишет:
А что привело к проблеме? Выполнение дистрибутивных операций или локалов?

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


Просто в локале тоже сталкивался с такой проблемой, вызывая в цикле дистрибутивную [DOC_TO_PROV]. Проводки в выписке двоились по блокируемым счетам, если операции не удавалось заблокировать учетный счет. В этом случае документ не проводился с ошибкой "Архив балансов занят!", но в выписке запись создавалась... Соответственно после того, как документ позже был проведен корректно в выписке оказывалось 2 и более записей по этому док-ту, в зависимости от неудачных попыток

А вот это дельная мысль, сходится с наблюдаемой картиной.
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеВт Июн 06, 2017 12:38    Ответить с цитатой
Полезность: Нет оценки
В локале какой-нибудь exception when others then null?
IXaNI
Участник со стажем


Вступление в Клуб: 27.08.2012
СообщениеВт Июн 06, 2017 13:27    Ответить с цитатой
Полезность: 1
Volod пишет:
В локале какой-нибудь exception when others then null?


Примерно)

Сейчас код выглядит так:

Код:
savepoint CANNOT_LOCK_POINT;
   begin   
      doc.[DOCUMENT]->(MAIN_DOCUM)[SET_INSERT](true, null, P_DATE);
      doc.[DOCUMENT].[DOC_TO_PROV](False);      
   exception
      when CANNOT_LOCK then
         rollback to CANNOT_LOCK_POINT;
         doc.[NOTES] := 'CANNOT_LOCK Документ не проведен: '||sqlerrm;
      when OTHERS then
         doc.[NOTES] := 'OTHERS Документ не проведен: '||sqlerrm;
   end;


exception when CANNOT_LOCK then и rollback как раз позволяют избежать этой ошибки
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru