Добрый день! помогите пожалуйста! retail 05.02.80.001, Centrum 05.02.78
После обновления Retail до 05.02.80.001, пошли проблемы с загрузкой чеков в центрум - выдается следующая ошибка в тоге транспорта не центруме:
Код:
3.08.2011 09:12:41.547 TRACE: Поток транспорта Чеков.205.CHEQUE: stopPut (SQL = EXEC cp_TransChequeWrite ?, ?;
xmlString = <?xml version="1.0" encoding="windows-1251" ?> <ROOT><HDR _Operation_="0" GangStart="2011-08-02T10:00:00" OperDay="20110802" ShopIndex="205" ShopIndexKKM="205" Id="1092735" Operation="P" Cash_Code="1" NSmena="1522" DateOperation="2011-08-02T21:56:49" Ck_Number="359936" ControlTape="0" Cassir="012" S)
com.microsoft.sqlserver.jdbc.SQLServerException: Невозможно вставить повторяющуюся ключевую строку в объект "dbo.ChequeHead" с уникальным индексом "IXU$ChequeHead@ShopIndex@Cash_Code@DateOperation@Ck_Number".
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:156)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1373)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:371)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:322)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4003)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1550)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:160)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:133)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:304)
at ru.crystalservice.setexchanger.datalinks.DBPrintWriter.stopPut(Unknown Source)
at ru.crystalservice.setexchanger.datalinks.DB.stopPutData(Unknown Source)
at ru.crystalservice.setexchanger.transports.TCPIPExchanger.processServerSide(Unknown Source)
at ru.crystalservice.setexchanger.transports.TCPIPExchanger.processConnection(Unknown Source)
at ru.crystalservice.setexchanger.transports.Exchanger.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Борьба с проблемой: полная чистка смены в центруме, по которой ошибка, перевыгрузка с магазина смены (+ обычно чмстка transfercmd на магазине). Если ставить восстановление чеков, смены без чистки - эффекта не будет. Пробовала отдельно удалять чек, но их в смене может быть много. Могу предположить, что в случае прерывания связи происходит повторная выгрузка, но почему она не перезаписывает, а пытается добавить данные - непонятно
Помогите пожалуйста *131
нереально каждый день таким образом смены подправлять...