Смысла вести дневник обо всем на свете особого не видел.
Но теперь, есть что имеет смысл выложить.
При импорте пользователя из АД в контакт копирутся его почта.

1. Необходимо выяснить ID типа средства связи для почты делается это запросом в SQL

SELECT ID
FROM tbl_CommunicationType
WHERE Name = 'E-mail'

2. Необходимо, на сервере разрешить выполнять команды с OpenRowset.

3. Изменить scr_DomainUsersUtils следующим образом:
После

ContactsDataset.Values('Name') = UserFullName;

Добавляется

ContactsDataset.Values('Communication1TypeID') = '{EmailID}';
ContactsDataset.Values('Communication1') = GetDomainContactMail(UserFullName);

Где EmailID - ID типа средства связи.

4. Добавить в scr_DomainUsersUtils следующую функцию:

function GetDomainContactMail(ContactName) {
         var Info = new ActiveXObject('ADSystemInfo');
         var Parameters = CreateSPParameters();
         var Email = CreateSPParameter(Parameters, 'Email', pdtGUID, '');
         Email.ParamType = 1;        
         var ComputerName = Info.ComputerName;
         var Index = ComputerName.match('DC').index;
         var Domain = ComputerName.substr(Index,ComputerName.length-1);
         var SQLCommand = 'select :Email = mail from OpenRowset(\'ADSDSOObject\' ';
         SQLCommand = SQLCommand + ',\'\',\'\/\/'+ Domain + '>;';
         SQLCommand = SQLCommand + '(objectCategory=Person);name,mail\')';
         SQLCommand = SQLCommand + ' where Name = \'' + ContactName + '\'';
         Connector.DBEngine.ExecuteCustomSQL(SQLCommand,Parameters);
         return Email.Value;
}

Нравится

Поделиться

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

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

Нравится

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

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

Андрей, дело в том, что данные поля - ссылки на таблицу tbl_Reminding. Для того, чтобы они корректно отображались при настройке импорта нужно в таблицу tbl_Task добавить две связи (relation):

1. tbl_Task.RemindingToAuthorID -> tbl_Reminding.ID
2. tbl_Task.RemindingToOwnerID -> tbl_Reminding.ID

В результате Вы сможете настраивать импорт на деталь [Напоминания].

Terrasoft Support Team

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

Многие пользователи системы версии Terrasoft CRM 3.2 и выше сталкивались с вопросом импорта из MS Excel в конкретную статическую группу раздела. Ниже приведу настройки такого импорта (пример со скриншотами прикреплен).

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

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

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

Нравится

Поделиться

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

Добрый день! Есть проблема при импорте данных из excel файла в dataset. При импорте небольших фалов (70 Кб) все происходит отлично. При импорте больших файлов (700 Кб) в гриде, где отображается этот dataset данные идут в непонятном для меня порядке. А именно строки, правильные строки в непонятном порядке(проверял на разных фалах, установить какую-либо закономерность или последовательность в разбросе записей не удалось).
Импортирую следующим скриптом:

function btnImportOnClick(Control) {
        var FileName = GetNewValue();
        if (System.PromptForFileName(FileName,
                        "Файлы Excel" + ' (*.xls;*.xlsx)|*.xls;*.xlsx|'+
                        "Все файлы" + ' (*.*)|*.*', '',
                        msgSelectFileForImport, '', false)) {
                var FileNameValue = FileName.Value;
                var ExlApp = new ActiveXObject("Excel.Application");
                var WorkBook = ExlApp.Workbooks.Open(FileNameValue);
                var TempPriceDS = Services.GetNewItemByUSI('ds_TempPrice');
                TempPriceDS.Open();
                while (!TempPriceDS.IsEOF) {
                        TempPriceDS.Delete();
                }
                TempPriceDS.AutoRefresh = false;
                TempPriceDS.DisableEvents();
                for (var i = 0; i WorkBook.Sheets.Count; i++) {
                        var CurrentSheet = WorkBook.Sheets(i + 1);
                        for (var j = 1; j = CurrentSheet.UsedRange.Rows.Count; j++) {
                                TempPriceDS.Append();
                                for (var e = 1; e = 30; e++) {
                                        TempPriceDS.DataFields.Items(e).Value = CurrentSheet.Cells(j, e).Value;
                                }
                                TempPriceDS.Post();
                        }
                }
                TempPriceDS.AutoRefresh = true;
                TempPriceDS.EnableEvents();
                WorkBook.Close();
                ExlApp.Quit();
                var SupplierWindow = GetSingleItemByCode('wnd_PriceGridArea', null);
                SupplierWindow.Show();
        }
}

Нравится

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

Здравствуйте!
Почему Вы решили, что в не правильном? Вы импортируете непосредственно в базу данных, а потом показываете отдельное окно?

Еще раз здравствуйте!
Да я импортирую непосредственно в БД, а потом показываю окно. В окне данные отображаются в непонятном порядке. Проверяю в Microsoft ManagmentStudio - то же самое, порядок АБСОЛЮТНО непонятный.

Здравствуйте!
В реляционных базах данных нет понятия порядка в таблице. Если Вы хотите чтобы данные были в определенном порядке при отображении необходимо использовать сортировку. Другого способа нет.

Доброе утро!
Я хочу сказать, что первая строка excel файла записывается в таблицу какой-нибудь 1386_ой, а на первом месте в записаной таблице стоит строка где-то из середины (или любого другого места) excel файла.

В таблице нет понятия 1386 или еще какой-нибудь позиции. То что Вы видете это только один из способов отображения. В данном случае SQL Server Management Studio.
Если Вы хотите сохранить порядок записей как в файле Excel Вам необходимо добавить колонку с порядковым номером, далее на уровне базы данных так же добавить поле, куда настроить импорт. Далее в запросе, который используется при отображении, установить сортировку. Например так:

select field1, field2, ...
from some_table
order by field_for_order
Показать все комментарии

Здравствуйте!
Имеется тестовая версия Террасофт. Имеется рабочая версия. На тестовой версии сделаны некоторые изменения, которые необходимо перенести на рабочую базу. Отдельные сервисы попереносила, но в итоге на рабочей базе отрабатывается не все правильно. Очевидно, какую-то мелочь забыла. Можно ли как-то сравнить две конфигурации? Просто импортировать все из тестовой базы мне не подходит, т. к. сейчас работаю над следующим заданием, а там еще не все готово к использованию.

Нравится

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

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

select "Code", "ModifiedOn" from "tbl_Service" order by 2 desc

В трудных случаях можно воспользоваться утилитой TSMerge.exe, которая как раз предназначена для сравнения двух конфигураций (Parent и Child Database) и переноса изменений из одной конфигурации в другую. Для сравнения XML сервисов можно использовать утилиту AraxisMerge.
Желаю успехов!

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