|
v7: Пропадают документы из базы. | ☑ | ||
---|---|---|---|---|
0
trdm
04.03.16
✎
14:38
|
В багтрекер упал инцидент под номером 0004305:
Пропадают документы из базы (РКО!!!) Содержание: Пользователем "...... .......", был создан документ РКО за номером С000000143, через 1-2 минуты документ исчез из базы. После повторного создания документ был распечатан, и снова исчез. Созданный в третий раз документ, при попытке провести выдал сообщение (см. скриншот) Необходимо исключить подобные инценденты в дальнейшем. ................................ Грешу на SQL-сервер, на незакрытую транзакцию. База соответственно SQL. Логи запросов в тот момент не велись. Куда копать? Прямые запросы используются, РБД нет. |
|||
1
Тюря
04.03.16
✎
14:43
|
в журнале регистрации есть записи?
|
|||
2
trdm
04.03.16
✎
14:44
|
(1) да. есть записи о не существующих сейчас уже документах.
|
|||
3
Mikeware
04.03.16
✎
14:45
|
(0) веды не помогают? :-)
в журнале регистрации запись о событиях со спорными доками есть? посмотри в джорнале по этим идам - они есть? |
|||
4
Mikeware
04.03.16
✎
14:45
|
и да, на скриншоте - что?
|
|||
5
mehfk
04.03.16
✎
14:46
|
Модель восстановления у этой БД на MS SQL какая?
|
|||
6
Mikeware
04.03.16
✎
14:46
|
(5) а причем?
не в одной же транзакции.. |
|||
7
trdm
04.03.16
✎
14:48
|
(5) есть возможность в логе посмотреть запросы? Чем?
|
|||
8
Тюря
04.03.16
✎
14:49
|
(2) по журнале регистрации ссылка на документ есть?
|
|||
9
Mikeware
04.03.16
✎
14:50
|
(7) нет, там данные. но в фулл - можно прокатить до момента, и увидеть, есть док или нет.
если он есть - значит, транзакция фиксировалась, а после док как-то удален. |
|||
10
trdm
04.03.16
✎
14:50
|
(8) Есть. Но она ни куда не ведет.
|
|||
11
Mikeware
04.03.16
✎
14:51
|
(10) есть "дырка" в нумерации идов в джорнал?
выведи все дырки, посмотри по логам сервера что происходило в те моменты времени |
|||
12
Тюря
04.03.16
✎
14:52
|
(10) в журнале две строки ,
в одной строка в другой ссылка нажми два раза на второй строке |
|||
13
Тюря
04.03.16
✎
14:53
|
проверил по обеим строка открывается документ
|
|||
14
Тюря
04.03.16
✎
14:54
|
если есть ссылка с видом, номером и датой, то документ имеется в базе
|
|||
15
Mikeware
04.03.16
✎
14:55
|
(14) не факт.
|
|||
16
Mikeware
04.03.16
✎
14:56
|
ТС, похоже, вместо ответов ушел в нирвану...
|
|||
17
trdm
04.03.16
✎
14:57
|
Любопытная картинка в журнале по этому документу:
Событие: Документ записан Объект: Складской ордер C000039767 Представление объекта: РКО (торг.) C000000144 03.03.2016 13:38:41 |
|||
18
Mikeware
04.03.16
✎
14:57
|
(17) это уже смешнее....
кто-то занял его ид |
|||
19
Mikeware
04.03.16
✎
14:58
|
блин, ведь только недавно натыкался на тему с такой фигней...
|
|||
20
trdm
04.03.16
✎
14:59
|
Короче как только эта бодяга началась, выгнал всех, перезапустил скуль сервер.
|
|||
21
trdm
04.03.16
✎
14:59
|
Бодяга прекратилась.
Больше такой фигни не было. |
|||
22
Mikeware
04.03.16
✎
15:00
|
(21) а что на скриншоте-то?
|
|||
23
trdm
04.03.16
✎
15:04
|
(22) Ошибки падающие в табло.
Похоже по данным это документ одного вида, а ID от другого. И в даных каша абсолютная. НО, идентифицирует себя в 1с так: глПредставлениеДокумента(Контекст) = "РКО (торг.) № C000002011 от 03.03.16" |
|||
24
trdm
04.03.16
✎
15:06
|
На битом документе в отладчике (при попытке открытии его формы):
глПредставлениеДокумента(Контекст) = "РКО (торг.) № C000002011 от 03.03.16" текущийДокумент() = Счет на оплату C000002011 (03.03.16) |
|||
25
trdm
04.03.16
✎
15:07
|
Функция глПредставлениеДокумента(Конт, Знач ТипКратко = "", псВремя = 0, псТУ = 0, псСокрНаим = 0) Экспорт
ЗначВозврата = "<<не выбран документ>>"; Если ПустоеЗначение(Конт) = 0 Тогда Если ТипКратко <> "" Тогда ЗначВозврата = "N " + Строка(Конт.НомерДок) + " от " + Формат(Конт.ДатаДок,"ДДММГГ") +" г."; Иначе ЗначВозврата = глДокументВОтчете(Конт,1,1,псСокрНаим); //ЗначВозврата = Конт.ПредставлениеВида() + " N " + Строка(Конт.НомерДок) + " от " + Формат(Конт.ДатаДок,"ДДММГГ") +" г."; КонецЕсли; Иначе Попытка Если ТипКратко <> "" Тогда ЗначВозврата = "N " + Строка(Конт.НомерДок) + " от " + Формат(Конт.ДатаДок,"ДДММГГ") +" г."; Иначе ЗначВозврата = глДокументВОтчете(Конт,1,1,псСокрНаим); КонецЕсли; Исключение КонецПопытки; КонецЕсли; Попытка Если Конт.выбран() = 1 Тогда Если псВремя <> 0 Тогда ЗначВозврата = ЗначВозврата + " (вр: " + Конт.получитьВремя()+")"; КонецЕсли; КонецЕсли; Если псТУ <> 0 Тогда ЗначВозврата = ЗначВозврата + " (ту: " + глТипУчетаСтрокой(Конт.типУчета)+")"; КонецЕсли; Исключение КонецПопытки; Если СокрЛП(ЗначВозврата) = "№ от" Тогда ЗначВозврата = ""; КонецЕсли; Возврат ЗначВозврата; КонецФункции // глПредставлениеДокумента() |
|||
26
Mikeware
04.03.16
✎
15:08
|
(24) ну что ты как маленький. найди _строчку_ в файле ЖР, по этой строчке из числа сделай ИД, и найди в 1сджорнал, что там за док реально
|
|||
27
trdm
04.03.16
✎
15:10
|
Я понимаю, что надо прибить в таблицах кассовых этот ID.
Мне важнее другое, понять откуда ноги растут и как это разрулить. |
|||
28
Mikeware
04.03.16
✎
15:11
|
похоже, что 1) два дока получили один и тот же ид. 2)в джорнал в иддокдеф вписался последний деф. В какой-то из таблиц доков есть лишние данные
|
|||
29
Mikeware
04.03.16
✎
15:12
|
(27) хранимку с 1сднлок не убирал?
|
|||
30
IvaneS
04.03.16
✎
15:14
|
(0) Завелась у вас "крыса", нужно выявлять, иначе и другие документы могут пропадать. Видать это только начало.:))
|
|||
31
trdm
04.03.16
✎
15:16
|
(29) Нет.
|
|||
32
Mikeware
04.03.16
✎
15:35
|
у меня аналогичный случай был один или два раза. Был в часы наибольших нагрузок (клиент-банк + открытие-закрытие + массовый сброс заявок с мобильных + планирование). и как раз на кассовых доках.
|
|||
33
Mikeware
04.03.16
✎
15:46
|
||||
34
Z1
06.03.16
✎
10:48
|
(0) скорее всего проблема во вложенных транзакциях
и произошедшим по каким либо причинам откате во внутренней транзакции и неправильной обработкой ситуации во внешней транзакции. Также это может осложняться если Вы при этом еще сами создаете документы при помощи t-sql или например в модуле проведения создаете документы. |
|||
35
trdm
06.03.16
✎
14:32
|
(34) > скорее всего проблема во вложенных транзакциях
Вероятно. > Также это может осложняться если Вы при этом еще сами создаете документы при помощи t-sql или например в модуле проведения создаете документы. Такого нет. |
|||
36
Z1
08.03.16
✎
08:53
|
(0) Проверь "неправильный" iddoc
содержится в двух таблицах шапок документов (dh...) Складской ордер РКО или только в одной из них я предполагаю что в двух. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |