💡 Ключевые моменты при работе с очередями — 5 мая 2026 г. в 05:24:37.668
💡 Ключевые моменты при работе с очередями Протестировал найсвежайшую 8.5.4.1306. Начал с очередей. Этот инструмент для асинхронной обработки задач недавно был анонсировали на DevCon 2026. Они похожи на регистры сведений: имеют измерения (для группировки) и реквизиты (для хранения данных). Расскажу, как их настроить и использовать. При создании в дереве метаданных задайте стандартные Имя, Синоним и Комментарий, а также: 📌 ВТранзакции - обработка в транзакции (платформа откроет её автоматически). 📌 РазмерПорцииОбработки - до 1 000 сообщений с одинаковыми значениями измерений за один вызов обработчика. 📌 АвтоматическаяОбработка - если Истина, система сама запустит обработку при появлении сообщений. Не работает в монопольном доступе. Измерения vs Реквизиты: ❗ Измерения группируют сообщения (например, по документу). ❗ Реквизиты - как параметры для обработчика (например, действие с документом). Сообщение = Очереди.ОчередьПроведения.СоздатьСообщение(); Сообщение.ДокументПроведения = Ссылка; Сообщение.Действие = "Партии"; Очереди.ОчередьПроведения.Записать(Сообщение); Важно: 🔸 Запись в очередь происходит при завершении транзакции. 🔸 В рамках одной транзакции новые сообщения не видны для чтения. 🔸 При откате транзакции сообщения не попадут в очередь. Нюансы обработки: 📌 Фоновое задание обрабатывает сообщения не дольше 20 секунд. Если очередь не пуста, то запускается новое задание. 📌 Для ручного запуска используйте: Очереди.ИмяОчереди.ОбработатьСообщения(). Методы: ▪️ ОбработатьСообщения() - ручной запуск. ▪️ Удалить() - удалить одно или несколько сообщений. ▪️ Очистить() - удалить все сообщения очереди. ▪️ ПолучитьАвтоматическуюОбработку() / УстановитьАвтоматическуюОбработку() - управление фоновой обработкой. Нюанс с FIFO: Глобальный порядок обработки идёт по возрастанию Позиции (головы очереди). Но сообщения с разными измерениями перемешиваются. Сначала обработаются все сообщения с набором измерений №1 (даже с большими позициями). Потом - с набором №2. Обработка Всё или ничего. В обработчик приходит пачка сообщений (порция). 📌 Всё успешно → сообщения удаляются из очереди. 📌 Хотя бы одно не обработалось (исключение или отказ) → платформа повторит попытку для всей пачки позже. 💡 Если нужно удалять успешные сообщения по одному, можно в обработчике вызывать метод Удалить() для каждого отработанного элемента. Подписаться: TG | MAX #Практика1С #ПримерКода1С #Релиз8_5наПроде

