-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refacted predefined functions and removed bugs #173
refacted predefined functions and removed bugs #173
Conversation
WalkthroughВ данном pull request представлены изменения в нескольких модулях конфигурации, затрагивающие процедуры обработки предопределенных элементов и настроек интеграции. Основные изменения включают упрощение логики вызова метода Changes
Possibly related PRs
Suggested reviewers
📜 Recent review detailsConfiguration used: .coderabbit.yaml 📒 Files selected for processing (1)
🔇 Additional comments (1)src/cf/CommonModules/пбп_СхемыЗапросов/Ext/Module.bsl (1)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
src/cf/Catalogs/пбп_НастройкиИнтеграции/Ext/ObjectModule.bsl (1)
65-65
: Добавление свойства "ЭтоНовый" обеспечивает внутреннюю идентификацию нового объекта. Убедитесь, что все модули, зависящие от этого флага, корректно обрабатывают ситуации, когда объект ранее уже был записан и «ЭтоНовый» может потерять актуальность.src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl (1)
301-302
: Уточните необходимость вызова процедуры дополнения исключаемых полей
Вызывается процедура, расширяющая список исключаемых полей. Убедитесь, что для всех типов элементов (не только интеграционных) эти поля не требуются при расчёте хеша.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (11)
src/cf/Catalogs/пбп_ИнтеграционныеПотоки/Ext/ObjectModule.bsl
(1 hunks)src/cf/Catalogs/пбп_ИнтегрируемыеСистемы/Ext/ObjectModule.bsl
(1 hunks)src/cf/Catalogs/пбп_НастройкиИнтеграции/Ext/ObjectModule.bsl
(2 hunks)src/cf/Catalogs/пбп_ТипСоответствияОбъектовИБ/Ext/ObjectModule.bsl
(1 hunks)src/cf/ChartsOfCharacteristicTypes/пбп_ПредопределенныеЗначения/Ext/ObjectModule.bsl
(1 hunks)src/cf/CommonModules/пбп_ОбновлениеИнформационнойБазыПБП/Ext/Module.bsl
(1 hunks)src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl
(1 hunks)src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl
(2 hunks)src/cf/CommonModules/пбп_ПредопределенныеЗначенияСлужебный/Ext/Module.bsl
(3 hunks)src/cf/Configuration.xml
(1 hunks)src/cf/InformationRegisters/пбп_СостоянияПредопределенныхЭлементов/Ext/ManagerModule.bsl
(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- src/cf/CommonModules/пбп_ОбновлениеИнформационнойБазыПБП/Ext/Module.bsl
🔇 Additional comments (13)
src/cf/Configuration.xml (1)
60-60
: Проверьте согласованность версии во всех файлах конфигурации
Версия обновлена с 1.0.4.17 до 1.0.4.18, что соответствует характеру изменений (рефакторинг и исправление ошибок).
Выполните следующий скрипт для проверки согласованности версии во всех файлах:
✅ Verification successful
Версия успешно обновлена во всех необходимых файлах
Проверка показала, что версия 1.0.4.18 корректно указана в:
- Основном файле конфигурации (
src/cf/Configuration.xml
) - Модуле обновления информационной базы (
src/cf/CommonModules/пбп_ОбновлениеИнформационнойБазыПБП/Ext/Module.bsl
)
Старая версия 1.0.4.17 не найдена в кодовой базе, что подтверждает полное и корректное обновление версии.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Описание: Поиск всех упоминаний версии в файлах конфигурации
# Поиск старой версии
echo "Поиск упоминаний старой версии 1.0.4.17:"
rg "1\.0\.4\.17"
# Поиск новой версии
echo -e "\nПроверка обновления до версии 1.0.4.18:"
rg "1\.0\.4\.18"
Length of output: 383
src/cf/Catalogs/пбп_ИнтегрируемыеСистемы/Ext/ObjectModule.bsl (1)
21-21
: Убедитесь в корректности обработки предопределённых элементов.
Данное изменение упрощает логику, вызывая метод обработки предопределённого элемента безусловно. Важно проверить, что внутри самого метода «ОбработатьСуществующийПредопределенныйЭлемент» корректно учтён сценарий для новых и существующих элементов.
src/cf/ChartsOfCharacteristicTypes/пбп_ПредопределенныеЗначения/Ext/ObjectModule.bsl (1)
22-22
: Аналогичное изменение в логике вызова процедуры.
Как и в другом модуле, вызывается метод обработки без дополнительных проверок. Рекомендуется удостовериться, что метод корректно обрабатывает случаи, когда объект действительно новый, чтобы избежать лишней логики или ошибочной обработки.
src/cf/Catalogs/пбп_ТипСоответствияОбъектовИБ/Ext/ObjectModule.bsl (1)
22-22
: Устранена условная проверка «ЭтоНовый».
Метод «ОбработатьСуществующийПредопределенныйЭлемент» теперь вызывается всегда. Проверьте консистентность с остальным кодом, чтобы избежать неправильной обработки, если объект всё же новый.
src/cf/Catalogs/пбп_ИнтеграционныеПотоки/Ext/ObjectModule.bsl (1)
75-75
: Единообразный подход к вызову процедуры обработки предопределённого элемента.
Изменение соответствует общей модификации логики в других модулях. Обратите внимание, что если метод «ОбработатьСуществующийПредопределенныйЭлемент» ожидает отличное от «ЭтоНовый» поведение, важно убедиться, что это корректно учтено, чтобы избежать непредвиденных ошибок.
src/cf/Catalogs/пбп_НастройкиИнтеграции/Ext/ObjectModule.bsl (2)
58-63
: Данная проверка привязана к условию «Не ЭтоГруппа». Логика разумна для отдельных элементов, но рекомендуется уточнить, не требуется ли дополнительная обработка при работе с группами (например, если у группы могут быть наследуемые реквизиты). Либо зафиксируйте, что такой сценарий не нужен.
69-76
: Переход на безусловный вызов “ОбработатьСуществующийПредопределенныйЭлемент” выглядит корректным, однако имейте в виду, что теперь принимается решение внутри самой процедуры данного модуля, а не здесь. Если необходим контроль (например, при создании нового элемента), он реализуется там же.
src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl (1)
885-888
: Проверка свойства "ЭтоНовый" внутри процедуры “ОбработатьСуществующийПредопределенныйЭлемент” позволяет избежать избыточной обработки для только что созданных элементов. Это соответствует новой логике единого вызова процедуры из разных мест. Убедитесь, что в остальных ветвях кода не осталось пропущенных условий, зависящих от статуса «нового» элемента.
src/cf/InformationRegisters/пбп_СостоянияПредопределенныхЭлементов/Ext/ManagerModule.bsl (1)
125-128
: Убедитесь в корректности набора полей для групп
Данный блок кода расширяет логику формирования ключей хеша для групп. Рекомендуется проверить, что все критически важные поля действительно попадают в итоговый массив и корректно обрабатываются в других местах системы.
src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl (2)
Line range hint 260-261
: Проверьте условие пропуска обновления при ручном изменении
Если хеш совпадает или установлен флаг ручного изменения, элемент исключается из дальнейшей обработки. Убедитесь, что это не приведёт к пропуску необходимых обновлений при изменении неключевых полей.
360-370
: Оцените расширение списка исключаемых полей
Новая процедура добавляет несколько полей для исключения из расчёта хеша. Убедитесь, что в будущем эти поля не повлияют на идентификацию реально меняющихся свойств интеграции. При необходимости добавьте комментарий, почему данные поля не учитываются в хеше.
src/cf/CommonModules/пбп_ПредопределенныеЗначенияСлужебный/Ext/Module.bsl (2)
99-101
: Проверьте корректность интеграции полей группы
Здесь вызывается функция для дополнения массива полей, специфичных для группы. Рекомендуется убедиться, что обработка уникальных полей группы ведётся так же, как и в остальных местах, где они применяются.
333-358
: Убедитесь в корректной проверке реквизитов для групп
Функция "ПолучитьПоляГруппы" добавляет в итоговый массив поля, не предназначенные для отдельных элементов. Проверьте, что все необходимые реквизиты корректно фильтруются на уровне метаданных и что дальнейшая логика учитывает эти добавленные поля.
Summary by CodeRabbit
Новые функции
Исправления ошибок
Документация