Доброго дня. Имеем последнюю ERP и бекофис на текущую дату. (но суть не в этом, ошибка была и в предыдущих релизах).
Как мы все знаем в ERP имеется 2 справочника. Партнеры и контрагенты. Вести их можно как раздельно, так и совместно (настраиваться в настройках ERP). У нас используется именно совместное ведение.
В таком сценарии, при открытии контрагентов мы получаем список партнеров, к каждому из которых привязан один контрагент.
Структура получается следующая: есть справочник партнеров, есть справочник контрагентов. В идеальных условиях при совместном ведении мы получаем полностью идентичный список (за исключением физ лиц, у которых один контрагент "физическое лицо"). Связь следующая - у контрагента есть реквизит партнер в котором и прописывается наш партнер. Если у какого либо из партнеров вдруг оказывается несколько контрагентов, ерп перестает отображать реквизиты (инн, кпп) в общем списке доступном во вкладке НСИ - контрагенты. (НЕ ПУТАТЬ со справочником контрагенты, о нем будет ниже)
Структура продуманна в целом не плохо. От партнера мы имеем контактные данные, от контрагенты имеем реквизиты. И все это выводится в одну карточку.
К слову в самом битриксе ведение примерно аналогичное. Имеем компании, имеем рекизиты. Реквизиты привязываются к компаниям по ID сущности.
Связать две подобные базы на самом деле еще та задача. Перед синхронизацией желательно вычистить все дубли и т.п.
И самое главное избавится от задвоенных реквизитов у компаний! Иначе при выгрузке из битрикса в ерп мы получим по несколько контрагентов на одного партнера, что не есть хорошо при совместном ведении.
Кстате проверять это дело на постоянной основе весьма легко, в общих модулях есть модуль "ПартнерыИКонтрагенты" который как раз отвечает за вывод списка в разделе НСИ, всего то необходимо поправить функцию "ТекстЗапросаДинамическогоСпискаПартнеры", а именно после первого запроса по поиску двух агентов на одного партнера изменить обработку результата.
Вместо
Пишем
В итоге при заходе в список контрагентов (не путать со справочником) будем получать сообщение а том у каких партнеров задвоенные реквизиты.
Так же по хорошему использовать помощник ручного слияния доступный в бекофисе который визуально отобразит связи.
Так вот к чему я.
Я какой то момент времени, пока приводили к единому целому список агентов ерп и компаний битрикса, я стал замечать что очень часто, в ерп стали появляться контрагенты без имени. И именно контр агенты.
Т.е. в справочнике партнеры полностью заполненный партнер. В справочнике контрагенты контрагент с реквизитами но без наименования, отсутсует как рабочее так и полное наименование. При том оно должно быть точно такое же как и у партнера. При повторном сохранении такого косячного агента наименование в справочнике заполняется корректно.
При том, т.к. при совместном ведении вывод происходит через доп обработку в списке доступном через НСИ, мы не видим пустых. А увидеть их можно, только вручную открыв справочник контрагенты через функции тех. специалиста.
По началу я не предал этому внимания. Пока мы не навели полный порядок....
Связь битрикса и ерп такая
Контрагенты это реквизиты
Партнеры это компании
Сейчас у нас там полный порядок.
Все реквизиты связанны с контрагентами
Все компании с партнерами.
Нет пустых, нет дублей.
Все казалось бы замечательно.
Но тут я обнаружил непонятное поведение которое я просто не могу отследить! Периодически в справочнике контрагентов появляются пустые! А именно это те самые контрагенты которые точно были заполнены и в битриксе и в ЕРП. Но их в какой то момент пересохранили в битриксе (возможно добавили какую то инофрмацию) и они выгрузились в ерп без названия!
При том такое поведение пока замечено только с учетных записей сотрудников к которых нет полных прав на битрикс (пока так же не могу понять есть ли тут связь или нет)
Возможно кто то сможет мне подсказать в какую сторону копнуть, где или как искать проблему.
Спасибо.
Как мы все знаем в ERP имеется 2 справочника. Партнеры и контрагенты. Вести их можно как раздельно, так и совместно (настраиваться в настройках ERP). У нас используется именно совместное ведение.
В таком сценарии, при открытии контрагентов мы получаем список партнеров, к каждому из которых привязан один контрагент.
Структура получается следующая: есть справочник партнеров, есть справочник контрагентов. В идеальных условиях при совместном ведении мы получаем полностью идентичный список (за исключением физ лиц, у которых один контрагент "физическое лицо"). Связь следующая - у контрагента есть реквизит партнер в котором и прописывается наш партнер. Если у какого либо из партнеров вдруг оказывается несколько контрагентов, ерп перестает отображать реквизиты (инн, кпп) в общем списке доступном во вкладке НСИ - контрагенты. (НЕ ПУТАТЬ со справочником контрагенты, о нем будет ниже)
Структура продуманна в целом не плохо. От партнера мы имеем контактные данные, от контрагенты имеем реквизиты. И все это выводится в одну карточку.
К слову в самом битриксе ведение примерно аналогичное. Имеем компании, имеем рекизиты. Реквизиты привязываются к компаниям по ID сущности.
Связать две подобные базы на самом деле еще та задача. Перед синхронизацией желательно вычистить все дубли и т.п.
И самое главное избавится от задвоенных реквизитов у компаний! Иначе при выгрузке из битрикса в ерп мы получим по несколько контрагентов на одного партнера, что не есть хорошо при совместном ведении.
Кстате проверять это дело на постоянной основе весьма легко, в общих модулях есть модуль "ПартнерыИКонтрагенты" который как раз отвечает за вывод списка в разделе НСИ, всего то необходимо поправить функцию "ТекстЗапросаДинамическогоСпискаПартнеры", а именно после первого запроса по поиску двух агентов на одного партнера изменить обработку результата.
Вместо
Скрытый текст |
---|
Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда ЗапросСИнформациейПоКонтрагенту = Истина; КонецЕсли; |
Пишем
Скрытый текст |
---|
Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда ЗапросСИнформациейПоКонтрагенту = Истина; Иначе масЗнач=Новый Массив; спЗнач=Новый СписокЗначений; ТЗО=Результат.Выгрузить(); масЗнач=ТЗО.ВыгрузитьКолонку("Код"); спЗнач.ЗагрузитьЗначения(масЗнач); сппартн="Возможно есть несколько реквизитов: "+спЗнач; Сообщить(сппартн); КонецЕсли; |
В итоге при заходе в список контрагентов (не путать со справочником) будем получать сообщение а том у каких партнеров задвоенные реквизиты.
Так же по хорошему использовать помощник ручного слияния доступный в бекофисе который визуально отобразит связи.
Так вот к чему я.
Я какой то момент времени, пока приводили к единому целому список агентов ерп и компаний битрикса, я стал замечать что очень часто, в ерп стали появляться контрагенты без имени. И именно контр агенты.
Т.е. в справочнике партнеры полностью заполненный партнер. В справочнике контрагенты контрагент с реквизитами но без наименования, отсутсует как рабочее так и полное наименование. При том оно должно быть точно такое же как и у партнера. При повторном сохранении такого косячного агента наименование в справочнике заполняется корректно.
При том, т.к. при совместном ведении вывод происходит через доп обработку в списке доступном через НСИ, мы не видим пустых. А увидеть их можно, только вручную открыв справочник контрагенты через функции тех. специалиста.
По началу я не предал этому внимания. Пока мы не навели полный порядок....
Связь битрикса и ерп такая
Контрагенты это реквизиты
Партнеры это компании
Сейчас у нас там полный порядок.
Все реквизиты связанны с контрагентами
Все компании с партнерами.
Нет пустых, нет дублей.
Все казалось бы замечательно.
Но тут я обнаружил непонятное поведение которое я просто не могу отследить! Периодически в справочнике контрагентов появляются пустые! А именно это те самые контрагенты которые точно были заполнены и в битриксе и в ЕРП. Но их в какой то момент пересохранили в битриксе (возможно добавили какую то инофрмацию) и они выгрузились в ерп без названия!
При том такое поведение пока замечено только с учетных записей сотрудников к которых нет полных прав на битрикс (пока так же не могу понять есть ли тут связь или нет)
Возможно кто то сможет мне подсказать в какую сторону копнуть, где или как искать проблему.
Спасибо.