Кто-нибудь делал интеграцию с 1С 8.3
Возможно ли это? Есть готовая инструкция? Или может в новой версии Terrasoft XRM (для Firebird) появилась такая возможность?

Нравится

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

Здравствуйте!
Официально пока нет поддержки интеграции с 1С 8.3, но Вы можете попробовать использовать утилиту интеграции , добавив свою версию в перечисление "enm_1CVersion".

А встроенной, проверенной и гарантированной авторами программы Terrasoft XRM интеграции не будет? Хотя бы в следующих версиях?

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

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

Всем привет!

Создан новый тип заявки, при выборе которого пользователем появляются дополнительные поля ввода.
Ранее был реализован импорт информации из счета для действия "Резервирование / заявка" раздела "Счета", осуществляющего создание заявки из счёта.
Однако, теперь при попытке создания заявки из счёта выскакивает ошибка (см. приложеный скриншот "rezervir.png").
При отладке я обнаружил, что проблема возникает при вызове метода Append() объекта OrderDataset, определение которого скрыто в ядре.
Помогите устранить появление ошибки.

Да и ещё, подскажите, может кто знает какую статейку или справочник поподробнее и подоступнее по MS Script Editor?

Заранее благодарен.


scr_invoiceworkspace.txt

Нравится

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

В том датасете, в который добавляется запись, есть поле DocumentID. Вот у него не указано свойство "Колонка для отображения"

Спасибо большое за очень быстрый и полезный ответ! Проблема решилась!

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

Здравствуйте.
Вопрос возник следующий: у меня есть созданный вручную сервис пользовательских полей для раздела "Продукты в договоре". Сервис исправно работает, если я создаю карточку продукта вручную из раздела по кнопке "Добавить продукт".
Но если я заполняю данные в карточке средствами импорта из Excel, то пользовательские поля в карточке не отображаются. Где можно посмотреть-подкрутить данную проблему?
Спсаибо.

Нравится

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

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

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

Алексей, проиллюстрируйте скриншотами выполненные Вами настройки импорта, попробую воспроизвести со своей стороны.

Наталия, я честно говоря не знаю как показать настройки скриншотами, потому что развернутые поля не влезают в экран, а в свернутом виде это бесполезно, как я понимаю :sad:

Я посмотрел содержимое tbl_OfferingInContract. Там все записи, вставленные из Excel, в поле ContractTypeID содержат вот такую строку:'????????'. Т.е. ничего не связалось со справочником типов договоров. Может в эту таблицу нужно добавить не только поле ContractTypeID, а еще и поле, содержащее сам тип в виде строки?

Здравствуйте!
Перепроверьте обратные наличие обратной связи tbl_OfferingInContract.ContractTypeID = tbl_ContractType.ID и постарайтесь выгрузить скрин-шоты, это облегчить понимание происходящего.

Спасибо, Сергей!
Действительно не хватало Relations на таблицу tbl_ContractType.
Создал - все заработало.
Еще раз спасибо всем за помощь.

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

Terrasoft CRM 3.4.1
При синхронизации стало вылезать окно, что запись дублируется:

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

Нравится

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

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

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

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

Здравствуйте! Необходимо понять принцип использование своих классов. Создал в конфигурации файл с исходным кодом (назвал данный файл к примеру GetTextSourceCode):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Text;
using System.IO;


        public class MessageBoxMy {
                private string txt;
               
                MessageBoxMy(string text) {
                        this.txt = text;
                }
                public string  ShowMessage() {
                        return txt;
                }
        }

Далее я создаю страницу на которой одна кнопка и Label, куда по нажатию на кнопку будет выводится текст. Как создать объект данного класса в скрипте обработчика события по нажатию на кнопку? Необходимо или нет использовать в классе пространство имен?

Нравится

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

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

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

Обращаться к классу можно следующей конструкцией:

return Terrasoft.Configuration.<имя_класса>.<имя_метода>(<параметры>);

Спасибо, попробую:smile:

"Alimova Anna" написал:

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

Обращаться к классу можно следующей конструкцией:

return Terrasoft.Configuration.<имя_класса>.<имя_метода>(<параметры>);

Данный метод не сработал. Не находит мой класс:
"The type or namespace name 'MessageBoxMy' does not exist in the namespace 'Terrasoft.Configuration' (are you missing an assembly reference?)"
Configuration находится в Terrasoft.Core.Configuration. Но и это тоже не работает, выдает ту же ошибку

Здравствуйте, Александр.

Возможно, вы не сохранили схему исходного кода GetTextSourceCode или не опубликовывали ее? Это необходимо сделать, чтобы созданный вами класс был скомпилирован, после чего он будет "виден" для других элементов конфигурации.
Также, мне кажется, имеет смысл объявить конструктор класса MessageBoxMy как public...

Документация по разработке в BPMonline находится здесь - http://www.terrasoft.ru/bpmonlinesdk/

Не получается. Создаю исходный код с классом . добавляю нужные ссылки, создаю класс, опубликовываю. Далее генерирую исходный код для данного элемента(правой кнопкой по элементу->исходный код->сгенерировать для выделенных элементов) . Затем создаю событие от нажатия на кнопку, и в этом событие в скрипте пытаюсь обратиться к классу "Terrasoft.Configuration.Название класса .Название метода(параметры)". Но при этом выдает ошибку что такого типа не существует. Может метод зависит от версии приложения? У меня BPMonline Версия 5.4.0.591 On-Demand

Александр,

Попробуйте все таки обратиться к классу без указания пространства имен.

Я повторила ваш пример - создала файл с исходным кодом для класса MessageBoxMy (но с конструктором public), скомпилировала, затем в обработчик кнопки добавила код:

MessageBoxMy mb = new MessageBoxMy("Text");
Page.Label1.Caption = mb.ShowMessage();

Все получилось. Спасибо

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

Всем добрый день! Возникла необходимость импортировать существующие конфигурационные единицы в формате Excel в БД bpm online. В версии которая есть у меня данная возможность стандартными методами не предусмотрена. Подскажите пожалуйста как это можно сделать?

Нравится

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

Пожалуйста, уточните версию продукта и сам продукт (пример BPMonline CRM 5.4.0.195 )

"Sergey Karpenko" написал:

Пожалуйста, уточните версию продукта и сам продукт (пример BPMonline CRM 5.4.0.195 )

BPMonline ServiceDesk, Версия 5.4.0.591

Добрый день, Александр Васильевич.
На данный момент реализована возможность импорта из Excel только Контактов и Контрагентов. В работе департамента разработки функциональность импорта Лидов. Возможность импорта других сущностей может быть реализована в рамках проектной доработки.

Если Вам необходимо, сообщите нам, пожалуйста, о необходимости оценки такой доработки для внедрения в Вашу конфигурацию.

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

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

Нравится

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

Варианты есть разные
1. Написать необходимый код для импорта данных, где будут учтены эти и любые другие нюансы;
2. Можно для проверки уникальности при импорте использовать например номер телефона или emai контрагента, а не название
Остальные требуют предварительной обработки данных
3. В TS вносим в карточки контрагента как новое поле (или, например, в поле Код) требуемое наименование "ромашка" и прочее, и при настройке импорта используем это поле как первичный ключ (уникальный)
4. В excel файл добавляем к каждой записи некий уникальный код, аналогичный код должен использоваться в записях TS. Дальше этот код используем как первичный ключ. Как вариант в excel вручную/макросом каким вписываем для каждой записи название контрагента из TS, и опять же ключ по этому названию

Здравствуйте, Роман!

В данном конкретном случае оптимальным вариантом при переносе из 1С будет экспортировать контрагентов с кодом, и добавить поле Код в проверку уникальности.

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

Здравствуйте, Роман!

В данном случае следует произвести выгрузку в Excel в том числе и поля Код.

Проверка уникальности - деталь, на которую добавляются значения при настройке синхронизации с MS Excel:

111

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

Добрый день. Хотел импортировать номенклатуру из 1С, но при любых условиях выдает ошибку в процессе импорта на 2265 позиции :(
Скриншоты:

Что я делаю не так и как тут быть?

Нравится

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

Роман,

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

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

Подробная информация об установке отладчика по ссылке: http://www.community.terrasoft.ru/blogs/7804

Добрый день, Анна, вот скриншот:

[URL=http://s1.ipicture.ru/Gallery/Viewfull/10764020.html][IMG]http://s1.ipi…]

Возможно не видно, желтым выделена скобка "{"

Роман, отладчик останавливается на finally, когда сбой произошел в обной из функций блока try.

В данном конкрентом случае, вероятнее всего, на WriteHistory.

Попробуйте загрузить в конфигурацию сервисы (в приложении), очистить кэш и перезапустить Terrasoft.

при очередной попытке импорта возникла ещё одна ошибка:

[URL=http://s1.ipicture.ru/Gallery/Viewfull/10765736.html][IMG]http://s1.ipi…]

Так же при другой попытке появилась ещё одна ошибка:

[URL=http://s1.ipicture.ru/Gallery/Viewfull/10766322.html][IMG]http://s1.ipi…]

Роман, уточните, пожалуйста, производилась ли Вами очистка кэша приложения после загрузки сервисов?

Да, производилась.

Роман,

Попробуйте выполнить следующее:

1. Установить галочку "создавать группы" в окне настроек интеграции;
2. Произвести импорт частями (например, отфильтровать по коду).

Вероятных причин сбоя несколько:

1. Сбой происходит на конкретной записи (в ней содержится текст в неизвестной кодировке, пустое название либо другие невалидные данные). В этом случае сбой происходит всегда на одной и той же записи, например, 2265.

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

Для устранения проблемы необходимо диагностировать, на каком этапе происходит сбой.

Вот что происходит с отмеченным "создавать группы":

Сначала, как и раньше:

[URL=http://s1.ipicture.ru/Gallery/Viewfull/10781014.html][IMG]http://s1.ipi…]

И добавляется:

[URL=http://s1.ipicture.ru/Gallery/Viewfull/10780966.html][IMG]http://s1.ipi…]

При этом импорт не доходит и до 1, аналогично при импорте кодов

Роман, предоставьте, пожалуйста, для анализа следующие сервисы конфигурации:

ds_DataflowHistory
sq_ataflowHistory
tbl_DataflowHistory

Анна, думаю вторым сервисом вы имели ввиду "sq_DataflowHistory", выгрузил, архив во вложении.

Здравствуйте, Роман!

По результатам сеанса удаленного доступа удалось выяснить следующее: Сбой происхоил на конкретной записи под номером 2265, поскольку в данной записи было не заполнено поле Наименование. Причина неясна, поскольку поле также обязательно для заполнения в 1С.

При необходимости моэно добавить защиту от сбоев подобного характера, добавив в скрипт импорта номенклатуры программный код следующего вида:

 if (IsEmptyValue(Select1C.Наименование)){
 	Dataset('OfferingName') = 'Пустое название';
 }

Большое спасибо прекрасной техподдержке и вам лично! Вы спасли меня уже 2й раз:wink:

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

Добрый день, при импорте адресов контрагентов из 1с 8.2 в адреса контрагентов террасофта попадают не нужные данные, это номера телефонов и адреса почтовых ящиков, хотелось бы узнать как можно это отфильтровать, скриншот настроек террасофта прилагается:
Скриншот

Нравится

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

Забыл пояснить, адреса контрагентов в 1с берутся из поля "Представление", которое в зависимости от типа содержит адрес, телефон или почтовый адрес.

Здравствуйте, Роман!

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

111

В данном конкретном случае значение фильтра необходимо подставить в соответствии с синтаксисом языка 1С: Значение(Перечисление.ТипыКонтактнойИнформации.Адрес)

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

Спасибо за ответ, Анна. В документации к утилите, на которую вы дали ссылку указано, что она уже встроена в террасофт с версии 322, а мы используем 3.4.0.61.

Роман, утилита, которая поставляется в каталоге расширений, постоянно обновляется и дорабатывается, и отличается от той, что поставляется в коробочной версии.

Спасибо, всё получилось, не закрывайте, пожалуйста, тему, буду тестировать и возможно возникнут вопросы

При попытке синхронизации выдает ошибку вида:

	HistoryDataset('TypeID') = TypeID;
	HistoryDataset.Post();
	HistoryDataset.Close();
}

Где выделено желтым:
HistoryDataset.Post();

Как победить?

Роман,

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

Если только для одной, тогда предоставьте, пожалуйста, скриншоты настроек интеграции.

И еще: сбой при импорте или при экспорте?

Спасибо за ответ, мне удалось исправить ошибку самостоятельно.
Пока, что есть возможность проверить только синхронизацию контрагентов и регистра сведений с настроенным соответствием адресов.
Например сейчас мне надо импортировать в адреса контрагентов террасофта адреса контрагентов из 1с, которые находятся в Регистре сведений->Контактная информция->представление. Мои настройки:

[URL=http://s1.ipicture.ru/Gallery/Viewfull/10527987.html][IMG]http://s1.ipi…]

Импорт проходит удачно, но адреса в контрагентах не поялвяются, нет никаких ошибок, что это может быть?

"Роман Асланов" написал:

Спасибо за ответ, мне удалось исправить ошибку самостоятельно.

Пока, что есть возможность проверить только синхронизацию контрагентов и регистра сведений с настроенным соответствием адресов.

Например сейчас мне надо импортировать в адреса контрагентов террасофта адреса контрагентов из 1с, которые находятся в Регистре сведений->Контактная информция->представление. Мои настройки:

Импорт проходит удачно, но адреса в контрагентах не поялвяются, нет никаких ошибок, что это может быть?


Так же хочется добавить, что при создании фильтра, например "Тип" содержит "Адрес", появляется ошибка при импорте, фильтр:

[URL=http://s2.ipicture.ru/Gallery/Viewfull/10562694.html][IMG]http://s2.ipi…]

Ошибка:

[URL=http://s2.ipicture.ru/Gallery/Viewfull/10562670.html][IMG]http://s2.ipi…]

В логе по этой ошибке написано:
"[12.05.14 09.39.07.606] (E) 'EditWindowUSI' значение атрибута не определено"|

Для устранения сбоя при фильтрации по типу Адрес попробуйте в фильтре вместо "содержит" установить "равно". Кроме того, фильтру нужно задать значение: "Значение(Перечисление.ТипыКонтактнойИнформации.Адрес)", а не просто "Адрес"

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

Сделал так, как вы посоветовали, синхронизация проходит настолько быстро, что окно с её прогрессом появляется на долю секунды, ошибок нет, адресов в контрагентах тоже.

[URL=http://s2.ipicture.ru/Gallery/Viewfull/10566127.html][IMG]http://s2.ipi…]

Роман, а конфигурация 1С дорабатывалась? Вы уверены, что значение перечисления называется имеено Адрес?

Это можно проверить в конфигураторе 1С:

Для этого следует зайти в Перечисления - Типы контактой информации - Значения:

111

В случае, если значение не отличается, для точной диагностики нужен будет сеанс удаленной отладки.

Конфигурация дорабатывалась, но значение перечисления стоит "Адрес".

В таком случае для диагностики и устранения проблемы необходим сеанс удаленного доступа. Написала Вам на почту.

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

Не могу никак настроить импорт данных из Экселя в Терру. То есть интергация произведена, а прописать соответствие полей не могу.

либо я что-то не так делаю? (расскажите, как правильно "перетягивать" поля и куда для проверки?)

либо у меня не хватает технических характеристик компьютера? (такое может быть?)

Нравится

Поделиться

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

В случае если бы ресурсов компьютера было недостаточно - система бы сообщила Вам об этом.
Опишите подробней как именно Вы пытались прописать соответствие полей?
Ознакомились ли Вы с руководством пользователя (раздел [Интеграция])?
Дополнительно ознакомьтесь с описанием основ интеграции:
http://www.community.terrasoft.ru/blogs/3298

Также посмотрите темы на community с подобными задачами

http://www.community.terrasoft.ru/blogs/3352
http://www.community.terrasoft.ru/forum/topic/6894

В случае елси возникнут вопросы - опишите более детально с какими трудностями столкнулись. Также уточните версию используемого Terrasoft и Excel.

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