Подскажите, из-за чего такое может быть и как такое устранить.
База файловая, 1c v7.7 "Торговля и Склад 9.2"
В Базе Появилось два документа "Продажа" с разными номерами, и от разных авторов,
но с одной суммой и одним и тем же "содержимым".
Причем если я удаляю док1, то он как был проведён так таким и остался, а док2 при этом удаляется.
И еще в Общем журнале данные по графам для документа док1 отображаются одни, а внутри документа
они другие (например: в док1 в графе Общего журнала "Автор" - Иванов, а в документе - Петров;
в журнале "Фирма" - ООО ПодСервис, а в документе - ИП Валерич).
13.
vugluscr1991
1226.05.20 23:12 Сейчас в теме+0.5 $m
Есть такой метод
(только с копиями и НА СВОЙ СТРАХ И РИСК):
1) запоминаете дату и номер документа
2) выполняете УРБД обмены до тех пор, пока данные в посылках не кончатся
3) удаляете все файлы cdx
4) открываете 1sjourn.dbf таким приложением, которое не изменит версию формата хранения dbf
для этого годятся plugin к far manager-у lookdbf (работает со старыми версиями far 1.75)
либо access 2003 там надо подобрать четвертый dbase.
5) по полям DATE_TIME и DOCNO находите идентификатор IDDOC косячного документа (запомнили в 1)
6) по идентификатору находите дубль
7) удаляете обе эти строки из 1sjourn.dbf
8) по идентификатору IDDOC (или DOCID) находите соответствующие записи в DHXXXXX.dbf и DTXXXXX.dbf, где номера XXXXX - это вид документа, который можно прочитать в 1cv7.dd
9) удаляете все такие записи
10) запускаете 1С монопольно, она восстанавливает индексы. Документов нет ни того, которого надо ни косячного,
надо ввести новый и правильный.
11) Если все удалось, повторяете процедуру для дочерних баз.
В случае ошибки последствия - самые разные.
Всем спасибо за помощь самый лучший ответ на мой взгляд (13) . А я пошёл немного другим путем так как база УРБД, и ошибка возникла на одной из периферийных, проверил в центральной там документа "ПРИВЕДЕНИЯ" не оказалось
1. сделал обмен между БАЗАМИ, и
2. с центральной скопировал все дбф-файлы кроме 1SConst, 1SSystem,1SUPDTS, 1SDWNLDS и 1SDBSET, в проблемную
периферийную Базу (ПБ).
3. Далее в ПБ удалил все индексные файлы
4. и восстановил их.
Подскажите, из-за чего такое может быть и как такое устранить.
Сначала надо понять - что случилось и только потом станет ясно (может быть) - как устранить.
В Базе Появилось два документа "Продажа" с разными номерами, и от разных авторов,
но с одной суммой и одним и тем же "содержимым"
Для начала - проверить размер файлов базы: самый большой не должен превышать 1 Gb, потом могут начаться хаотические ошибки чтения.
Затем - ТиИ, для начала лучше только с одной галочкой (восстановление индексов) - это не изменит информацию в базе, а описанное очень похоже на сбой индексов.
Можно просто удалить все файлы .CDX в папке с базой и запустить 1С в монопольном режиме.
По результатам смотреть - что изменилось, если ничего - тогда более глубокое ТиИ и далее переход к ковырянию в "кишках" базы по советам (4) - он в этом знает толк.
(3) не надо делатьТИИ СРАЗУ. это может напрочь привести к тотальному ухудшению ситуации.
.
УРБД используется?
.
0. Сделать бэкап.
1. выяснить, какой документ "лишний".
2. проситать Иды документов.
3. провести подмену Идов с ненужного на нужный в таблицах.
(4) Можно и со стула упасть, сломав ногу
Где гарантия, что найденная пара единственная? с базой явно что то не то, можно потом находить документы и ситать их вечно
А бэкапы это первое дело в таких ситуациях, и если человек этого не понимает, то ситать иды он явно будет с трудом
(4) Да УРБД используется, в моём случае док1 лишний, только где прочитать иды в каком файле или файлах? Искать их в каждом файле где они могут участвовать?
А еще лучше - и проще - завести новый документ.
"заполнить" его данными по старому документу (данные ТЧ можно перенести штатно посредством "Добавить из документа")
и удалить два проблемных старых документа.
использовать в работе новый
(5)Именно это и было сделано пометили на удаление и создали полностью новый документ, НО на удаление помечается документ Док2, а с док1 ничего не происходит - он как призрак ты его в журнале видишь пытаешься его удалить и на удаление помечается док2.
(12)не удаляет следущее, Если пытаешься поставить пометку на удаление у док1, а помечается док2. Док1 один вообще никак не реагирует ни на какие манипуляции.
(14) "а помечается док2" - так осталось и непонятно, предпринимал ли автор попытки удалить (а не только пометить на удаление) сначала док2. а потом что осталось...
Если переиндексация не помогает, возможно в журнале документов две записи с одним ид. Тии обычно помогает. Если база очень большая, то имеет смысл скопировать, выполнить тии на копии, сравнить файлы и заменить испорченные файлы в базе на файлы из копии, после чего заново создать индексы.
https://www.script-coding.com/v77tables.html
13.
vugluscr1991
1226.05.20 23:12 Сейчас в теме+0.5 $m
Есть такой метод
(только с копиями и НА СВОЙ СТРАХ И РИСК):
1) запоминаете дату и номер документа
2) выполняете УРБД обмены до тех пор, пока данные в посылках не кончатся
3) удаляете все файлы cdx
4) открываете 1sjourn.dbf таким приложением, которое не изменит версию формата хранения dbf
для этого годятся plugin к far manager-у lookdbf (работает со старыми версиями far 1.75)
либо access 2003 там надо подобрать четвертый dbase.
5) по полям DATE_TIME и DOCNO находите идентификатор IDDOC косячного документа (запомнили в 1)
6) по идентификатору находите дубль
7) удаляете обе эти строки из 1sjourn.dbf
8) по идентификатору IDDOC (или DOCID) находите соответствующие записи в DHXXXXX.dbf и DTXXXXX.dbf, где номера XXXXX - это вид документа, который можно прочитать в 1cv7.dd
9) удаляете все такие записи
10) запускаете 1С монопольно, она восстанавливает индексы. Документов нет ни того, которого надо ни косячного,
надо ввести новый и правильный.
11) Если все удалось, повторяете процедуру для дочерних баз.
В случае ошибки последствия - самые разные.
Всем спасибо за помощь самый лучший ответ на мой взгляд (13) . А я пошёл немного другим путем так как база УРБД, и ошибка возникла на одной из периферийных, проверил в центральной там документа "ПРИВЕДЕНИЯ" не оказалось
1. сделал обмен между БАЗАМИ, и
2. с центральной скопировал все дбф-файлы кроме 1SConst, 1SSystem,1SUPDTS, 1SDWNLDS и 1SDBSET, в проблемную
периферийную Базу (ПБ).
3. Далее в ПБ удалил все индексные файлы
4. и восстановил их.