Дополнительные поля
Выгрузка файлов
Service_Creatio

Добрый день! 

 

Вы не могли бы помочь в возникшей проблеме:

 

1. Почему по API при выгрузки продаж, не выгружаются созданные доп.поля.

Пример запроса: https://betapro.terrasoft.ru/0/odata/Opportunity(617f488f-a7c4-4d12-bb6b-03e761090f64)

В выгрузке не передается ни одно поле, указанное на скриншоте https://prnt.sc/1ajggjl



2. При запросе https://betapro.terrasoft.ru/0/odata/Opportunity(617f488f-a7c4-4d12-bb6b-03e761090f64) или https://betapro.terrasoft.ru/0/odata/Opportunity, выдается ошибка {"error":{"code":"","message":"An

error has occurred."}}. С чем это может быть связано?

Нравится

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

Анастасия Ходаковская, добрый день!

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

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

Показать все комментарии
Выгрузка файлов
Скрипты
Разработка

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

т.е. Файлы на детали "Файлы" распределяются по группам и их можно выгружать массово прописав в скрипт scr_FilesDetialGridArea:

function SaveFilesToDir(){
        var Dataset = FilesDetailGridArea.Dataset;     
        if (Dataset.IsEmptyPage) {
                return;
        }      
        var DirName = System.CreateObject('TSObjectLibrary.Value');    
        if (!System.SelectDirectory("Выберите папку", '', DirName)) {
                return;
        }      
        var FileName = '';
        Dataset.GotoFirst();
        while (!Dataset.IsEOF) {               
                if (Dataset.ValAsGUID('ItemTypeID') == ft_File) {
                        FileName =  DirName.Value + '\\' + GetDatasetFieldValue(Dataset, 'Link');
                        LoadFileFromDatabase(Dataset('ID'), FileName, false);      
                }
                Dataset.GotoNext();
        }
}

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

Нравится

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

Можно написать функцию получения полного пути группы в дереве. Например, такую:

[javascript]
function GetFullFileGroupPath(GroupID, FullPath) {
var GroupFileDataset = GetSingleItemByCode('ds_FileGroup',
'GetFullFileGroupPath');
ApplyDatasetIDFilter(GroupFileDataset, GroupID, true);
GroupFileDataset.Open();
if (!IsDatasetEmpty(GroupFileDataset)) {
var GroupName = GroupFileDataset.Values('Name');
var ParentGroupID = GroupFileDataset.Values('ParentID');
GroupFileDataset.Close();
if (IsEmptyValue(ParentGroupID)) {
FullPath = GroupName + '\\' + FullPath;
} else {
FullPath = GetFullFileGroupPath(ParentGroupID, GroupName + '\\'
+ FullPath);
}
} else {
GroupFileDataset.Close();
}
return FullPath;
}
[/javascript]

Дальше можно изменить Ваше условие:

[javascript]
if (Dataset.ValAsGUID('ItemTypeID') == ft_File) {
var GroupID = GetDatasetFieldValue(Dataset, 'FileGroupID');
var FullGroupPath = '';
if (IsEmptyValue(GroupID)) {
FullGroupPath = 'Все файлы\\'
} else {
FullGroupPath = GetFullFileGroupPath(GroupID, '');
}
FileName = DirName.Value + '\\' + FullGroupPath + GetDatasetFieldValue(Dataset, 'Link');
LoadFileFromDatabase(Dataset('ID'), FileName, false);
}
[/javascript]

Должно работать.

Спасибо!

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