Records
Esta sección documenta las clases y colecciones de registros que pueden enviarse al servidor para su almacenamiento.
Cada clase representa una tabla y sus propiedades corresponden a las columnas disponibles.
No es obligatorio enviar todas las tablas.
Puede omitir aquellas que no utilice o enviarlas como un array vacío.
Tablas necesarias por módulo
Consulte la siguiente guía para identificar las tablas requeridas según el módulo que desee implementar:
-
Pedidos:
clientspayment_terms[Recomendado - Opcional]pricesprices_listsproductsbrands[Recomendado - Opcional]categories[Recomendado - Opcional]groups[Recomendado - Opcional]sub_groups[Recomendado - Opcional]unit_typessales_agents
-
Cobranzas:
clientsclients_debtsbanks[Recomendado - Opcional]banks_accounts[Recomendado - Opcional]collections_agents
-
Nuevo cliente:
clientsprice_listszones[Recomendado - Opcional]localities[Recomendado - Opcional]states[Recomendado - Opcional]sales_agents
Tipos de datos flexibles
Las propiedades de las clases admiten tipificación flexible, permitiendo asignar valores en distintos formatos.
Cada propiedad acepta tanto su tipo nativo como representaciones en cadena equivalentes. Las reglas específicas son:
- String: Cadenas (
"texto"), números enteros (100) y decimales (100.00). - Integer: Enteros (
100) o su versión en cadena ("100"). - Numeric: Decimales (
100.00), enteros (100) o sus versiones en cadena ("100.00"o"100"). - Boolean: Booleanos (
TrueoFalse), o equivalentes como:
1 / 0,"1" / "0","S" / "N","TRUE" / "FALSE","true" / "false". - DateTime:
- Fecha/hora nativa (según el lenguaje).
- Cadenas con formato ISO 8601:
"2024-01-01T00:00:00Z"(UTC),"2024-01-01T00:00:00-03:00"(GMT-03:00 Argentina). - Otros formatos válidos:
"01-01-2024","01/01/2024","2024-01-01".
Records Class
La clase Records es la principal encargada de contener todas las colecciones de registros.
Proporciona métodos específicos para agregar registros correspondientes a cada clase documentada en esta sección.
A continuación se ejemplifica el uso del método AddBankAccount(), que recibe un parámetro de la clase BankAccount.
De igual manera, existen métodos para el resto de las clases.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim bankAccount As MeridianoSoftApp.bankAccount.
Visual Basic 6.0 generará errores en tiempo de ejecución relacionados a los tipos definidos.
Dim records As New MeridianoSoftApp.records
Dim bankAccount As New MeridianoSoftApp.bankAccount
bankAccount.BankAccountId = 1
bankAccount.Name = "Cuenta principal"
records.AddBankAccount bankAccount
Dim records As New MeridianoSoftApp.records
Dim bankAccount As New MeridianoSoftApp.bankAccount
bankAccount.BankAccountId = 1
bankAccount.Name = "Cuenta principal"
records.AddBankAccount(bankAccount)
var
Records: _Records;
BankAccount: _BankAccount;
Records := CoRecords.Create();
BankAccount := CoBankAccount.Create();
BankAccount.BankAccountId := 1;
BankAccount.Name := 'Cuenta Principal';
Records.AddBankAccount(BankAccount);
BankAccount Class
Representa una cuenta bancaria.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim bankAccount As MeridianoSoftApp.bankAccount.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim bankAccount As Object
Set bankAccount = New MeridianoSoftApp.bankAccount
' Definir propiedades
bankAccount.BankAccountId = 1
' ...
Dim bankAccount = New MeridianoSoftApp.bankAccount With {
.BankAccountId = 1
' ... Definir mas propiedades
}
var
BankAccount: _BankAccount;
BankAccount := CoBankAccount.Create();
// Definir propiedades
BankAccount.BankAccountId := 1
// ...
Propiedades
BankAccountId
Primary key
Obligatorio
ID único de la cuenta bancaria.
Object → Integer
Por defecto: −
Name
Obligatorio
Nombre de la cuenta bancaria.
Object → String
Por defecto: −
Bank Class
Representa una entidad bancaria.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim bank As MeridianoSoftApp.bank.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim bank As Object
Set bank = New MeridianoSoftApp.bank
' Definir propiedades
bank.BankId = 1
' ...
Dim bank As New MeridianoSoftApp.bank With {
.BankId = 1
' ... Definir mas propiedades
}
var
Bank: _Bank;
Bank := CoBank.Create();
// Definir propiedades
Bank.BankId := 1
// ...
Propiedades
BankId
Primary key
Obligatorio
ID único de la entidad bancaria.
Object → Integer
Por defecto: −
Name
Obligatorio
Nombre de la entidad bancaria.
Object → String
Por defecto: −
Brand Class
Representa una marca de un producto.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim brand As MeridianoSoftApp.brand.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim brand As Object
Set brand = New MeridianoSoftApp.brand
' Definir propiedades
brand.BrandId = 1
' ...
Dim brand As New MeridianoSoftApp.brand With {
.BrandId = 1
' ... Definir mas propiedades
}
var
Brand: _Brand;
Brand := CoBrand.Create();
// Definir propiedades
Brand.BrandId := 1
// ...
Propiedades
BrandId
Primary key
Obligatorio
ID único de la marca.
Object → Integer
Por defecto: −
Name
Obligatorio
Nombre de la marca.
Object → String
Por defecto: −
Category Class
Representa una categoría de un producto.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim category As MeridianoSoftApp.category.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim category As Object
Set category = New MeridianoSoftApp.category
' Definir propiedades
category.CategoryId = 1
' ...
Dim category As New MeridianoSoftApp.category With {
.CategoryId = 1
' ... Definir mas propiedades
}
var
Category: _Category;
Category := CoCategory.Create();
// Definir propiedades
Category.CategoryId := 1
// ...
Propiedades
CategoryId
Primary key
Obligatorio
ID único de la categoría.
Object → Integer
Por defecto: −
Name
Obligatorio
Nombre de la categoría.
Object → String
Por defecto: −
Client Class
Representa un cliente.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim client As MeridianoSoftApp.client.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim client As Object
Set client = New MeridianoSoftApp.client
' Definir propiedades
client.ClientId = 1
' ...
Dim client As New MeridianoSoftApp.client With {
.ClientId = 1
' ... Definir mas propiedades
}
var
Client: _Client;
Client := CoClient.Create();
// Definir propiedades
Client.ClientId := 1
// ...
Propiedades
ClientId
Primary key
Obligatorio
ID único del cliente.
Object → Integer
Por defecto: −
LegalName
Obligatorio
Razón social.
Object → String
Por defecto: −
TaxConditionCode
Opcional
Código de condición fiscal.
Object → String
Por defecto: Null
Valores permitidos:
Identification
Opcional
Identificador del cliente: CUIT, DNI u otros.
Object → String
Por defecto: Null
PaymentTermId
Opcional
ID único de la condición de pago.
Object → Integer
Por defecto: Null
Address
Obligatorio
Dirección.
Object → String
Por defecto: −
LocalityId
Opcional
ID único de la localidad.
Object → Integer
Por defecto: Null
Locality
Opcional
Nombre de la localidad.
Object → String
Por defecto: Null
PostalCode
Opcional
Código postal.
Object → Integer
Por defecto: Null
StateId
Opcional
ID único de la provincia.
Object → Integer
Por defecto: Null
State
Opcional
Nombre de la provincia.
Object → String
Por defecto: Null
Latitude
Opcional
Latitud.
Object → Numeric
Por defecto: Null
Longitude
Opcional
Longitud.
Object → Numeric
Por defecto: Null
Phone
Opcional
Número de teléfono.
Object → String
Por defecto: Null
Opcional
Email.
Object → String
Por defecto: Null
Contact
Opcional
Contacto del cliente.
Object → String
Por defecto: Null
AdjustmentType
Obligatorio
Tipo de ajuste: recargo o descuento.
Object → String
Por defecto: −
Valores permitidos:
AdjustmentValue
Obligatorio
Porcentaje de recargo o descuento.
Object → Numeric
Por defecto: −
ZoneId
Opcional
ID único de la zona del cliente.
Object → Integer
Por defecto: Null
SalesAgentId
Opcional
ID único del vendedor asignado al cliente.
Object → Integer
Por defecto: Null
PriceListId
Opcional
ID único de la lista de precios asignada al cliente.
Object → Integer
Por defecto: Null
LastSaleAt
Opcional
Fecha de última venta.
Object → DateTime
Por defecto: Null
EndingBalance
Opcional
Balance final del cliente (saldo actual).
Object → Numeric
Por defecto: 0.00
CreditLimit
Opcional
Límite de crédito.
Object → Numeric
Por defecto: 0.00
Observations
Opcional
Observaciones.
Object → String
Por defecto: Null
PaymentCollectionsAgentId
Opcional
ID único del cobrador asignado al cliente.
Object → Integer
Por defecto: Null
DeliveriesAgentId
Opcional
ID único del repartidor asignado al cliente.
Object → Integer
Por defecto: Null
PendingClearanceAmount
Opcional
Monto pendiente de acreditación.
Object → Numeric
Por defecto: 0.00
ClientDebt Class
Representa la deuda de un cliente.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim clientDebt As MeridianoSoftApp.clientDebt.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim clientDebt As Object
Set clientDebt = New MeridianoSoftApp.clientDebt
' Definir propiedades
clientDebt.ClientDebtId = 1
' ...
Dim clientDebt As New MeridianoSoftApp.clientDebt With {
.ClientDebtId = 1
' ... Definir mas propiedades
}
var
ClientDebt: _ClientDebt;
ClientDebt := CoClientDebt.Create();
// Definir propiedades
ClientDebt.ClientDebtId := 1
// ...
Propiedades
ClientDebtId
Primary key
Obligatorio
ID único de la deuda del cliente.
Object → Integer
Por defecto: −
ClientId
Obligatorio
ID único del cliente.
Object → Integer
Por defecto: −
InvoiceCode
Obligatorio
Código de la factura asociada a la deuda.
Object → String
Por defecto: −
InvoiceCreatedAt
Obligatorio
Fecha de creación de la factura.
Object → DateTime
Por defecto: −
InvoiceDueDate
Opcional
Fecha de vencimiento de la factura.
Object → DateTime
Por defecto: Null
Description
Opcional
Descripción de la deuda.
Object → String
Por defecto: Null
TotalAmount
Obligatorio
Monto total de la deuda.
Object → Numeric
Por defecto: −
PaidAmount
Obligatorio
Monto pagado hasta el momento.
Object → Numeric
Por defecto: −
PaymentTerm Class
Representa una condición de venta.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim paymentTerm As MeridianoSoftApp.paymentTerm.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim paymentTerm As Object
Set paymentTerm = New MeridianoSoftApp.paymentTerm
' Definir propiedades
paymentTerm.paymentTermId = 1
' ...
Dim paymentTerm As New MeridianoSoftApp.paymentTerm With {
.paymentTermId = 1
' ... Definir mas propiedades
}
var
PaymentTerm: _PaymentTerm;
PaymentTerm := CoPaymentTerm.Create();
// Definir propiedades
PaymentTerm.paymentTermId := 1
// ...
Propiedades
PaymentTermId
Primary key
Obligatorio
ID único de la condición de pago.
Object → Integer
Por defecto: −
Description
Obligatorio
Descripción.
Object → String
Por defecto: −
AdjustmentType
Obligatorio
Tipo de ajuste: recargo o descuento.
Object → String
Por defecto: −
Valores permitidos:
AdjustmentValue
Obligatorio
Porcentaje de recargo o descuento.
Object → Numeric
Por defecto: −
DaysToInvoiceExpiration
Opcional
Cantidad de días para que la factura expire.
Object → Integer
Por defecto: Null
CollectionsAgent Class
Representa un agente de cobranzas.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim collectionsAgent As MeridianoSoftApp.collectionsAgent.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim collectionsAgent As Object
Set collectionsAgent = New MeridianoSoftApp.collectionsAgent
' Definir propiedades
collectionsAgent.CollectionsAgentId = 1
' ...
Dim collectionsAgent As New MeridianoSoftApp.collectionsAgent With {
.CollectionsAgentId = 1
' ... Definir mas propiedades
}
var
CollectionsAgent: _CollectionsAgent;
CollectionsAgent := CoCollectionsAgent.Create();
// Definir propiedades
CollectionsAgent.CollectionsAgentId := 1
// ...
Propiedades
CollectionsAgentId
Primary key
Obligatorio
ID único del agente de cobranzas.
Object → Integer
Por defecto: −
Name
Obligatorio
Nombre del agente de cobranzas.
Object → String
Por defecto: −
Group Class
Representa un grupo.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim group As MeridianoSoftApp.group.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim group As Object
Set group = New MeridianoSoftApp.group
' Definir propiedades
group.GroupId = 1
' ...
Dim group As New MeridianoSoftApp.group With {
.GroupId = 1
' ... Definir mas propiedades
}
var
Group: _Group;
Group := CoGroup.Create();
// Definir propiedades
Group.GroupId := 1
// ...
Propiedades
GroupId
Primary key
Obligatorio
ID único del grupo.
Object → Integer
Por defecto: −
Name
Obligatorio
Nombre del grupo.
Object → String
Por defecto: −
Locality Class
Representa una localidad.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim locality As MeridianoSoftApp.locality.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim locality As Object
Set locality = New MeridianoSoftApp.locality
' Definir propiedades
locality.LocalityId = 1
' ...
Dim locality As New MeridianoSoftApp.locality With {
.LocalityId = 1
' ... Definir mas propiedades
}
var
Locality: _Locality;
Locality := CoLocality.Create();
// Definir propiedades
Locality.LocalityId := 1
// ...
Propiedades
LocalityId
Primary key
Obligatorio
ID único de la localidad.
Object → Integer
Por defecto: −
Name
Obligatorio
Nombre de la localidad.
Object → String
Por defecto: −
StateId
Obligatorio
ID de la provincia a la que pertenece la localidad.
Object → Integer
Por defecto: −
PostalCode
Opcional
Código postal de la localidad.
Object → String
Por defecto: Null
PhonePrefix
Opcional
Prefijo telefónico de la localidad.
Object → Integer
Por defecto: Null
PriceList Class
Representa una lista de precios.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim priceList As MeridianoSoftApp.priceList.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim priceList As Object
Set priceList = New MeridianoSoftApp.priceList
' Definir propiedades
priceList.PriceListId = 1
' ...
Dim priceList As New MeridianoSoftApp.priceList With {
.PriceListId = 1
' ... Definir mas propiedades
}
var
PriceList: _PriceList;
PriceList := CoPriceList.Create();
// Definir propiedades
PriceList.PriceListId := 1
// ...
Propiedades
PriceListId
Primary key
Obligatorio
ID único de la lista de precios.
Object → Integer
Por defecto: −
Name
Obligatorio
Nombre de la lista de precios.
Object → String
Por defecto: −
IncludeIva
Obligatorio
Indica si la lista de precios incluye IVA.
Object → Boolean
Por defecto: −
Valores permitidos:
Price Class
Representa el precio de un producto dentro de una lista de precios.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim price As MeridianoSoftApp.price.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim price As Object
Set price = New MeridianoSoftApp.price
' Definir propiedades
price.PriceId = 1
' ...
Dim price As New MeridianoSoftApp.price With {
.PriceId = 1
' ... Definir mas propiedades
}
var
Price: _Price;
Price := CoPrice.Create();
// Definir propiedades
Price.PriceId := 1
// ...
Propiedades
PriceId
Primary key
Obligatorio
ID único del precio.
Object → Integer
Por defecto: −
ProductId
Obligatorio
ID del producto al que pertenece el precio.
Object → Integer
Por defecto: −
PriceListId
Obligatorio
ID de la lista de precios a la que pertenece este precio.
Object → Integer
Por defecto: −
Price
Obligatorio
El valor del precio del producto.
Object → Numeric
Por defecto: −
Product Class
Representa un producto.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim product As MeridianoSoftApp.product.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim product As Object
Set product = New MeridianoSoftApp.product
' Definir propiedades
product.ProductId = 1
' ...
Dim product As New MeridianoSoftApp.product With {
.ProductId = 1
' ... Definir mas propiedades
}
var
Product: _Product;
Product := CoProduct.Create();
// Definir propiedades
Product.ProductId := 1
// ...
Propiedades
ProductId
Primary key
Obligatorio
ID único del producto.
Object → Integer
Por defecto: −
Description
Obligatorio
Descripción del producto.
Object → String
Por defecto: −
GroupId
Opcional
ID del grupo al que pertenece el producto.
Object → Integer
Por defecto: Null
SubGroupId
Opcional
ID del subgrupo al que pertenece el producto.
Object → Integer
Por defecto: Null
Iva
Obligatorio
Porcentaje de IVA aplicado al producto.
Object → Numeric
Por defecto: −
Barcode
Opcional
Código de barras del producto.
Object → String
Por defecto: Null
Stock
Opcional
Cantidad de unidades en inventario.
Object → Numeric
Por defecto: Null
BrandId
Opcional
ID de la marca del producto.
Object → Integer
Por defecto: Null
CategoryId
Opcional
ID de la categoría a la que pertenece el producto.
Object → Integer
Por defecto: Null
UnitTypeId
Opcional
ID del tipo de unidad del producto.
Object → Integer
Por defecto: Null
QuantityPerUnit
Opcional
Cantidad de unidades por unidad de producto.
Object → Numeric
Por defecto: Null
Weight
Opcional
Peso del producto.
Object → Numeric
Por defecto: Null
MinimumQuantityToSelect
Opcional
Cantidad mínima de producto para seleccionar.
Object → Numeric
Por defecto: 1
DefaultDiscount
Opcional
Descuento predeterminado del producto.
Object → Numeric
Por defecto: 0
MaximumDiscount
Opcional
Descuento máximo permitido sobre el producto.
Object → Numeric
Por defecto: 100
PriceMultiplier
Opcional
Multiplicador de precio.
Object → Numeric
Por defecto: 1
SalesAgent Class
Representa un agente de ventas.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim salesAgent As MeridianoSoftApp.salesAgent.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim salesAgent As Object
Set salesAgent = New MeridianoSoftApp.salesAgent
' Definir propiedades
salesAgent.SalesAgentId = 1
' ...
Dim salesAgent As New MeridianoSoftApp.salesAgent With {
.SalesAgentId = 1
' ... Definir mas propiedades
}
var
SalesAgent: _SalesAgent;
SalesAgent := CoSalesAgent.Create();
// Definir propiedades
SalesAgent.SalesAgentId := 1
// ...
Propiedades
SalesAgentId
Primary key
Obligatorio
ID único del agente de ventas.
Object → Integer
Por defecto: −
Name
Obligatorio
Nombre del agente de ventas.
Object → String
Por defecto: −
State Class
Representa un estado.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim state As MeridianoSoftApp.state.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim state As Object
Set state = New MeridianoSoftApp.state
' Definir propiedades
state.StateId = 1
' ...
Dim state As New MeridianoSoftApp.state With {
.StateId = 1
' ... Definir mas propiedades
}
var
State: _State;
State := CoState.Create();
// Definir propiedades
State.StateId := 1
// ...
Propiedades
StateId
Primary key
Obligatorio
ID único del estado.
Object → Integer
Por defecto: −
Name
Obligatorio
Nombre del estado.
Object → String
Por defecto: −
SubGroup Class
Representa un subgrupo de productos.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim subGroup As MeridianoSoftApp.subGroup.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim subGroup As Object
Set subGroup = New MeridianoSoftApp.subGroup
' Definir propiedades
subGroup.SubGroupId = 1
' ...
Dim subGroup As New MeridianoSoftApp.subGroup With {
.SubGroupId = 1
' ... Definir mas propiedades
}
var
SubGroup: _SubGroup;
SubGroup := CoSubGroup.Create();
// Definir propiedades
SubGroup.SubGroupId := 1
// ...
Propiedades
SubGroupId
Primary key
Obligatorio
ID único del subgrupo.
Object → Integer
Por defecto: −
GroupId
Obligatorio
ID del grupo al que pertenece el subgrupo.
Object → Integer
Por defecto: −
Name
Obligatorio
Nombre del subgrupo.
Object → String
Por defecto: −
UnitType Class
Representa un tipo de unidad.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim unitType As MeridianoSoftApp.unitType.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim unitType As Object
Set unitType = New MeridianoSoftApp.unitType
' Definir propiedades
unitType.UnitTypeId = 1
' ...
Dim unitType As New MeridianoSoftApp.unitType With {
.UnitTypeId = 1
' ... Definir mas propiedades
}
var
UnitType: _UnitType;
UnitType := CoUnitType.Create();
// Definir propiedades
UnitType.UnitTypeId := 1
// ...
Propiedades
UnitTypeId
Primary key
Obligatorio
ID único del tipo de unidad.
Object → Integer
Por defecto: −
Name
Obligatorio
Nombre del tipo de unidad.
Object → String
Por defecto: −
Zone Class
Representa una zona.
Modo de uso
- VB 6.0
- VB .NET
- Delphi
No definir como Dim zone As MeridianoSoftApp.zone.
Visual Basic 6.0 generara errores en tiempo de ejecución, relacionados a los tipos definidos.
Dim zone As Object
Set zone = New MeridianoSoftApp.zone
' Definir propiedades
zone.ZoneId = 1
' ...
Dim zone As New MeridianoSoftApp.zone With {
.ZoneId = 1
' ... Definir mas propiedades
}
var
Zone: _Zone;
Zone := CoZone.Create();
// Definir propiedades
Zone.ZoneId := 1
// ...
Propiedades
ZoneId
Primary key
Obligatorio
ID único de la zona.
Object → Integer
Por defecto: −
Name
Obligatorio
Nombre de la zona.
Object → String
Por defecto: −