Перевірки, що виконуються в і поза транзакцією запису об'єкта
2.1. Перевірки в обробнику ОбробкаПеревіркиЗаповнення виконуються поза транзакцією запису об'єкта. Оскільки в разі некоректного заповнення об'єкта виконання операції буде перервано ще до запису об'єкта в базу даних, то розміщення перевірок у цьому обробнику є найбільш ефективним.
2.1. Перевірки в обробнику ОбробкаПеревіркиЗаповнення виконуються поза транзакцією запису об'єкта. Оскільки в разі некоректного заповнення об'єкта виконання операції буде перервано ще до запису об'єкта в базу даних, то розміщення перевірок у цьому обробнику є найбільш ефективним.
Під час виконання позатранзакційних перевірок в обробнику ОбробкаПеревіркиЗаповнення необхідно враховувати той факт, що новий стан об'єкта ще не записано. Якщо потрібно виконати запит до тих чи інших даних системи, наприклад, прочитати ознаку ВидНоменклатури для товарів, вибраних у табличній частині документа, "відштовхуючись" від даних документа, то таку перевірку можна виконати, застосовуючи збереження необхідних для запиту даних у тимчасові таблиці.
2.2. Водночас в обробнику ОбробкаПеревіркиЗаповнення не слід розміщувати перевірки, які мають гарантувати цілісний стан об'єкта або залежних від нього даних (наприклад, рухів), на які розраховує система. Тому для реквізитів, некоректні значення яких можуть призвести до неузгодженості даних в інформаційній базі, перевірку коректності слід виконувати в обробниках подій, що виникають у транзакції запису - ПередЗаписом, ПриЗаписі, ОбробкаПроведення (для документів).
Для транзакційних перевірок, своєю чергою, виділяються два випадки:
- Перевірка стану рухів, сформованих документами оперативного обліку. Такі перевірки доволі часто трапляються в застосунках з оперативним обліком.
- Перевірка стану інших об'єктів інформаційної бази, посилання на які містяться в поточному об'єкті. Такі перевірки слід застосовувати дуже рідко. Не слід зловживати кількістю перевірок у транзакції запису об'єкта. Слід пам'ятати, що всередині транзакції запису має сенс виконувати лише перевірки таких ресурсів або таких правил відповідності об'єктів один одному, які не змінюються без перевірок усіма учасниками процесу.
У першому випадку перевірку залишків певного ресурсу має сенс виконувати в транзакції запису лише в тому разі, якщо всі документи виконують таку саму перевірку в транзакції запису. Якщо хоча б один із документів, що змінюють ресурс, робить це без перевірок, виконання перевірок іншими учасниками процесу є безглуздим, і такі перевірки необхідно виконувати поза транзакцією. Винятком може бути лише випадок, коли документ, який виконує зміну контрольованого ресурсу без перевірок, вводиться вкрай рідко. Наприклад, попри те, що документ "Інвентаризація товарів" змінює залишки товарів без перевірок, ця ситуація допустима з огляду на те, що він вводиться вкрай рідко. Кожен такий виняток із правила має бути обґрунтованим.
У другому випадку, якщо під час запису Підрозділу у транзакції запису виконується перевірка, що співробітник, вибраний як керівник підрозділу, має посаду "Керівник", то під час запису Співробітника також має виконуватися й "зустрічна" перевірка цього самого правила: не можна записати Співробітника з посадою, відмінною від "Керівник", якщо він зазначений керівником того чи іншого підрозділу. Оскільки правило, що "Співробітник", вибраний керівником підрозділу, має мати посаду "Керівник", може бути порушене як під час запису підрозділу, так і під час запису співробітника, то й перевірка має виконуватися або в транзакції запису обох об'єктів, або поза транзакцією запису обох об'єктів (а може й не виконуватися взагалі).