Добрый день!

Есть следующая задача: необходимо проимпортировать из 1C данные типа Документы. Одним из полей импорта является номер счета. Счета уже проимпортированны и номер счета совпадает с полем [НомерДок]. Для того, чтобы заполнить поле [Счет] в скрипте инпорта пишу следующее:

function OnBeforeRecordImport(Param, Dataset, Select1C) {
var InvoiceNumber = Select1C.QueryLink.НомерДок;
var DatasetInvoice = Services.GetSingleItemByUSI('ds_Invoice');
DatasetInvoice.Close();
ApplyDatasetFilter(DatasetInvoice, 'InvoiceNumber', InvoiceNumber, true);
DatasetInvoice.Open();
Dataset.Values('InvoicesID') = DatasetInvoice.Values('ID');
Dataset.Values('Number') = InvoiceNumber;
DatasetInvoice.Close();
EnableDatasetFilters(DatasetInvoice, false, 'InvoiceNumber');
}

Но после фильтрации записей в DatasetInvoice нет, хотя точно известно, что запись с номером [InvoiceNumber] существует. Если вместо InvoiceNumber поставить конкретное число, например,
ApplyDatasetFilter(DatasetInvoice, 'InvoiceNumber', 1, true) , то все работает.

Нравится

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

Александра, уточните, пожалуйста, какая у Вас версия 1С?

Вероятнее всего, у Вас пусто в Select1C.QueryLink.НомерДок

Для старых версий рекомендуется использовать следующую конструкцию:

var InvoiceNumber = Select1C[QueryLink].СчетНаОплатуПокупателю.НомерДок;

Рекомендуется активировать отладчик и посмотреть, что у Вас в Select1C.QueryLink.НомерДок в момент импорта.

Версия 1С 7.7, версия Terrasoft 3.4.0.97, установлен только Microsoft Script Debugger, а он ничего не показывает, посмотрела что находится в Select1C.QueryLink.НомерДок с помощью ShowInformationDialog, значения там есть

Уточните, пожалуйста, удалось ли получить НомерДок при помощи конструкции, указанной в предыдущем сообщении?

Особенность работы с 1С 7.7 в том, что значения в БД обрамлены служебными символами. В результате данные символы включаются в фильтрацию, и результат - пустой датасет.

таким образом, содержимое поля 1С необходимо обрезать:

Trim(Select1C[QueryLink].ПолучитьАтрибут('НомерДок'))

Первая конструкция не помогла, а вот с Trim(Select1C[QueryLink].ПолучитьАтрибут('НомерДок')) все работает, спасибо! =)

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

Всем доброго времени суток.
У меня при очередной интеграции таблицы Excel и Террасофт возникла проблема, которую я никак не могу решить.
В моей таблице для загрузки много колонок, я установила
соответствие всех этих колонок с полями таблицы Операции. Для тех колонок, которые необходимо загрузить также при необходимости и в справочники, установила соответсвие с полями этих справочников.
При этом на закладке "Первичные ключи" для двух полей - Касса и Состояние - первичные ключи автоматически не создались (рис 1).
В таком варианте при импорте происходит следующее: все справочники по очереди проверяются на необходимость добавить в них записи, а справочники Касса и Состояние не проверяются.
Когда дело доходит до основной загрузки в таблицу Операции в журнале процесса импорта выводится сообщение:
"Импортируются данные в таблицу 'Операции'
Первичные поля не существуют. Таблица пропускается.
Импорт данных из листа 'Лист1' завершен "

После этого я пропробовала вручную добавить первичные ключи. Т.е. перетащила на закладку Первичные ключи колонки Касса и Состояние. (рис 2).
Тогда при загрузке справочники Касса и Состояние не пропускаются, а проверяются на равне с другими.
Однако загрузка основной таблицы все равно не происходит. Сообщение об ошибке осталось тем же.

В чем же причина? и как ее устранить?

Нравится

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

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

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

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

Я удалила те два первичных ключа , которые я создала. Потом перетянула колонку Операция.Состояние и Операция.Касса. Получилось так как на рисунке 3.

При импорте ошибка стали иной....

Импортируются данные в таблицу 'Операции'
***
***Справочник для поля 'Касса' не был проимпортирован
***
***
***Справочник для поля 'Состояние' не был проимпортирован
***
***
***Невозможно импортировать данные. Таблица пропускается.
***

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

***The statement has been terminated.
Cannot insert the value NULL into column 'TypeID', table 'Terrasoft_332.dbo.tbl_Cashflow'; column does not allow nulls. UPDATE fails
***
Импортируется запись Касса = Запорожская касса (наличная) Состояние = Выполнена
Запись уже была проимпортирована
Импортируется запись Касса = Запорожская касса (наличная) Состояние = Выполнена
Запись уже была проимпортирована
Импорт данных в таблицу 'Операции' завершен. Добавлено: 0. Обновлено: 0.
Импорт данных из листа 'Лист1' завершен

Поле Операции.Тип является обязательным для заполнения в таблице. Вы его заполняете при импорте? На скриншоте не увидела. Если нет колонки с типом операции в файле, то перетяните поле Тип в значения по умолчанию и установите Приход или Расход.

Поле тип - перечисление. Оно есть у меня в закладке перечисления.

Если все же перетянуть колонку Операция.Тип в Проверку уникальности , то выдается такая ошибка:

Импортируются данные в таблицу 'Операции'
Импортируется запись Тип = Расход
***
***The statement has been terminated.
Cannot insert the value NULL into column 'TypeID', table 'Terrasoft_332.dbo.tbl_Cashflow'; column does not allow nulls. INSERT fails
***
Импортируется запись Тип = Расход
Запись уже была проимпортирована
Импортируется запись Тип = Расход
Запись уже была проимпортирована
Импорт данных в таблицу 'Операции' завершен. Добавлено: 0. Обновлено: 0.
Импорт данных из листа 'Лист1' завершен

Виктория, такое ощущение, что у Вас в файле импорта для колонки с типом операции нет значений (пустые ячейки) или на закладке "Перечисления" для значений Приход и Расход не указаны обработки (какое значение ячейки файла импорт устанавливать как приход\расход). На скриншоте этого не видно.
Попыталась смоделировать ситуацию - все работает! Как вариант - выложите настройку и шаблон, попробуем выявить проблему.

Колонка не пустая, разумеется, там везде стоят значения "Расход".
На закладке Перечисления дописала еще раз про Расход и Приход. Не помогло.
Я прикрепила шаблон, и настройку, а также журнал , который при этом получается.

Есть еще такое наблюдение - в закладке Значения по умолчанию, для справочника Статья не получается указать значение по умолчанию - "Тип". Это тоже самое перечисление, которое не хочет загружаться в таблицу Операции.

Хотя не думаю, что незаполненность этого поля может повлиять, тк на самом деле при импорте я не загружаю ни одную статью в справочник Статьей. Необходимая статья "11.Зарплата" уже есть в справочнике, и она не обновляется.

Сделала еще следующее: поменяла в моей таблице данные в колонке Тип на ct_Charge. Соответственно в закладке "Перечисление" для Расхода установила соовтетствие ct_Charge, а для Прихода ct_Income.

Теперь ошибки как бы и нет, а таблица Операции все равно не заполняется.

Импортируются данные в таблицу 'Операции'
Импортируется запись Тип = ct_Charge
Запись обновлена
Импортируется запись Тип = ct_Charge
Запись уже была проимпортирована
Импортируется запись Тип = ct_Charge
Запись уже была проимпортирована
Импорт данных в таблицу 'Операции' завершен. Добавлено: 0. Обновлено: 1.
Импорт данных из листа 'Лист1' завершен

Заполнили ли Вы значения для соответсвий перечислений?

"Тихенко Виктория" написал:

Соответственно в закладке "Перечисление" для Расхода установила соовтетствие ct_Charge, а для Прихода ct_Income.


Вы это имеете ввиду? да, установила.:sad:

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

да,к сожалению структура отличается.

Вам необходимо в главной таблице [операции] определить ключевуое поле по Названию. Так как в данном случае определено только одно поле - Тип. В результате - запись будет добавлена только в том случае если поле тип будет иметь уникальное значение.
Другими словами Вам необходимо определить колонку(или несколько колонок) для записей в таблиице [Операции] по которым система сможет идентифицыровать запись. Соответсвенно значение данной колонки (или набора колонок) должно быть уникальным для каждой записи.

СПАСИБО огромное! и правда, все получилось. у меня в таблице назначение операций дублировалось, и этот ключ не был установлен!

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

Добрый день!
Тестируем XRM Demo 3.4.0.76. При установленной и включенной интеграции с Outlook (пробовали и 2007, и 2010) любая отправка/получение письма вызывает окно во весь экран с ошибкой добавления параметров в базу данных - Dynamic SQL Error code = -303 (см. приложенный файл).
Если адресат или отправитель есть в контактах, то затем появляется еще одно сообщение об ошибке: "Возникла ошибка обработки события Microsoft Office: .DispID: 61441".
Перед этим тестировали TS Sales - с ней таких проблем не возникало.
Что мы делаем неправильно?

Нравится

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

Ссылка с актуальной демо-версией будет выслана Вам на e-mail
Также список демо-версий Вы можете посмотреть в соответсвующем разделе http://www.community.terrasoft.ua/resources/partners/base/products

Супер, спасибо - ошибка пропала!

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

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

Вопрос по импорту из Excel. Есть раздел [Контрагенты], туда добавлена деталь [Бренды], в которой выбирается какой-либо бренд из справочника брендов. Делаю импорт следующим образом: основная таблица - бренды tbl_Brand (та, которая в детали), в первый столбец вытаскиваю поле основной таблицы tbl_Brand.AccountID и первичное поле для отображения Контрагент.Контрагент, для второго столбца ( где собственно и находятся бренды для конкретных контрагентов) также указываю поле основной таблицы tbl_Brand.Название и первичное для отображения Бренды.Название.
После импорта обновляются записи в контрагентах и в справочники брендов, а в детали записи не появляются.

Нравится

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

Вложите текстовый файл-отчет о проведении интеграции.

Журнал процесса импорта

При анализе файла видно следующее:
Импортируются данные в таблицу 'Бренды'
Импортируется запись Название = Shell
Нет необходимости обновлять запись
Импортируется запись Название = null
***
***Первичное поле 'Название' пустое. Запись пропускается.
***

И
Импорт данных в таблицу 'Бренды' завершен. Добавлено: 0. Обновлено: 0.

Соответсвенно бренды не созданы и записи в детали созданы не будут. Пришлите скриншот настроеного импорта. А также скриншот детали настройки [Первичные поля]. Возможно в процессе настройки допущена ошибка.

Скриншот настроек импорта

Ошибка заключается в том, что Вами не определены ключевые поля для проверки уникальности для таблицы tbl_Brend.(рис nastroyki_importa.png, nastroyki_importa3.png)
Определите ключевые поля в таблице tbl_Brend перетащив данные поля с основного реестра сопаставления (верхняя правая часть) на деталь [Проверка уникальности]

Спасибо! Все работает!

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

Подскажите, как сделать выгрузку информации (фактически табличных частей) из банковских выписок 1с7.7 в Terrasoft CRM 3.3.2. Используется стандартный модуль интеграции 1с_240511.

В Terrasoft нужны только исходящие оплаты, для этого сделан новый раздел Оплаты (по структуре похожий на раздел счета). Т.е. нужно из каждой выписки выбрать табличную часть, отфильтровав по корр.счету.
Но, не получается, т.е. я пробовал в объекте синхронизации со стороны 1с указать табличную часть (Выписка.ТабличнаяЧасть), а со стороны Terrasoft набор данных (Оплата). При этом для проверки уникальности использую следующие поля:
Object1C - Object1c
НомерДокВходящий - Code1c
ДатаДокВходящий - Date1c

В результате ничего не выгружается, ошибок тоже нет.

Нравится

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

Предоставьте скриншоты выполненных настроек.
Убедитесь что поля, по которым проводится проверка уникальности(номер и дата) заполнены. Также необходимо чтобы при создании записей происходило заполнение ключевых полей в Terrasoft
Что пишется в истории интеграции?

Юрий, вероятнее всего, в запросе созданного раздела Вами не добавлены фильтры по Code1C, Object1C и UUID1C

Рекомендую проверить сервисы.

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

Добрый день господа.

Подскажите, пожалуйста, как можно добавить новый план продаж на 2012 в террасофт.
Мне по наследству достался террасофт без документации и мануалов.
Теперь коллеги просят завести туда план продаж на 12 год. Данные по 11 году заносил товарищ, который уже не работает в компании и это как часто бывает, после него не осталось никаких записей, мануалов и т.д.

Спасибо.

Нравится

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

Владимир, насколько я поняла, Вам необходимо настроить [Планирование]. Ознакомиться с особенностями настройки Вы можете посредством вложенной инструкции.

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

Добрый день.
Вопрос по интеграции(синхронизации) Terrasoft CRM 3.4 с 1С 8.2
Выбираю объект синхронизации "Банки".
При настройке соответствий полей все синхронизируется нормально если не указывать соответствие "Город-город". Если же его указать и поставить галку "очищать таблицу перед импортом", то в TS справочник "Банки" получается пустым. Если же просто добавить "Город-Город", то в справочнике "Банки" поле "город" остается пустым.
Где искать проблему?

Нравится

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

"Alexander.K" написал:поставить галку "очищать таблицу перед импортом"

Где Вы ставите эту галочку? Если в настройке объекта "Банки" то таблица Банки должна очищаться перед импортом и наполнятся во время.

В настройке соответствия полей "Город-город" вы указывали еще какие-то параметры?

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

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

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

Да, ставлю в настройке объекта "Банки" - "Очищать таблицу перед импортом".
В поле "создавать группы ТС" нельзя поставить галку. Хотя в 1С данные по группам разбиты, например; гр. архангельская обл, а в этой группе уже банк1, банк 2 и т.д.
В настройке соответствия полей ставлю только еще номер позиции, остальное по умолчанию.
Некоторые скриншоты в прикрепленных файлах.

Результат1 - импорт произошел со связкой "Город-Город"
Результат2 - импорт без "Город-Город"

Александр,

Город - это не текстовое поле, а справочник. таким образом, чтобы синхронизация происходила корректно, Вам необходимо добавить подчиненную синхронизацию:

03

И в ней сопоставить поле название с соответствующим полем 1С. А в элементе Город корневой синхронизации указать "Элемент синхронизации, настройки которого необходимо использовать при импорте поля"

Пример есть тут: http://www.community.terrasoft.ua/forum/topic/6898

Если настроить соответствие полей как "Город(1с)- описание(ТС)", то в поле описание названия городов появляются. М/б тогда ненужно делать подчинение? может в чем то другом проблема?

Специалист 1с говорит, что поле "город" в 1с это текстовое поле, а не справочник.
Получается, что они должны бы синхронизироваться как "город-город"

Александр,

поле Город является справочником в Terrasoft, поэтому для корректного переноса значения необходимо предварительно синхронизировать поле 1С с заголовком справочника городов, и только потом - синхронизировать поле в карточке контрагента.

Добрый день.
Сделал подчиненную синхронизацию. но результата не добился.

рис1

рис2

рис3

рис4

Подскажите, что в настройках указано неверно ?

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

Вам необходимо:

1. Убрать поле родителя в настройках объекта синхронизации Город:

123

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

2. В настройке соответствия полей убрать правило синхронизации как у Банки:

234

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

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

Для всех прочих это поле должно быть пустым.

Добрый день, Анна.
Все поправил как вы сказали (рис 1-4).
Но в справочнике банки поле города, так и не заполняется. синхронизация происходит следующим образом: импортируется сначала первая запись справочника банки. Затем начинается импорт городов на ~ 17000 записей. затем записывает в справочник банки следующий банк и опять импорт городов ~17000 записей.
Но в справочник банки, записи городов не появляются.
Результат:

спр Банки

спр Города

Неизвестно откуда в справочнике города появляются записи в фигурных скобках.

Может быть еще где то необходимо настроить?

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

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

1. Откройте элемент синхронизации Банки, настройки поля Город.
2. В настройках поля Город укажите правило импорта как у Город (подчиненная синхронизация).

В случае, если у Вас возникнут дополнительные вопросы по синхронизации, просим сообщить в техническую поддержку дополнительно: support@terrasoft.ru

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

Каким образом можно организовать отправку и прием писем из Terrasoft-а через MS Exchange Server?
Версия Terrasoft CRM X25 3.2.1.61.

Нравится

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

Terrasoft не интегрируется напрямую с почтовыми серверами. Для данных целей используется интеграция Terrasoft с MS Outlook, который в свою очередь может получать\отправлять письма.

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

Михаил, разрешите не технический вопрос.
Приведите, пожалуйста, пример бизнес задачи для реализации отправки писем через сервер.
Спасибо!

Юрий разница всегда есть. Так как террасофт это 2-х звенное программное обеспечение и серверная часть отсутствует, то к примеру Дать команду серверу и разослать всем контрагентам Акты выполненных работ, известить контрагентов что произошла оплата (без участие человека). Для этого и требуется Общение Террасофта с сервером. Или террасофт Должен стать полноценным Клиент-Серверным приложением.

Михаил. для решения указанной вами задачи можно использовать Terrasoft Job Manager

в комплект поставки 3.3.2 Terrasoft Job Manager входит? и где по нему можно найти документацию?

Михаил, в 3.3.2 Job Manager присутствует только в продукте XRMBank. В 3.4 он присутствует в каждом продукте.
Инструкции Вы можете посмотреть здесь:
http://www.community.terrasoft.ua/forum/topic/7504

"Власов Михаил Викторович" написал:

Юрий разница всегда есть. Так ....


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

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

Здравствуйте.
Есть Террасофт 3.4 на субд Firebird. Есть отдельная база данных MSSQL. Как лучше всего организовать выборку данных из этой базы, что бы можно было просмотреть и и сделать некоторые отчеты (редактирование не нужно)

1) Пробовал через ODBC драйвер Firebirda для MSSQL и копирование данных в созданную по подобию таблицу. К сожалению драйвер напрочь отказался делать какие то запросы в базу Firebird
2) Сейчас сижу разбираюсь в сервисах ADOConnection, ADODataset. Пока безрезультатно... Может есть какой то мануал по ним, либо вообще другое решение?

Нравится

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

Владимир, почему не получается через ADOConnection, ADODataset? Какие ошибки?

"Осауленко Александр" написал:

Владимир, почему не получается через ADOConnection, ADODataset? Какие ошибки?


Через 5 минут получилось ))
Ошибок не было. Просто на конец рабочего голова плохо работает.... В окне GridArea(где я выводил тестовые выборки) не указал ActiveView, поэтому всегда видел пустой результат... ))

Здравствуйте Владимир,
Решал подобную задачу, ознакомьтесь, пожалуйста с http://www.community.terrasoft.ru/forum/topic/6843

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

Используя утилиту tsmergeservices.exe на указанной версии неправильно выполняется экспорт и импорт. Первая проблема - не синхронизируются таблицы, второе - структура папок не соответствует структуре в админке.
Делаем так:
tsmergeservices.exe /cfg="base" /usr="Supervisor" /opr=Extract /ugp=true js=false /dir="d:\backup"

tsmergeservices.exe /cfg="base" /usr="Supervisor" /opr=Load /dir="d:\backup" /ugp=true /upddb=true /force=true

Нравится

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

Актуальная версия для CRM X25 3.2.1 это 61-й билд, tsmergeservices обновлялся, я переслал вам на почту в профиле ссылку на актуальные бинарные файлы.

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