Система хранения в любой из программ «1С» устроена в виде многоуровневой сложной базы данных. В ней прописаны взаимосвязи и взаимозависимость данных, их связи с объектами с высокой степенью абстракции. Однако, по нашему опыту, компании крайне редко используют «1С» в том же виде и в той же конфигурации, что предоставляются пользователю первоначально, «из коробки».
Каждая компания дорабатывает системы под себя, под особенности своих бизнес-процессов, оргструктуры, производимой продукции и т. д.
Как результат - структура данных становится ещё более специфичной и уникальной.
Пока всё это крутится внутри одной системы, проблем не возникает.
Но если нужно интегрировать «1С» с другими системами, специфика хранения информации усложняет эту задачу.
Возникает необходимость разобраться со следующими нюансами
К какой системе будет относиться сама интеграция: к «1С» или ко второму «участнику процесса»?
От этого зависит, какая из команд разработки будет создавать и перерабатывать интеграцию и на какую систему ляжет нагрузка.
В каком формате должны быть переданы и приняты данные
Разные системы потребляют данные в разных форматах. «1С:ERP Управление предприятием»
- в EnterpriseData (основан на XML), а, например, Axapta - тоже в XML, но в «чистом».
Вроде бы различия минимальны, но они могут повлиять на качество данных
И либо в системе-приёмнике, либо в системе - источнике данных необходимо будет настроить конвертацию в нужный формат.
Какие именно данные нужно забирать и отправлять?
Как правило, системе-приёмнику не нужно «всё, везде и сразу» - только отдельные поля или записи за определённый период времени.
Нужно определить, что это за поля, отделить их от общего массива данных и направить в соответствующие слоты приёмника.
Какие именно атрибуты сущности нужно передавать в «1С» и из «1С»
И что делать, если в конечной системе нет нужного значения? Например, атрибуты номенклатуры могут храниться в «1С» как несколько справочников, которые обновляются независимо. Например, вы передаёте в «1С:Розница» данные о номенклатуре «лампа настольная», у которой значение атрибута-справочника «цвет» - «красный».
Если в справочнике цветов в «1С:Розница» ещё не заведено значение «красный», записать такие данные будет невозможно.
Всё это необходимо учесть уже на этапе первоначальной разработки интеграции. «1С» регулярно выпускает релизы и обновляет код своих продуктов.
Та организация данных, под которую вы писали свою интеграцию, после любого из обновлений может стать неактуальной.
Поменяются названия полей, какие-то поля разделятся на два или объединятся. И все интеграции, связанные с «1С», придётся перерабатывать в соответствии с новыми обстоятельствами.
Изменения могут быть и на стороне второй системы, участвующей в обмене данными, - и интеграцию вновь придётся менять.