Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

var dbRef = DB.CreateRef("Document.Order", "e4875805-904d-4121-982b-8fa8753acf57");

Не реализовано в 3.0.

МетодОписаниеПараметрыИсключенияПримерВерсия

Sync()

Sync(callback)

Sync(callback, state)

Производит синхронизацию данных с сервером БИТ:Мобайл

callback - имя функции, вызываемой после выполнения синхронизации;

state - объект, передаваемый в функцию обратного вызова в качестве параметра;

Функция обратного вызова: (state),

state - объект, переданный в качестве параметра state;

 

Не реализовано в 3.0

 

-
Create(name)Создает новый экземпляр объектаname - полное имя объекта 

Не реализовано в 3.0. Для создания экземпляра необходимо использовать конструктор объекта.

 

Блок кода
languagec#
themeEclipse
public class Catalog.Country : DbEntity
{
	public DbRef Id {get; set;}
	public bool DeletionMark {get;set;}
	public String Code {get;set;}
	public String Name {get;set;}
 
	public Country()
	{
		Id = DbRef.CreateInstance(GetTableName(), Guid.NewGuid());
	}
}
 
public class MyScreen: Screen
{
	void Btn_Click(object sender, EventArgs e)
	{
		Catalog.Country country = new Catalog.Country();
		country.Name = "Russia";
		country.Save();
	}
}
 
-
SelectById(name, id)Возвращает экземпляр объекта по идентификатору

name - полное имя сущности ;

id - идентификатор;

 

Не реализовано в 3.0. Для получения объекта необходимо использовать объект Query

Блок кода
languagec#
themeEclipse
public class MyScreen: Screen
{
	void Btn_Click(object sender, EventArgs e)
	{
		//first we should obtain ref object
		Query qry = new Query();
		qry.Text = "SELECT Id FROM Catalog_Country WHERE Name = @Name";
		qry.AddParameter("Name", "Russia");
		var rst = qry.Execute();
		if(rst.Next())
		{
			var r = rst.GetRef(0);
			//now we can get the object
			Catalog.Country obj = (Catalog.Country)r.GetObject();
			//play with obj here...
		}
	}
}
 
-

Delete(entityRef)

Delete(entityRef, inTran)

Удаляет объект

entityRef - ссылка на объект

inTran - установить false, для удаления сущности в обход транзакции

 
Блок кода
languagec#
themeEclipse
void DeleteCountry(Catalog.Country country)
{
	Database
DB
.Delete(
orderId
country.Id, false);
}
 
23.30.50.1080
EmptyRef(name)Возвращает пустую ссылку на объект определенного типаname - полное имя объекта; var emptyOrderRef = DB.EmptyRef("Document.Order");Не реализовано в 3.0.-
CreateRef(name, guid)

Создает ссылку на объект определенного типа

Предупреждение

Ответственность за ссылочную целостность ложится на разработчика

name - строка, полное имя объекта;

guid - строка, идентификатор объекта

DBException

  • Некорректный guid

 

Блок кода
languagejs
themeEclipse
2.3.14.119
AsGuid(guidString)Конвертирует строку к типу GuidguidString - строка с текстом идентификатора; var emptyGuid = DB.AsGuid("000000000-0000000-000000000");

Не реализовано в 3.0. Необходимо использовать метод Parse типа Guid

Блок кода
languagec#
themeEclipse
Guid GuidFromString(String id) 
{
	return Guid.Parse(id);
}
 
Guid GetEmptyGuid() 
{
	return Guid.Empty;
}
-
Commit()Сохраняет изменения в БД в рамках транзакции  
Блок кода
languagejs
themeEclipse
functionpublic class DB
{
	private static Database db;
 
	public static void Init()
	{
		db = new Database();
		if(!db.Exists)
			db.CreateFromModel();
	}
 
	public static void SaveChanges()  
	{
		DBdb.Commit();
	}
}
-
Rollback()Откатывает изменения в БД в рамках транзакции  
Блок кода
languagejs
themeEclipse
function DiscardChanges() {
	DB.Rollback();
}
-
CreateTable(name, columns[])Создает пользовательскую таблицу

name - имя таблицы, при создании платформа добавит суффикс 'UT_' к имени

columns - массив имен колонок;

 
Блок кода
languagejs
themeEclipse
function OnLoad() {
	DB.CreateTable("Filtered_Outlets", ["Id"]);
}
 
function LoadOutlets(){
	var q = new Query("SELECT O.Id, O.Name "
		+ "FROM Catalog_Outlets O"
		+ "RIGHT JOIN UT_Filtered_Outlets U "
		+ "ON (U.Id = O.Id)");
	return q.Execute();
}
2.3.5.108
DropTable(name)Удаляет пользовательскую таблицуname - имя таблицы 
Блок кода
languagejs
themeEclipse
 function NextStep(){
	DB.DeleteTable("Filtered_Outlets");	
	DoAction("Forward");
}
2.3.5.108
TruncateTable(name)Очищает пользовательскую таблицуname - имя таблицы 
Блок кода
languagejs
themeEclipse
function Refresh(args){
	DB.TruncateTable("Filtered_Outlets");
	DoRefresh(args);
}
2.3.5.108