Здравствуйте, уважаемые члены сообщества!

Подскажите, пожалуйста, как в таблице Excel перед импортом сослаться на Контакт, с которым хотелось бы связать импортируемую сделку?

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

 

Заранее благодарен за помощь! Спасибо!

 

Нравится

2 комментария
Лучший ответ

Павел, в вашей таблице с Продажами из другой CRM должен быть столбец с этими контактами. При импорте если значение Контакта в таблице Продажи совпадет со значением Контакта из bpm, то тогда они будут связаны. Если не совпадет, то тогда будет создан новый контакт в bpm

Павел, в вашей таблице с Продажами из другой CRM должен быть столбец с этими контактами. При импорте если значение Контакта в таблице Продажи совпадет со значением Контакта из bpm, то тогда они будут связаны. Если не совпадет, то тогда будет создан новый контакт в bpm

Если в таблице сделок (вероятно, Opportunity), куда загружаете данные, есть справочная колонка «Контакт» и хотите привязать по ней, то можно и в XLSX-файле с данными сделать такую колонку и наполнить её значениями, совпадающими с первичным поле (ФИО) контакта. При загрузке в справочное поле добавится Id подходящей записи.

Если же связь будет многих ко многим, то нужно сначала загрузить продажи без привязки к контактам, а потом из другого файла — данные в таблицу развязки OpportunityContact с двумя справочными полями, которые ссылаются на эти разделы, и несколькими дополнительными.

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

Коллеги, добрый день!

Подскажите, пожалуйста, возможно ли выполнить импорт данных из Excel в раздел [Сервисы] во вкладку "Файлы и ссылки" на деталь "Файлы и примечания" ?

В конфигураторе и мастере импорта найти объект не удаётся :(

Заранее спасибо!

Нравится

2 комментария
Лучший ответ

Если нужно импортировать в примечания, тогда импортировать нужно в саму таблицу [Сервисы] в поле "'Заметки".

А, если нужно во вкладку "Файлы и ссылки", то, чтобы не искать таблицу по названию, можно сразу выполнить импорт из детали через меню [Импорт данных]. Смотрите пример на Академии.

Если нужно импортировать в примечания, тогда импортировать нужно в саму таблицу [Сервисы] в поле "'Заметки".

А, если нужно во вкладку "Файлы и ссылки", то, чтобы не искать таблицу по названию, можно сразу выполнить импорт из детали через меню [Импорт данных]. Смотрите пример на Академии.

Алла Савельева,

спасибо!

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

Ошибка при импорте: "Индекс и длина должны указывать на позицию в строке. Имя параметра: length."

Нравится

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

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

Уточните, пожалуйста, версию продукта, на котором воспроизводится данное поведение?

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

Уточните, пожалуйста, версию продукта, на котором воспроизводится данное поведение?

7.6

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

Для решения рекомендую написать на support@terrasoft.ru, предоставив обезличенную базу, пример загружаемого файла и настройки импорта.

спасибо.

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

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

Делаю загрузку из Excel на основе стандартной загрузки, использую схему "Страница". Окно открываю кодом:

var url = this.Terrasoft.workspaceBaseUrl + "/ViewPage.aspx?Id=1ed4a6a8-e552-4678-a4f0-d829cb41d880";
window.open(url, "_blank", "height=" + "150" + ",width=" + "500");

Отличие лишь в том что окно открывается из страницы редактирования и в него мне нужно передать Id открытой записи, но пока не нашел способ как это сделать. Подскажите пожалуйста возможно ли это и как?
Знаю что можно добавить требуемый справочник в окно и выбирать запись там, но хотелось бы обойтись без этого и просто передать параметр.

Нравится

4 комментария

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

Уточните, пожалуйста, что Вы хотите реализовать? Желательно со скриншотами.

Снимок в приложение. Делал на основе стандартного импорта из Excel. С самим импортом проблем нет, выбираешь файл и проект в который нужно импортировать из справочника.
Вместо выбора проекта нужно передать его Id из страницы редактирования проекта. Окно открывается действием.

Мне кажется, можно в переменную url дописать вроде:

+"&ProjectId="+ProjectId;

А в открывшемся окне её вычитать как:

Guid ProjectId = new Guid(Page.Request.QueryString["ProjectId"]);

"Зверев Александр" написал:

Мне кажется, можно в переменную url дописать вроде:

+"&ProjectId="+ProjectId;

А в открывшемся окне её вычитать как:

Guid ProjectId = new Guid(Page.Request.QueryString["ProjectId"]);

Спасибо, работает.

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

Рады сообщить о выходе нового обучающего видео-ролика по импорту данных из Excel в bpm'online.

Заходите на сайт Terrasoft Academy и узнайте, как выполнить первичный импорт клиентской базы, наполнить справочники или обновить данные раздела используя функциональность импорта.

Видео доступно по ссылке: Универсальный импорт данных.

Еще больше видео-уроков для старта работы с системой здесь.

Нравится

Поделиться

4 комментария

- delete - :smile:

Спасибо за замечание! Мы уже внесли корректировки. В течение дня добавим обновленный ролик.

"Александр Кудряшов" написал:

Видео полезное, только "Ecxel" в самом начале немножко отвлекает :)


Заменили :)

Всё просто, пока нет контрагентов с одинаковыми названиями. И пока для этих контрагенты не нужно импортировать контакты. Тогда связь по названию уже не годится

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

Добрый день! При импорте отчета в excell числовое значение поля (19 символов) отображается некорректно (1 во вложении). При попытке поменять формат ячейки в готовом отчете число отображается полностью, но снова некорректно (последние цифры числа - нули, а должны быть отличными от нуля) 2. во вложении. Помогите исправить эту ошибку=(

Нравится

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

Здравствуйте, Олеся.

Номер договора - это текстовое поле. В Excel Вы, скорее всего, переводили формат колонки в числовой (Number). Но максимальное значение, которое может хранить этот тип данных - 2 147 483 647. Переводите в текст.

Здравствуйте, Максим! Если переводить формат ячейки в текст, то поле остается некорректным, 3,163E+17=(

Грубо говоря, значение ячейки импортируется неверно, 316300027614000000, нули вместо последних цифр, по-умолчанию.

Олеся, а уточните, пожалуйста версию и сборку, которую используете.

Максим, Версия: 3.3.2.252

Олеся, воспроизвел ситуацию на коробочной версии. Вероятно, при подготовке Excel файла не учитывается формат колонки в наборе данных. В версии 3.4.1 этого уже нет, постараюсь спустить необходимый функционал, если не удастся, зарегистрируем обращение в департамент разработки.

Спасибо, Максим, очень жду!

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

Подскажите можно ли для новосозданных разделов скачивать шаблон для импорта записей из Excel. Потому что кнопки как н-р у раздела Контакты или Контрагенты для скачивания шаблона и импорта в BPMonline 5.4.0 не наблюдаю

Нравится

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

BPMonline 5.4.0.317

Здравствуйте, Денис.

Для нового раздела скачивание шаблона для импорта невозможно. В базовой версии импорт реализован только для разделов контакты, контрагенты и продукты.
Но реализовать импорт возможно, вот приблизительный алгоритм:
1. Создать в системе пользовательский инструмент импорта;
2. Реализовать возможность выборочного импорта (по заданным параметрам);
3. Сформировать Подстановку стандартного шаблона для импорта;
4. Создать процесс импорта, с помощью бизнес-логики.

"Maxim Gritsenko" написал:Но реализовать импорт возможно, вот приблизительный алгоритм:

Максим, если можно, то с этого места поподробней... Т.е. где посмотреть саму функцию процесса импорта из Excel-файла?

Копала код "Импортирование контрагентов", но, к сожалению, не нашла ответ на свой вопрос. Возможно, оно так "зашифровано", что я его упустила? Также нашла схему этого процесса -- но там только, насколько я поняла, окошки с сообщениями и вывод лог-файла, сам импорт не совсем понятно где...

В общем, подскажите, куда копать? Т.е. где описан сам процесс импорта (создание активИкс екселя, считывание данных из ячеек и запись их в бд) и как его настроить под свой шаблон файла?

Ольга, поищите в конфигурации по ключевому слову Import:

Шаблоны располагаются в базе знаний:

спасибо, Максим!
Искала, даже пыталась создать копии схем, по аналогии с импортом контрагентов + параллельно обратилась в Поддержку для уточнения "где посмотреть функцию импорта".
ответ меня "порадовал":

"Олейник Дмитрий" написал:
В целом, вопрос импорта из екслеля в сущности системы очень сложный, и для каждого раздела есть свои особенности. Реализовать новый импорт простым копированием схем – не выйдет. Нужно писать свой класс импорта, строить сложный процесс, парсить построчно файл ексель с использованием Open XML и т.д.

В целом, даже нашим разработчикам потребуется значительное время для реализации данной задачи. Поэтому не рекомендую Вам реализовывать данный функционала самостоятельно. Как вариант, могу предложить Вам связаться с ответственным менеджером по Вашей компании для обсуждения деталей реализации в рамках проектной доработки.

Поскольку задача была срочная, то ее решили по-другому, не задействуя функционал бпм-онлайн.

Насчет Вашего ответа. Спасибо. Схемы, про которые Вы говорите, я нашла. Сами шаблоны я не находила -- спасибо за "наводку".. Но меня интересовал сам процесс импорта, где-что-как скорректировать и как "привязать" это действие к нужному разделу (у меня был нестандартный импорт продаж, продуктов и продуктов в продаже), как "связать" схему с нужным шаблоном...
В 3ке можно создавать ЭктивОбжект приложения ексель и обращаться к содержимому ячеек -- где такое прописано в бпм, к сожалению, я так и не нашла...

Если Вы можете эти моменты разъяснить -- буду признательна (хотя интерес уже только "спортивный" или на будущее, т.к. задача решена "в обход").
Спасибо.

"Ольга Прилипко" написал:Поскольку задача была срочная, то ее решили по-другому, не задействуя функционал бпм-онлайн.

Ольга, а можно поинтересоваться, как вы провели импорт? Если конечно это не конфиденциальная информация...

Оказывается, есть куча способов.
1) самый "простой" (исходя из опыта импорта в обычной 3ке, т.е. в Террасофте версии 3.х), это написать "обычный" импорт в джей-скрипте +триггеры при вставке записей в таблицу. Импорт я завязала на кнопку в окошке, которое может запускаться без "оболочки" ТС (подробнее можно почитать тут). Примечание: импорт написан свой, без использования встроенной утилиты, т.к. поля в файле были нестандартные, обьединенные ячейки и т.п.

другие способы я нашла, но из-за а. срочности задачи и б. недостатка опыта в той области (точнее, его отсутствия), толком в них не разбиралась (возможно, разберусь позже, "на досуге":smile:). Итак.

2) в менеджмент студии есть функция "импорт из файла" -- можно сразу выгружать данные из ексель в выбранную таблицу бд.
недостаток -- там вроде только одна таблица указывается, да и взаимосвязи настроить у меня не получилось. т.е. способ подойдет, когда нужно "тупо" выгрузить данные в одну таблицу.

3)написать утилиту на чем-то другом (Сшарпе, Джаве, Делфи или еще на чем-то) -- вариант почти сразу отпал из-за нехватки опыта, т.е. нужно "сидеть и разбираться"

4) еще пару вариантов нарыла в гугле, например, тут, т.е. был вариант загружать данные, используя сам SQL. я даже выяснила примерный алгоритм:
1) преобразовать ексель в csv, т.е. в текстовый формат
2) загрузить во временную таблицу скула данные
3) курсором пройтись по ним и вставить их, куда нужно.

Возможно, есть еще варианты и/или способы получше. Буду рада их рассмотреть)

о, еще вспомнила:
5) в самом екселе, начиная с 2007 версии, можно настроить соединение с бд и как-то напрямую "брать"/"заливать" данные.
но тоже нужно разбираться и тоже вроде для одной таблицы..

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

Всех приветствую!

Часто возникает ситуация, что после импорта Контактов, средства связи импортируются в карточку, но не появляются в деталях.

Чем это грозит?
Например, при массовой рассылке, если у контакта не будет e-mail на детали, то письмо не отправится.

Если используется СУБД MS SQL, то есть решение данной ситуации:

declare @Communication1TypeID uniqueidentifier
declare @Communication2TypeID uniqueidentifier
declare @Communication3TypeID uniqueidentifier
declare @Communication4TypeID uniqueidentifier
declare @Communication1 nvarchar(250)
declare @Communication2 nvarchar(250)
declare @Communication3 nvarchar(250)
declare @Communication4 nvarchar(250)
declare @ContactID uniqueidentifier

declare [Contact_Cursor] cursor FOR
        SELECT ID, Communication1TypeID, Communication2TypeID, Communication3TypeID,
                Communication4TypeID,
                Communication1, Communication2, Communication3, Communication4
        FROM tbl_Contact       
open [Contact_Cursor]

while (1 = 1)
begin
        fetch next FROM [Contact_Cursor]
        INTO @ContactID, @Communication1TypeID, @Communication2TypeID, @Communication3TypeID,
                @Communication4TypeID,
                @Communication1, @Communication2, @Communication3, @Communication4
        IF @@fetch_status = -1 break
        IF @@fetch_status = -2 continue
       
        IF NOT (@Communication1 IS NULL)
        begin
                INSERT INTO tbl_ContactCommunication
                        (ContactID, Number, CommunicationTypeID, Position)
                VALUES (@ContactID, @Communication1, @Communication1TypeID, 1)
        end
        IF NOT (@Communication2 IS NULL)
        begin
                INSERT INTO tbl_ContactCommunication
                        (ContactID, Number, CommunicationTypeID, Position)
                VALUES (@ContactID, @Communication2, @Communication2TypeID, 2)
        end
        IF NOT (@Communication3 IS NULL)
        begin
                INSERT INTO tbl_ContactCommunication
                        (ContactID, Number, CommunicationTypeID, Position)
                VALUES (@ContactID, @Communication3, @Communication3TypeID, 3)
        end
        IF NOT (@Communication4 IS NULL)
        begin
                INSERT INTO tbl_ContactCommunication
                        (ContactID, Number, CommunicationTypeID, Position)
                VALUES (@ContactID, @Communication4, @Communication4TypeID, 4)
        end
end
close [Contact_Cursor]
deallocate [Contact_Cursor]

Надеюсь, что данная информация будет полезна!

С уважением,
Белецкий Арсений
Группа компаний Terrasoft

Нравится

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

При импорте из Excel в таблицу "Организационная структура" создаются все нужные департаменты, создается контрагент, если его не было, но при импорте непосредственно структуры в лог пишется следующее:

Импортируются данные в таблицу 'Организационная структура'
Первичные поля не существуют. Таблица пропускается.

И все. Структура не создается. Как правильно сделать, если в самой таблице tbl_OrgChart в интерфейсе настроек импорта первичное поле отсутствует?

Нравится

4 комментария

Войдите в соответствующую таблицу и укажите первичное поле на свое усмотрение.

"Кулак Олег" написал:Войдите в соответствующую таблицу и укажите первичное поле на свое усмотрение

Если так сделать, то в Структуре организации появляется только корневая запись.

Для проведения импорта структуры организации из Excel файла, необходимо чтобы:

1. структура импортируемого файла обязательно содержала поля [Контрагент],[Департамент],[Родитель],[Описание]. Поля [Контрагент] и [Департамент] должны быть не пустыми для каждой записи, поле [Родитель] может быть пустым, но должно присутствовать в структуре файла;

2. в качестве основной таблицы запроса использовалась таблица [Организационная структура].

Если Вам не удастся самостоятельно выполнить импорт структуры, пожалуйста, вышлите импортируемый файл и скриншоты настроек импорта на адрес support@tscrm.com для дальнейшего анализа проблемы.

Инна Безверхняя,
II линия службы поддержки Terrasoft

Спасибо, импорт получился!

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

Настроил простенький импорт в раздел "Контакты", два поля "ФИО" и "Описание". Проверка уникальности по ФИО. Оба поля в Excel текстового типа. На первой же записи выдает ошибку: "Несоответствие типа".
Связанно ли это с тем что "Описание" бинарное поле и можно ли это обойти?

Нравится

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

К сожалению, импортировать данные в "Описание" нельзя и связано это именно с тем, что поле типа BLOB.
Как альтернативный вариант можем предложить Вам создать в нужной таблице текстовое поле "Описание" с большим кол-вом символов, в которое Вы сможете без проблем импортировать данные из Excel.

Не очень удобно. Но спасибо за информацию.

"Татьяна Адамчук" написал:текстовое поле "Описание" с большим кол-вом символов

а потом скриптиком их в Blob...:smile:

Олег, думаю, что весьма вотребованный функционал (часто сталкиваюсь с такой необходимостью). Может стоит оформить как идею?

"Татьяна Адамчук" написал:Может стоит оформить как идею?

готовлю "ПлюсОдин" к идее!

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