1. Просмотр объектов залога по VIN и шасси
Сценарий использования
На форме есть два блока (вероятно, табличные поля):
-
Список контрагентов и VIN – содержит колонки:
КонтрагентиНомерVin(или аналогичные). -
Список контрагентов и шасси – содержит колонки:
КонтрагентиТранспортноеСредствоНомерШасси.
При активизации строки в одном из этих списков (событие ПриАктивизацииСтроки) происходит следующее:
-
В реквизиты формы (
Контрагент,НомерилиКонтрагент1,Номер1) запоминаются выбранные значения. -
Подключается обработчик ожидания (
ПодключитьОбработчикОжидания), который через 0,2 секунды вызывает серверную функцию обновления дополнительной информации.
Серверная логика
Функция ОбновитьДополнительнуюИнформациюНаСервере() (или её аналог для шасси) выполняет запрос к справочнику АЭ_ОбъектыЗалога по условиям:
-
Владелец= выбранный контрагент -
ТранспортноеСредствоНомерVin(или...Шасси) = переданный номер
Результат запроса (поля Ссылка и Код) загружается в таблицу значений СписокОбъектовЗалога (или СписокОбъектовЗалога1) на форме. Таким образом, пользователь видит все объекты залога, привязанные к данному контрагенту и конкретному транспортному средству.
Открытие карточки объекта
При двойном клике по строке в таблице СписокОбъектовЗалога (или СписокОбъектовЗалога1) срабатывает событие Выбор, которое вызывает ОткрытьЗначение(Элемент.ТекущиеДанные.ОбъектЗалога). Это открывает форму элемента справочника для просмотра/редактирования.
Инициализация при открытии
В процедуре ПриСозданииНаСервере сразу вызываются обе функции обновления, чтобы форма отображала данные по умолчанию (вероятно, для первого выбранного контрагента или пустые списки).
2. Очистка дублей в регистрах сведений синхронизации
Назначение
В процессе синхронизации через HTTP-сервис могут накапливаться дублирующиеся записи в регистрах сведений, хранящих соответствие между объектами 1С и их публичными идентификаторами. Дубли возникают, например, при повторной отправке пакетов. Обработка позволяет удалить лишние записи, оставив по одной уникальной на пару Ссылка + УзелИнформационнойБазы.
Алгоритм работы (процедура ОчиститьДУблиНаСервере)
Выполняется для двух регистров:
-
Регистр
АЭ_ИдентификаторыОбъектовСинхронизируемыхЧерезHTTPСервис-
Запросом выбираются все записи, у которых для одной и той же
Ссылкасуществует более одного значенияИдентификатор(с группировкой поСсылкаи условиемКОЛИЧЕСТВО(Идентификатор) > 1). -
Для каждой найденной ссылки создаётся набор записей регистра с отбором по
УзелИнформационнойБазыиСсылка. Набор читается. -
Если в наборе больше одной записи, все записи, кроме первой, удаляются (удаление выполняется через вызов
НаборЗаписей.Удалить(Запись)). -
Количество удалённых записей суммируется и выводится сообщение в окно сообщений.
-
-
Регистр
УМФО_ПубличныеИдентификаторыИнтегрируемыхОбъектов-
Аналогичный алгоритм, но с другим именем регистра (запрос адаптирован под его структуру).
-
Также выводится количество удалённых записей.
-
Запуск
На форме имеется команда (кнопка) ОчиститьДУбли, при нажатии которой вызывается клиентская процедура, а та, в свою очередь, – серверная процедура очистки. Результат (количество удалённых записей) отображается в виде сообщений.
Примечание по безопасности
Процедура удаляет записи без дополнительных подтверждений (кроме нажатия кнопки). Рекомендуется использовать с осторожностью, предварительно создав резервную копию.
3. Технические особенности
-
Разделение клиент-сервер: все обращения к данным выполняются на сервере, а на клиенте – только инициирующие вызовы и обработка событий интерфейса.
-
Используется асинхронный подход через
ПодключитьОбработчикОжидания, чтобы обновление списков происходило после выбора строки без блокировки интерфейса. -
Для удаления дублей используется работа с наборами записей регистров сведений, что гарантирует корректное удаление в рамках транзакции.
4. Возможные ограничения и доработки
-
Отсутствует индикация выполнения при очистке дублей (может быть долго при большом количестве записей).
-
Нет проверки прав доступа – обработка работает с правами текущего пользователя.
-
Имена регистров жёстко зашиты в коде, что усложняет перенос в другие конфигурации.
5. Заключение
Обработка решает узкоспециализированные задачи:
-
для пользователей – быстрый поиск объектов залога по транспортному средству и контрагенту;
-
для администраторов – обслуживание регистров синхронизации, удаление дублей, мешающих корректной работе обмена.
Благодаря простоте интерфейса и асинхронной логике, обработка может быть легко интегрирована в рабочие места специалистов по залогам или в административные формы.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия КОРП, редакция 3.0, релизы 3.0.180.14
Вступайте в нашу телеграмм-группу Инфостарт