Добрый день! 

 

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

 

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 комментария

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

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;
}

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

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);       
}

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

Спасибо!

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