Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не записався регістр при проведенні документа
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
zay
Доброго дня
Управління торговим підприємством для України 1.2.69.1
SQL Server 2019

  1. Користувач розрахував і провів нарахування відпуски з одним співробітником
  2. Потім замінив співробітника на іншого і провів документ
  3. У регістрі розрахунку залишився перший співробітник

Відповідно нарахування і виплата відпуски відбулася з помилковим співробітником, який був у регістрі розрахунку

Відтворити помилку на копії бази не вийшло. При проведенні документу нарахування відпуски у регістр записується правильний співробітник, із документа

Тобто на момент запису документа щось таке відбулося, що сам документ був записаний, але при цьому не відбувся запис у регістр розрахунку

Що могло спричинити таку ситуацію?
andr_andrey
zay @ Сегодня, 13:57 необходимо зарегистрироваться для просмотра ссылки ,
Теоретично таке не повинно бути, якщо програміст розуміє, що таке логічна транзакція і сервер працює без падіння.
Але, як кажуть американці - "Shit happens".

Далі буде конспірологічна теорія: є підозра, що все залежить від версії платформи. Це не доведено, але сам шукав причину випадкового часткового проведення складського ордеру, і не знайшов.
zay
Версія платформи 8.3.17.1549

Такі самі проблеми я спостерігав колись у іншій базі, при завантажені великої кількості (пара сотень за сеанс) документів на регулярній основі. Для себе пояснював конфліктом блокувань на рівні таблиці БД. Так, це повинно викликати виключення. Аля я вів логи проведення документів і виключень при проведенні не було

Але з цією відпусткою стандартний для 1С характер роботи. В базі працює всього декілька людей, кожен по своєму напрямку. Конфлікт блокувань регістра розрахунку теоретично не міг трапитися, зарплатні документи робіть тільки одна людина
Batchir
Возможно п. 2 (Потім замінив співробітника на іншого і провів документ) выполнен не штатными средствами.
Например, если использовать групповую обработку изменения данных, то она просто меняет ссылки, но документ не пререпроводит с первого раза.
Если меняли какими-то обработками сотрудника и затем вызвали команду типа ДокументОбъект.Записать() без параметров, то документ будет просто записан без перепроведения.

Но в таком случае если руками открыть документ и провести, то движения должны стать корректными.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.