Изменение принадлежности документа к последовательности при загрузке данных (1С-SQL)   

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

Как известно, признак принадлежности определенного документа к определенной последовательности хранится в таблице «Журналов документов» «_1sjourn». Для каждой последовательности в данной таблице существует поле с типом «tinyint» и названием DS, где - это идентификатор последовательности из таблицы «_1sstream». В том случае, если документ принадлежит последовательности, то в этом поле ставится «1», иначе «0».

Во время загрузки данных в конфигураторе в непустую базу данных возникает следующая ситуация: в тех строках таблицы, где в поле последовательности должна стоять цифра «1», стоит «2».

Теперь о том, как это выглядит у пользователей. При попытке восстановления последовательности встроенными средствами в монопольном режиме, 1С быстро пересчитывает итоги и передвигает ТА, причем очевидно, что документы не проводятся (для контроля можно выставить пометку для выдачи сообщений о проведенных документах).

Как определить наличие ошибки. Открыть MS SQL Query Analizer (QA), выбрать свою базу данных и выполнить следующий запрос:

Select MAX(DS) from _1sjourn

 

Вместо соответственно нужно подставить реальное название колонки. Если в результате запроса у вас вышло «0», что значит, что нет ни одного документа по данной последовательности, или «1», что значит что документы есть, то это нормально. Если же вышло максимальное значение «2», то значит описываемая ошибка присутствует.

Ее можно быстро исправить, выполнив следующий скрипт:

UPDATE _1sjourn SET DS=1 WHERE DS=2

 

Теперь о том, в каких случаях данная ошибка возникает. После проведения ряда проверок было выяснено, что ошибка возникает в случае загрузки данных в базу данных, которая инициализирована для УРБД, независимо от наличия в конфигурации распределенных баз. Короче говоря – достаточно того, чтобы база была помечена в качестве «Центральной». Ошибка возникает как на 21, так и на 23 релизе. На других я не проверял в связи с отсутствием необходимости.

 


 

Перепечатка, воспроизведение в любой форме, распространение, в том числе в переводе, любых материалов с сайта www.softpoint.ru возможны только с письменного разрешения компании "СофтПоинт". Это правило действует для всех без исключения случаев, кроме тех, когда в материале прямо указано разрешение на копирование (основание: Закон Российской Федерации "Об авторском праве и смежных правах").