Имя: Пароль:
1C
1С v8
Значение поля номер не уникально (при копировании базы)
0 Ellowis
 
29.07.15
10:41
Добрый день.
Ситуация следующая: есть рабочая база данных, есть база для формирования "тяжелых" отчетов. База для отчетов по сути является ежедневной копией рабочей базы по состоянию на "вчера вечер".
Копирование базы происходит средствами SQL.
Так вот, примерно в 60-80% дней, в базе для отчетов первая попытка завести документ приводит к сообщению "Значение поля номер не уникально". Стоит выполнить восстановление нумерации все работает - но на следующий день, с очень большой вероятностью, ситуация повторяется.
В рабочей базе эти же документ нормальным образом вводятся, т.е. там ошибки нет и никто восстановление нумерации не производит.
Подскажите, в какую сторону смотреть что бы избавиться от этой ошибки ?
1 Остап Сулейманович
 
29.07.15
10:45
(0) Смотреть в сторону установки РабочейДаты. Раз уж в "базе для отчетов" вы работаете задним числом.
Нужно посмотреть нумераторы периодичность которых не "весь период". И перед вводом таких документов "задним числом" нужно правильно выставить РабочуюДату. Именно Рабочую, а не Текущую. РабочаяДата должна быть в том же периоде, за который вводится документ задним числом.
2 mehfk
 
29.07.15
10:50
(0) Перед восстановлением базы останавливайте сервер 1с
3 mehfk
 
29.07.15
10:51
Либо попробуйте делать ОбновитьНумерациюОбъектов()
4 mehfk
 
29.07.15
10:53
Просто сервер 1с запомнил номер последнего документа во вчерашней базе, а вы тут ему раз и другую базу подсовываете, где уже такой номер занят.
5 Ellowis
 
29.07.15
12:30
(1) Новый документ вводится этим же годом, т.е. текущей датой, а она как я понимаю и в рабочей и в тестовой одинаковы. т.е "сегодня".
Или я что-то не понимаю?

(3) Вот и хочется уйти от ежедневного "ОбновитьНумерациюОбъектов()"

(4) Видимо важное уточнение: сервер 1С предприятия другой, т.е. аналогичный серверу 1С предприятия рабочей базы, но физически установлен на другом сервере.
6 mehfk
 
29.07.15
13:07
>>Вот и хочется уйти от ежедневного "ОбновитьНумерациюОбъектов()"

И рыбку съесть и сковородку не испачкать. Делай регламентным заданием, либо в ПередначаломработыСистемы() определяй что это первый запуск только что восстановленной копии и обновляй нумерацию там.

>> Видимо важное уточнение: сервер 1С предприятия другой, т.е. аналогичный серверу 1С предприятия рабочей базы, но физически установлен на другом сервере.

Вообще фиолетово, а вот версию сервера было бы интересно узнать
7 mehfk
 
29.07.15
13:16
Ну и режим совместимости у конфигурации и что там с автонумерацией у "проблемных" объектов.
8 Serg_1960
 
29.07.15
13:20
Просто чисто интереса ради попробуйте вместо варианта "Копирование базы происходит средствами SQL.", выполнить вариант "Копирование базы происходит средствами 1С". Чисто интереса ради :)
9 Ellowis
 
29.07.15
18:24
(6) Платформа 8.3.5.1460. 64 бита. Рабочую базу обслуживает кластер из 2-х серверов. Базу для отчетов один сервер.

(7)
Конфигурация, режим совместимости - Версия 8.2.16
Документы на которых вылетает ошибка, периодичность - "В пределах года"
10 Ellowis
 
21.08.15
15:43
Доброго времени.
Пробовал разные варианты:
1. Восстанавливать базу через выгрузку/загрузку - все отрабатывает нормально
2.(1) рабочая дата в тестовой базе устанавливается нормально.
3. При копировании базы средствами SQL - нумерация сбивается

Есть еще мысли почему может слетать нумерация объектов при копировании базы средствами SQL ?
Независимо от того, куда вы едете — это в гору и против ветра!