Жёлтая тетрадь 📒 Блог о разработке в 1С 👨‍💻
1.12K subscribers
42 photos
69 links
В основном небольшие и нерегулярные личные заметки о разработке на платформе 1С:Предприятие.

@builin - по всем вопросам, вакансии и рекламу не размещаю.

Еще один мой канал: @kodbaza (осторожно, там Java)
Download Telegram
Получение измененных и удаленных данных узла плана обмена

К таблицам изменений планов обмена можно строить запросы. И если данные удалить, то в таблице изменений ссылка будет заполнена (<Объект не найден ...>), а в данных этой ссылки не будет (NULL). Пример запроса:
ВЫБРАТЬ
НоменклатураИзменения.Ссылка КАК Ссылка,
НоменклатураИзменения.Ссылка.Ссылка КАК Ссылка1
ИЗ
Справочник.Номенклатура.Изменения КАК НоменклатураИзменения
ГДЕ
НоменклатураИзменения.Узел = &Узел
//И НоменклатураИзменения.Ссылка.Ссылка ЕСТЬ NULL

Результат:
Первый - Первый
<Объект не найден> (92852:832900155d00f10711eb173504f418ec) - <NULL>
Четвертый - Четвертый

@yellow_pad | #ПланОбмена #интеграция #РегистрацияИзменений #запросы
Блокировка таблиц регистрации изменений

Выбираем запросом измененные данные, выгружаем данные, удаляем регистрацию изменений. Надо заблокировать таблицу регистрации, чтобы пользователи не смогли поменять данные, которые мы выгружаем.

Ни запрос, ни БлокировкаДанных не позволяют заблокировать таблицу зарегистрированных изменений. Блокировка таблиц регистрации устанавливается вызовом метода ПланыОбмена.ВыбратьИзменения(УзелПланаОбмена, НомерСообщения). Для всех изменений будет установлен НомерСообщения (при регистрации он NULL), по которому можно и отбор в запросе сделать.

Если метод ВыбратьИзменения падает в Исключение, значит таблицы регистрации кем-то заблокированы. Можно прервать обмен, а можно изменения выгрузить, а регистрацию изменений не удалять.

@yellow_pad | #ПланыОбмена #обмены #блокировка #РегистрацияИзменений