Имя: Пароль:
1C
1С v8
Дубли номеров документов при контроле уникальности
,
0 Kuzmich123
 
24.01.14
15:47
Добрый день. Столкнулся с проблемой. Есть УТ 10.3, документ "Поступление  товаров и услуг", стоит галка "Контроль уникальности" и "Автонумерация". С недавних появились документы с одинаковыми номерами (всегда попарно). Начали разбираться и выяснили, что один документ создается пользователем, второй - обработкой по загрузке документов из xml. Сразу возник вопрос про ОбменДанными.Загрузка = Истина. Проверил, стоит Ложь. База SQL с одной информационной базой связана. Единственное, за что зацепился глаз: документ обработкой создается в транзакции. Соответственно, вопрос: как себя ведет платформа при следующих условиях. Открываем транзакцию, создаем документ, записываем (т.е. в этот момент происходит присвоение номера, но транзакция открыта), в этот момент пользователь создает и записывает документ. Какой номер будет иметь документ пользователя? Может кто-то что-то подскажет другое?
1 John83
 
24.01.14
15:49
по логике пользователь уже не сможет записать такой же документ
2 NcSteel
 
24.01.14
15:51
(0) Все нормально отрабатывает, что в транзакции, что в не ее.

Я бы вам посоветовал разобрать код написанный в подписках, где префиксы добавляют и т.п.
3 Kuzmich123
 
24.01.14
15:52
Нумератор, присваивающий номер документу пользователя видит открытую транзакцию с номерами тех документов? А если транзакция отменена, тогда номер теряется у транзакционных документов?
4 Kuzmich123
 
24.01.14
15:53
(2) Спасибо, пойду копать подписки.
5 МойКодУныл
 
24.01.14
15:54
(0) А как проверялось на ОбменДанными.Загрузка = Ложь? Может регламент думает по другому.
6 Kuzmich123
 
24.01.14
15:58
(5) Регламента нет, обработка запускается вручную. Отладчик перед строкой Док.Записать(РежимЗаписиДокумента.Проведение) показывал, что Док.ОбменДанными.Загрузка = Ложь;
7 МойКодУныл
 
24.01.14
16:00
(6) Если запускаете через универсальный обмен, то там на форме можно поставить Истина или Ложь. И пользователь, производящий загрузку мог ее поставить:)
8 Kuzmich123
 
24.01.14
16:03
(6), нет-нет, там не через универсальный обмен. Обработка самописная, качает с ФТП XML-файл, разбирает его и создает документы на основании данных.
9 Kuzmich123
 
24.01.14
16:03
(8) к (7)
10 Kuzmich123
 
24.01.14
16:16
Апну разочек
11 acsent
 
24.01.14
16:19
Значит все таки не ложь
12 МойКодУныл
 
24.01.14
16:21
(8) хз тогда. Мистика:)
13 Kuzmich123
 
24.01.14
16:27
Хм, путем пыток выудил из пользователей дополнительную информацию. Одна барышня вспомнила, что в момент появления задвоенных документов шел штатный обмен между УТ и Розницей (т.е. ОбменДанными = Истина). Обмен запускается регламентом под отдельным пользователем. Может это как-то повлиять на создание документов другими пользователями?
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс