|   |   | 
| 
 | Дубли номеров документов при контроле уникальности | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Хм, путем пыток выудил из пользователей дополнительную информацию. Одна барышня вспомнила, что в момент появления задвоенных документов шел штатный обмен между УТ и Розницей (т.е. ОбменДанными = Истина). Обмен запускается регламентом под отдельным пользователем. Может это как-то повлиять на создание документов другими пользователями?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |