Закончила очередную инструкцию сложного импорта.

Наверное, многие сталкивались с вопросом необходимости перенести большой файл *.xls в базу данных, и чтобы данные корректно переносились и не дублировались.

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

Прикрепила все настройки по порядку, в итоге получилось 10 интеграций (1-10).

1. В первом этапе мы указываем основной таблицей - Контакты, переносим название компании, адрес в карточку, 5 средств связи, отрасль, основной контакт и его средство связи.
2. После этого выполняем скрипт, который продублирует средства связи контрагента из карточки на детали.
3. Далее переносим два адреса на деталь: Почтовый и Юридический (2,3) (основная таблица - Адреса контрагента).
4. После этого - по одному средства связи на деталь, т.к. в карточке только 5 средств связи через таблицу Средства связи контрагента.
5. После того, как проипортировали эти данные, можно настраивать импорт контактов через деталь Карьера, чтобы они отобразились на закладке контактов рпаздела контрагенты (нужного контрагента). Основная таблица - Карьера контакта.
6. После этого запускаем второй скрипт, для переноса средств связи контактов на деталь.
7. При этом необходимо включать в каждом импорте опцию "Обновлять существующие записи".

При таких настройках данные отображаются корректно и не дублируются.

Приятной работы!

Нравится

Поделиться

1 комментарий

Как обычно: большое спасибо за доку и +1 ! :)

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Показать все комментарии

Здравствуйте!

Достаточно часто приходится настраивать импорт из MS Excel в Terrasoft CRM  и помогать в этом пользователям.
Уже получилось сложить свой список типичных "ошибок" пользователей.

Хотелось бы обратить внимание на следующие моменты:

1. Выбор основной таблицы. При выборе основной таблицы для импорта необходимо проанализировать Ваш шаблон, если в файле импорта, например, много данных по контрагенту (тип, адрес, средства, связи, и т.д.) и только одна колонка с ФИО основного контакта, то конечно же, Вам необходимо выбирать оснойной таблицей "Контрагент". Если у Вас в файле шаблона разнообразные данные, то необходимо применить творческий подход, а именно продумать, данные из каких колонок должны быть связанными. Можна выполнить импорт с включенной опцией "Обновлять существующие записи", чтобы избежать дублей и сделать привязку по конкретному полю.

2. Ошибка в журнале импорта: Syntax error converting from a character string to uniqueidentifier

Данная проблема воспризводится если Вы делаете настройки импорта только в поле типа справочник (карточки редактирования), а в сам справочник не импортируете запись.

3. Если Вы проставляете значения по умолчанию в настройках импорта, то они работают только на вставку (Insert), а при обновлении данной записи значения по умолчанию не проставлятся.

4. При использовании значений по умолчанию, например, Типов средств связи, если таблица используется в импорте несколько раз, то значения по умолчанию необходимо проставлять столько же раз, сколь импользуется данная таблица.

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

5. При импорте необходимо заполнять все обязательные поля таблицы в которую Вы импортируете записи (отмечены красным). Система добавит недостающие поля (которых нету в настройках на закладку значений по умолчанию, Вам необходимо по ним пройтись и проставить произвольное значение) при нажатии в соответсвующем сообщении "Да".

Если же нет, то записи проимпортируются с незаполненными полями и при открытии карточки Вам будет предложено заполнить недостающие поля. По данной причине я Вам рекоммендую установить для обязательных полей значения по умолчанию.

Некоторые практические примеры и их описания прикреплены к сообщению.
Удачи!

Нравится

Поделиться

7 комментариев

Татьяна,

Вы просто молодец! Заказчики очень ценят практическую сторону наших консультаций. А Вы эту самую сторону наполняете самым реальным содержанием. Здорово!

Владимир Сидоров
Рантайм

Простите, а для какой версии СRM здесь представлено руководство в import.rar?
Просто у меня версия 3,3,1
там утилита имеет другой вид, может просто я чего-то не знаю, и есть еще какие-либо дополнительные возможности настройки утилиты ...
С уважением Марат Мамажанов

Марат, руководство для версий 3.2.0-3.3.0.
Если возникнут вопросы по импорту в 3.3.1-обращайтесь, попытаемся помочь.

Добрый день, Татьяна!

3. Если Вы проставляете значения по умолчанию в настройках импорта, то они работают только на вставку (Insert), а при обновлении данной записи значения по умолчанию не проставлятся.

Подскажите, как можно обойти данный пункт, очень бы хотелось.

Да, Павел, значения по умолчанию работают только при первом импорте (вставке записи (Insert)).
Обычно решаю данную задачу с помощью выполнения запросов в Query Analyzer или в Management Studio на БД.
Если мои записи например, проимпортированы в конкретную группу и чтобы проставить значение города можно выполнить следующий запрос. Для того, чтобы узнать ID группы, в которую входят Ваши контрагенты, выполните следующий запрос:

select ID from tbl_AccountGroup 
 
where Name = 'Название группы'

Для того, чтобы узнать ID города:

select ID,Name from tbl_City

Далее, чтобы проставить город для данных записей, Вам необходимо проставить CityID (ID города), GroupID (ID группы)

update tbl_Account
 
set CityID = 'ED176633-FAA8-4288-8F43-A8433E3C686E'
 
where ID in (
 
     select a.ID from tbl_Account a
 
     left outer join tbl_AccountInGroup aig on a.ID = aig.AccountID
 
     where aig.GroupID = 'F079CA9C-F18F-4FC2-ABA7-6ECA791E9567')

Или же, просто выполнить запрос вставки города всем записям, которые добавлены :

update tbl_Account
 
set CityID = 'ED176633-FAA8-4288-8F43-A8433E3C686E'
 
where CreatedOn = '21.05.2009' 

Импорт.rar 963.75 кб не качается

Проверила, действительно архив не загружается.
Попробуйте загрузить его из моего сообщения. Повторно прикрепила.

Показать все комментарии

В том случае если Вы импортируете многострочные данные в поле MemoDataContorol ("Описание") и в результате импорта они отображаются одной строкой, то эта проблема связана с особенностями Excel.
А именно, для того, чтобы данные переносились на другую строку, необходимы два знака: знак переноса строки и переноса каретки. В свою очередь в MS Excel не предусмотрен знак переноса каретки, поэтому после импорта данных из этого файла, данные помещаются все в одну строку. Для того, чтобы переносить данные на другую строку, необходимо в конфигурации программным образом добавить этот знак переноса каретки.

Для этого Вам нужно открыть сервис scr_DataflowExcelUtils.
В методе GetMemoryDatasetByDataflowItemNodeFromExcel после строки Stop = false; необходимо прописать следующее:

if (DataField.FieldType == dftString) {
Value = Value.replace(/\n/gi, '\r\n');
}

Сохраните внесенные изменения, перезапустите рабочее приложение Terrasoft CRM и протестируйте работоспособность системы.

Желаю удачи!

С уважением,
Мельникова Екатерина

Нравится

Поделиться

0 комментариев
Показать все комментарии