diff --git a/CHANGELOG.md b/CHANGELOG.md
index c97c4181f..43bd6da77 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- (Tickets) => Se añade la opción de clonar ticket. #6951
- (Parking) => Se añade la sección Parking. #5186
+- (Rutas) => Se añade el campo "servida" a la tabla y se añade también a los filtros. #7130
+
### Changed
### Fixed
diff --git a/package.json b/package.json
index 88f430d7b..8398eb3f3 100644
--- a/package.json
+++ b/package.json
@@ -32,6 +32,7 @@
"@intlify/unplugin-vue-i18n": "^0.8.1",
"@pinia/testing": "^0.1.2",
"@quasar/app-vite": "^1.7.3",
+ "@quasar/quasar-app-extension-qcalendar": "4.0.0-beta.15",
"@quasar/quasar-app-extension-testing-unit-vitest": "^0.4.0",
"@vue/test-utils": "^2.4.4",
"autoprefixer": "^10.4.14",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f3fe7df55..bdff559cc 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -49,6 +49,9 @@ devDependencies:
'@quasar/app-vite':
specifier: ^1.7.3
version: 1.7.3(eslint@8.56.0)(pinia@2.1.7)(quasar@2.14.5)(vue-router@4.2.5)(vue@3.4.19)
+ '@quasar/quasar-app-extension-qcalendar':
+ specifier: 4.0.0-beta.15
+ version: 4.0.0-beta.15
'@quasar/quasar-app-extension-testing-unit-vitest':
specifier: ^0.4.0
version: 0.4.0(@vue/test-utils@2.4.4)(quasar@2.14.5)(vite@5.1.4)(vitest@0.31.4)(vue@3.4.19)
@@ -912,6 +915,13 @@ packages:
resolution: {integrity: sha512-SlOhwzXyPQHWgQIS2ncyDdYdksCJvUYNtgsDQqzAKEG3r3d/ejOxvThle79HTK3Q6HB+gQWFG21Ux00Osr5XSw==}
dev: false
+ /@quasar/quasar-app-extension-qcalendar@4.0.0-beta.15:
+ resolution: {integrity: sha512-i6hQkcP70LXLfVMPZMKQjSg3681gjZmASV3vq6ULzc0LhtBiPneLdVNNtH2itkWxAmaUj+1heQDI5Pa0F7VKLQ==}
+ engines: {node: '>= 10.0.0', npm: '>= 5.6.0', yarn: '>= 1.6.0'}
+ dependencies:
+ '@quasar/quasar-ui-qcalendar': 4.0.0-beta.19
+ dev: true
+
/@quasar/quasar-app-extension-testing-unit-vitest@0.4.0(@vue/test-utils@2.4.4)(quasar@2.14.5)(vite@5.1.4)(vitest@0.31.4)(vue@3.4.19):
resolution: {integrity: sha512-eyzdUdmZiCueNS+5nedjMmzdbpCetSrtdGIwW6KplW1dTzRbLiNvYUjpBOxQGmJCgEhWy9zuswJ7MZ/bTql24Q==}
engines: {node: '>= 12.22.1', npm: '>= 6.14.12', yarn: '>= 1.17.3'}
@@ -939,6 +949,10 @@ packages:
- vite
dev: true
+ /@quasar/quasar-ui-qcalendar@4.0.0-beta.19:
+ resolution: {integrity: sha512-BT0G2JjgKl1bqNrY5utcYeoy8gK+U9k3Pz1YDi1OB265W/jHU6nFoWMEUdY3JdvMccwkXTL2DLVyl3eqAUyLyg==}
+ dev: true
+
/@quasar/render-ssr-error@1.0.3:
resolution: {integrity: sha512-A8RF99q6/sOSe1Ighnh5syEIbliD3qUYEJd2HyfFyBPSMF+WYGXon5dmzg4nUoK662NgOggInevkDyBDJcZugg==}
engines: {node: '>= 16'}
diff --git a/quasar.extensions.json b/quasar.extensions.json
index e5c5cbfaa..867769090 100644
--- a/quasar.extensions.json
+++ b/quasar.extensions.json
@@ -1,7 +1,6 @@
{
- "@quasar/testing-unit-vitest": {
- "options": [
- "scripts"
- ]
- }
-}
\ No newline at end of file
+ "@quasar/testing-unit-vitest": {
+ "options": ["scripts"]
+ },
+ "@quasar/qcalendar": {}
+}
diff --git a/src/boot/i18n.js b/src/boot/i18n.js
index ede8f5114..b23b6d5fd 100644
--- a/src/boot/i18n.js
+++ b/src/boot/i18n.js
@@ -1,7 +1,6 @@
import { boot } from 'quasar/wrappers';
import { createI18n } from 'vue-i18n';
import messages from 'src/i18n';
-import { locales } from 'src/i18n/handle';
const i18n = createI18n({
locale: navigator.language || navigator.userLanguage,
@@ -13,9 +12,8 @@ const i18n = createI18n({
legacy: false,
});
-export default boot(async ({ app }) => {
+export default boot(({ app }) => {
// Set i18n instance on app
- await locales();
app.use(i18n);
});
diff --git a/src/components/common/VnInput.vue b/src/components/common/VnInput.vue
index ec836f2cd..96028862a 100644
--- a/src/components/common/VnInput.vue
+++ b/src/components/common/VnInput.vue
@@ -26,7 +26,7 @@ const value = computed({
emit('update:modelValue', value);
},
});
-
+const hover = ref(false);
const styleAttrs = computed(() => {
return $props.isOutlined
? {
@@ -41,6 +41,10 @@ const onEnterPress = () => {
emit('keyup.enter');
};
+const handleValue = (val = null) => {
+ value.value = val;
+};
+
const focus = () => {
vnInputRef.value.focus();
};
@@ -51,20 +55,33 @@ defineExpose({
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/common/VnInputDate.vue b/src/components/common/VnInputDate.vue
index 66da9b7bf..2053eceb1 100644
--- a/src/components/common/VnInputDate.vue
+++ b/src/components/common/VnInputDate.vue
@@ -1,7 +1,6 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/composables/useSession.js b/src/composables/useSession.js
index d397d7ed9..8583e10d4 100644
--- a/src/composables/useSession.js
+++ b/src/composables/useSession.js
@@ -3,31 +3,29 @@ import { useRole } from './useRole';
import { useUserConfig } from './useUserConfig';
import axios from 'axios';
import useNotify from './useNotify';
+const TOKEN_MULTIMEDIA = 'tokenMultimedia';
+const TOKEN = 'token';
export function useSession() {
const { notify } = useNotify();
function getToken() {
- const localToken = localStorage.getItem('token');
- const sessionToken = sessionStorage.getItem('token');
+ const localToken = localStorage.getItem(TOKEN);
+ const sessionToken = sessionStorage.getItem(TOKEN);
return localToken || sessionToken || '';
}
function getTokenMultimedia() {
- const localTokenMultimedia = localStorage.getItem('token'); // Temporal
- const sessionTokenMultimedia = sessionStorage.getItem('token'); // Temporal
+ const localTokenMultimedia = localStorage.getItem(TOKEN_MULTIMEDIA);
+ const sessionTokenMultimedia = sessionStorage.getItem(TOKEN_MULTIMEDIA);
return localTokenMultimedia || sessionTokenMultimedia || '';
}
function setToken(data) {
- if (data.keepLogin) {
- localStorage.setItem('token', data.token);
- localStorage.setItem('tokenMultimedia', data.tokenMultimedia);
- } else {
- sessionStorage.setItem('token', data.token);
- sessionStorage.setItem('tokenMultimedia', data.tokenMultimedia);
- }
+ const storage = data.keepLogin ? localStorage : sessionStorage;
+ storage.setItem(TOKEN, data.token);
+ storage.setItem(TOKEN_MULTIMEDIA, data.tokenMultimedia);
}
async function destroyToken(url, storage, key) {
if (storage.getItem(key)) {
@@ -71,8 +69,8 @@ export function useSession() {
}
function isLoggedIn() {
- const localToken = localStorage.getItem('token');
- const sessionToken = sessionStorage.getItem('token');
+ const localToken = localStorage.getItem(TOKEN);
+ const sessionToken = sessionStorage.getItem(TOKEN);
return !!(localToken || sessionToken);
}
diff --git a/src/css/app.scss b/src/css/app.scss
index b36036df4..c6848ff63 100644
--- a/src/css/app.scss
+++ b/src/css/app.scss
@@ -1,5 +1,6 @@
// app global css in SCSS form
@import './icons.scss';
+@import '@quasar/quasar-ui-qcalendar/src/QCalendarMonth.sass';
body.body--light {
--font-color: black;
@@ -159,4 +160,15 @@ input::-webkit-inner-spin-button {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
-}
\ No newline at end of file
+}
+
+// Clases para modificar el color de fecha seleccionada en componente QCalendarMonth
+.q-dark div .q-calendar-mini .q-calendar-month__day.q-selected .q-calendar__button {
+ background-color: $primary !important;
+ color: white !important;
+}
+
+.q-calendar-mini .q-calendar-month__day.q-selected .q-calendar__button {
+ background-color: $primary !important;
+ color: white !important;
+}
diff --git a/src/i18n/handle.js b/src/i18n/handle.js
deleted file mode 100644
index 331b60b71..000000000
--- a/src/i18n/handle.js
+++ /dev/null
@@ -1,17 +0,0 @@
-const modules = import.meta.glob(`../pages/**/locale/**.yml`);
-import translations from './index';
-const LOCALE_EXTENSION = '.yml';
-
-export async function locales() {
- for await (const module of Object.keys(modules)) {
- const splittedFile = module.split('/');
- const lang = splittedFile.pop().split(LOCALE_EXTENSION)[0];
- const moduleFiles = splittedFile.join('/') + '/' + lang + LOCALE_EXTENSION;
- import(moduleFiles).then((t) => {
- Object.assign(translations[lang], t.default);
- });
- }
- return translations;
-}
-
-export default translations;
diff --git a/src/i18n/index.js b/src/i18n/index.js
index d94f77bb2..aa25fcc14 100644
--- a/src/i18n/index.js
+++ b/src/i18n/index.js
@@ -1,10 +1,23 @@
const files = import.meta.glob(`./locale/*.yml`);
+const modules = import.meta.glob(`../pages/**/locale/*.yml`);
+
const translations = {};
for (const file in files) {
const lang = file.split('/').at(2).split('.')[0];
- import(file).then((t) => {
- translations[lang] = t.default;
+
+ files[file]()
+ .then((g) => {
+ translations[lang] = g.default;
+ })
+ .finally(() => {
+ const actualLang = lang + '.yml';
+ for (const module in modules) {
+ if (!module.endsWith(actualLang)) continue;
+ modules[module]().then((t) => {
+ Object.assign(translations[lang], t.default);
+ })
+ }
});
}
diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml
index ef9c2c4cd..db34b393c 100644
--- a/src/i18n/locale/en.yml
+++ b/src/i18n/locale/en.yml
@@ -127,13 +127,12 @@ dashboard:
customer:
pageTitles:
customers: Customers
- create: Create
list: List
webPayments: Web Payments
extendedList: Extended list
notifications: Notifications
defaulter: Defaulter
- createCustomer: Create customer
+ customerCreate: New customer
summary: Summary
basicData: Basic data
fiscalData: Fiscal data
@@ -281,7 +280,7 @@ entry:
notes: Notes
dms: File management
log: Log
- create: Create
+ entryCreate: New entry
latestBuys: Latest buys
list:
newEntry: New entry
@@ -396,7 +395,7 @@ ticket:
pageTitles:
tickets: Tickets
list: List
- createTicket: Create ticket
+ ticketCreate: New ticket
summary: Summary
basicData: Basic Data
boxing: Boxing
@@ -472,7 +471,7 @@ claim:
pageTitles:
claims: Claims
list: List
- createClaim: Create claim
+ claimCreate: New claim
summary: Summary
basicData: Basic Data
lines: Lines
@@ -545,7 +544,7 @@ invoiceOut:
list: List
negativeBases: Negative Bases
globalInvoicing: Global invoicing
- createInvoiceOut: Create invoice out
+ invoiceOutCreate: Create invoice out
summary: Summary
basicData: Basic Data
list:
@@ -618,7 +617,7 @@ shelving:
pageTitles:
shelving: Shelving
shelvingList: Shelving List
- create: Create
+ shelvingCreate: New shelving
summary: Summary
basicData: Basic Data
log: Logs
@@ -651,7 +650,7 @@ invoiceIn:
pageTitles:
invoiceIns: Invoices In
list: List
- createInvoiceIn: Create invoice in
+ invoiceInCreate: Create invoice in
summary: Summary
basicData: Basic data
vat: VAT
@@ -712,7 +711,7 @@ order:
pageTitles:
order: Orders
orderList: List
- create: Create
+ orderCreate: New order
summary: Summary
basicData: Basic Data
catalog: Catalog
@@ -789,6 +788,7 @@ worker:
dms: My documentation
pbx: Private Branch Exchange
log: Log
+ calendar: Calendar
list:
name: Name
email: Email
@@ -905,7 +905,7 @@ route:
routes: Routes
cmrsList: External CMRs list
RouteList: List
- create: Create
+ routeCreate: New route
basicData: Basic Data
summary: Summary
RouteRoadmap: Roadmaps
@@ -932,7 +932,7 @@ supplier:
suppliers: Suppliers
supplier: Supplier
list: List
- create: Create
+ supplierCreate: New supplier
summary: Summary
basicData: Basic data
fiscalData: Fiscal data
@@ -1038,7 +1038,6 @@ travel:
pageTitles:
travel: Travels
list: List
- create: Create
summary: Summary
extraCommunity: Extra community
travelCreate: New travel
@@ -1096,7 +1095,8 @@ item:
list: List
diary: Diary
tags: Tags
- create: Create
+ wasteBreakdown: Waste breakdown
+ itemCreate: New item
descriptor:
item: Item
buyer: Buyer
@@ -1124,6 +1124,13 @@ item:
stemMultiplier: Multiplier
producer: Producer
landed: Landed
+ create:
+ name: Name
+ tag: Tag
+ priority: Priority
+ type: Type
+ intrastat: Intrastat
+ origin: Origin
components:
topbar: {}
userPanel:
@@ -1150,3 +1157,24 @@ components:
VnLv:
copyText: '{copyValue} has been copied to the clipboard'
iban_tooltip: 'IBAN: ES21 1234 5678 90 0123456789'
+weekdays:
+ sun: Sunday
+ mon: Monday
+ tue: Tuesday
+ wed: Wednesday
+ thu: Thursday
+ fri: Friday
+ sat: Saturday
+months:
+ jan: January
+ feb: February
+ mar: March
+ apr: April
+ may: May
+ jun: June
+ jul: July
+ aug: August
+ sep: September
+ oct: October
+ nov: November
+ dec: December
diff --git a/src/i18n/locale/es.yml b/src/i18n/locale/es.yml
index d0de39ebc..cb5876dd3 100644
--- a/src/i18n/locale/es.yml
+++ b/src/i18n/locale/es.yml
@@ -1,1149 +1,1179 @@
globals:
- lang:
- es: Español
- en: Inglés
- language: Idioma
- entity: Entidad
- user: Usuario
- details: Detalles
- collapseMenu: Contraer menú lateral
- backToDashboard: Volver al tablón
- notifications: Notificaciones
- userPanel: Panel de usuario
- modules: Módulos
- pinnedModules: Módulos fijados
- darkMode: Modo oscuro
- logOut: Cerrar sesión
- date: Fecha
- dataSaved: Datos guardados
- dataDeleted: Datos eliminados
- search: Buscar
- changes: Cambios
- dataCreated: Datos creados
- add: Añadir
- create: Crear
- edit: Modificar
- save: Guardar
- remove: Eliminar
- reset: Restaurar
- close: Cerrar
- cancel: Cancelar
- confirm: Confirmar
- assign: Asignar
- back: Volver
- yes: Si
- no: No
- noChanges: Sin cambios que guardar
- changesToSave: Tienes cambios pendientes de guardar
- confirmRemove: Vas a eliminar este registro. ¿Continuar?
- rowAdded: Fila añadida
- rowRemoved: Fila eliminada
- pleaseWait: Por favor espera...
- noPinnedModules: No has fijado ningún módulo
- summary:
- basicData: Datos básicos
- today: Hoy
- yesterday: Ayer
- dateFormat: es-ES
- noSelectedRows: No tienes ninguna línea seleccionada
- microsip: Abrir en MicroSIP
- downloadCSVSuccess: Descarga de CSV exitosa
- reference: Referencia
- agency: Agencia
- wareHouseOut: Alm. salida
- wareHouseIn: Alm. entrada
- landed: F. entrega
- shipped: F. envío
- totalEntries: Ent. totales
- amount: Importe
- packages: Bultos
- download: Descargar
- selectRows: 'Seleccionar las { numberRows } filas(s)'
- allRows: 'Todo { numberRows } filas(s)'
- markAll: Marcar todo
- requiredField: Campo obligatorio
- class: clase
- type: Tipo
- reason: motivo
- noResults: Sin resultados
- system: Sistema
- warehouse: Almacén
- company: Empresa
- fieldRequired: Campo requerido
- allowedFilesText: 'Tipos de archivo permitidos: { allowedContentTypes }'
- smsSent: SMS enviado
- confirmDeletion: Confirmar eliminación
- confirmDeletionMessage: ¿Seguro que quieres eliminar?
- description: Descripción
- id: Id
- order: Orden
- original: Original
- file: Fichero
- selectFile: Seleccione un fichero
- copyClipboard: Copiar en portapapeles
- salesPerson: Comercial
- code: Código
- pageTitles:
- summary: Resumen
- basicData: Datos básicos
- log: Historial
- parkingList: Listado de parkings
- created: Fecha creación
- worker: Trabajador
-errors:
- statusUnauthorized: Acceso denegado
- statusInternalServerError: Ha ocurrido un error interno del servidor
- statusBadGateway: Parece ser que el servidor ha caído
- statusGatewayTimeout: No se ha podido contactar con el servidor
- userConfig: Error al obtener configuración de usuario
- writeRequest: No se pudo completar la operación solicitada
-login:
- title: Inicio de sesión
- username: Nombre de usuario
- password: Contraseña
- submit: Iniciar sesión
- keepLogin: Mantener sesión iniciada
- loginSuccess: Inicio de sesión correcto
- loginError: Nombre de usuario o contraseña incorrectos
- fieldRequired: Este campo es obligatorio
- twoFactorRequired: Verificación de doble factor requerida
- pageTitles:
- logIn: Inicio de sesión
-twoFactor:
- code: Código
- validate: Validar
- insert: Introduce el código de verificación
- explanation: Por favor introduce el código de verificación que te hemos enviado a tu email en los próximos 5 minutos
- pageTitles:
- twoFactor: Doble factor
-verifyEmail:
- pageTitles:
- verifyEmail: Verificación de correo
-dashboard:
- pageTitles:
- dashboard: Tablón
-customer:
- pageTitles:
- customers: Clientes
- create: Crear
- list: Listado
- webPayments: Pagos Web
- extendedList: Listado extendido
- notifications: Notificaciones
- defaulter: Morosos
- createCustomer: Crear cliente
- summary: Resumen
- basicData: Datos básicos
- fiscalData: Datos fiscales
- billingData: Forma de pago
- consignees: Consignatarios
- notes: Notas
- credits: Créditos
- greuges: Greuges
- balance: Balance
- recoveries: Recobros
- webAccess: Acceso web
- log: Historial
- sms: Sms
- creditManagement: Gestión de crédito
- creditContracts: Contratos de crédito
- creditOpinion: Opinión de crédito
- others: Otros
- list:
- phone: Teléfono
- email: Email
- customerOrders: Mostrar órdenes del cliente
- moreOptions: Más opciones
- card:
- customerId: ID cliente
- salesPerson: Comercial
- credit: Crédito
- securedCredit: Crédito asegurado
- payMethod: Método de pago
- debt: Riesgo
- isDisabled: El cliente está desactivado
- isFrozen: El cliente está congelado
- hasDebt: El cliente tiene riesgo
- notChecked: El cliente no está comprobado
- noWebAccess: El acceso web está desactivado
- businessTypeFk: Tipo de negocio
- summary:
- basicData: Datos básicos
- fiscalAddress: Dirección fiscal
- fiscalData: Datos fiscales
- billingData: Datos de facturación
- consignee: Consignatario pred.
- businessData: Datos comerciales
- financialData: Datos financieros
- customerId: ID cliente
- name: Nombre
- contact: Contacto
- phone: Teléfono
- mobile: Móvil
- email: Email
- salesPerson: Comercial
- contactChannel: Canal de contacto
- socialName: Razón social
- fiscalId: NIF/CIF
- postcode: Código postal
- province: Provincia
- country: País
- street: Calle
- isEqualizated: Recargo de equivalencia
- isActive: Activo
- invoiceByAddress: Facturar por consignatario
- verifiedData: Datos verificados
- hasToInvoice: Facturar
- notifyByEmail: Notificar por email
- vies: VIES
- payMethod: Método de pago
- bankAccount: Cuenta bancaria
- dueDay: Día de pago
- hasLcr: Recibido LCR
- hasCoreVnl: Recibido core VNL
- hasB2BVnl: Recibido B2B VNL
- addressName: Nombre de la dirección
- addressCity: Ciudad
- addressStreet: Calle
- username: Usuario
- webAccess: Acceso web
- totalGreuge: Greuge total
- mana: Maná
- priceIncreasingRate: Ratio de incremento de precio
- averageInvoiced: Facturación media
- claimRate: Ratio de reclamaciones
- risk: Riesgo
- riskInfo: Facturas menos recibos mas pedidos sin facturar
- credit: Crédito
- creditInfo: Riesgo máximo asumido por la empresa
- securedCredit: Crédito asegurado
- securedCreditInfo: Riesgo máximo asumido por Solunion
- balance: Balance
- balanceInfo: Facturas menos recibos
- balanceDue: Saldo vencido
- balanceDueInfo: Facturas fuera de plazo menos recibos
- recoverySince: Recobro desde
- businessType: Tipo de negocio
- city: Población
- rating: Clasificación
- recommendCredit: Crédito recomendado
- basicData:
- socialName: Nombre fiscal
- businessType: Tipo de negocio
- contact: Contacto
- email: Email
- phone: Teléfono
- mobile: Móvil
- salesPerson: Comercial
- contactChannel: Canal de contacto
- extendedList:
- tableVisibleColumns:
- id: Identificador
- name: Nombre
- fi: NIF / CIF
- salesPersonFk: Comercial
- credit: Crédito
- creditInsurance: Crédito asegurado
- phone: Teléfono
- mobile: Móvil
- street: Dirección fiscal
- countryFk: País
- provinceFk: Provincia
- city: Población
- postcode: Código postal
- email: Email
- created: Fecha creación
- businessTypeFk: Tipo de negocio
- payMethodFk: Forma de pago
- sageTaxTypeFk: Tipo de impuesto Sage
- sageTransactionTypeFk: Tipo tr. sage
- isActive: Activo
- isVies: Vies
- isTaxDataChecked: Datos comprobados
- isEqualizated: Recargo de equivalencias
- isFreezed: Congelado
- hasToInvoice: Factura
- hasToInvoiceByAddress: Factura por consigna
- isToBeMailed: Env. emails
- hasLcr: Recibido LCR
- hasCoreVnl: Recibido core VNL
- hasSepaVnl: Recibido B2B VNL
-entry:
- pageTitles:
- entries: Entradas
- list: Listado
- summary: Resumen
- basicData: Datos básicos
- buys: Compras
- notes: Notas
- dms: Gestión documental
- log: Historial
- create: Crear
- latestBuys: Últimas compras
- list:
- newEntry: Nueva entrada
- landed: F. entrega
- invoiceNumber: Núm. factura
- supplier: Proveedor
- booked: Asentado
- confirmed: Confirmado
- ordered: Pedida
- summary:
- commission: Comisión
- currency: Moneda
- company: Empresa
- reference: Referencia
- invoiceNumber: Núm. factura
- ordered: Pedida
- confirmed: Confirmada
- booked: Contabilizada
- raid: Redada
- excludedFromAvailable: Inventario
- travelReference: Referencia
- travelAgency: Agencia
- travelShipped: F. envio
- travelWarehouseOut: Alm. salida
- travelDelivered: Enviada
- travelLanded: F. entrega
- travelWarehouseIn: Alm. entrada
- travelReceived: Recibida
- buys: Compras
- quantity: Cantidad
- stickers: Etiquetas
- package: Embalaje
- weight: Peso
- packing: Packing
- grouping: Grouping
- buyingValue: Coste
- import: Importe
- pvp: PVP
- item: Artículo
- basicData:
- supplier: Proveedor
- travel: Envío
- reference: Referencia
- invoiceNumber: Núm. factura
- company: Empresa
- currency: Moneda
- observation: Observación
- commission: Comisión
- ordered: Pedida
- confirmed: Confirmado
- booked: Asentado
- raid: Redada
- excludedFromAvailable: Inventario
- agency: Agencia
- warehouseOut: Alm. salida
- warehouseIn: Alm. entrada
- shipped: F. envío
- landed: F. entrega
- id: ID
- buys:
- groupingPrice: Precio grouping
- packingPrice: Precio packing
- reference: Referencia
- observations: Observaciónes
- item: Artículo
- size: Medida
- packing: Packing
- grouping: Grouping
- buyingValue: Coste
- packagingFk: Embalaje
- file: Fichero
- name: Nombre
- producer: Productor
- type: Tipo
- color: Color
- id: ID
- notes:
- observationType: Tipo de observación
- descriptor:
- agency: Agencia
- landed: F. entrega
- warehouseOut: Alm. salida
- latestBuys:
- picture: Foto
- itemFk: ID Artículo
- packing: Packing
- grouping: Grouping
- quantity: Cantidad
- size: Medida
- tags: Etiquetas
- type: Tipo
- intrastat: Intrastat
- origin: Origen
- weightByPiece: Peso (gramos)/tallo
- isActive: Activo
- family: Familia
- entryFk: Entrada
- buyingValue: Coste
- freightValue: Porte
- comissionValue: Comisión
- packageValue: Embalaje
- isIgnored: Ignorado
- price2: Grouping
- price3: Packing
- minPrice: Min
- ektFk: Ekt
- weight: Peso
- packagingFk: Embalaje
- packingOut: Embalaje envíos
- landing: Llegada
-ticket:
- pageTitles:
- tickets: Tickets
- list: Listado
- createTicket: Crear ticket
- summary: Resumen
- basicData: Datos básicos
- boxing: Encajado
- sms: Sms
- notes: Notas
- list:
- nickname: Alias
- state: Estado
- shipped: Enviado
- landed: Entregado
- salesPerson: Comercial
- total: Total
- card:
- ticketId: ID ticket
- state: Estado
- customerId: ID cliente
- salesPerson: Comercial
- agency: Agencia
- shipped: Enviado
- warehouse: Almacén
- customerCard: Ficha del cliente
- alias: Alias
- boxing:
- expedition: Expedición
- item: Artículo
- created: Creado
- worker: Trabajador
- selectTime: 'Seleccionar hora:'
- selectVideo: 'Seleccionar vídeo:'
- notFound: No hay vídeos disponibles
- summary:
- state: Estado
- salesPerson: Comercial
- agency: Agencia
- zone: Zona
- warehouse: Almacén
- route: Ruta
- invoice: Factura
- shipped: Enviado
- landed: Entregado
- consigneePhone: Tel. consignatario
- consigneeMobile: Móv. consignatario
- clientPhone: Tel. cliente
- clientMobile: Móv. cliente
- consignee: Consignatario
- subtotal: Subtotal
- vat: IVA
- total: Total
- saleLines: Líneas del pedido
- item: Artículo
- visible: Visible
- available: Disponible
- quantity: Cantidad
- price: Precio
- discount: Descuento
- packing: Encajado
- hasComponentLack: Faltan componentes
- itemShortage: No visible
- claim: Reclamación
- reserved: Reservado
- created: Fecha creación
- package: Embalaje
- taxClass: Tipo IVA
- services: Servicios
- changeState: Cambiar estado
- requester: Solicitante
- atender: Comprador
- request: Petición de compra
- weight: Peso
- goTo: Ir a
- summaryAmount: Resumen
-claim:
- pageTitles:
- claims: Reclamaciones
- list: Listado
- createClaim: Crear reclamación
- summary: Resumen
- basicData: Datos básicos
- lines: Líneas
- development: Trazabilidad
- photos: Fotos
- log: Historial
- notes: Notas
- action: Acción
- list:
- customer: Cliente
- assignedTo: Asignada a
- created: Creada
- state: Estado
- rmaList:
- code: Código
- records: registros
- card:
- claimId: ID reclamación
- assignedTo: Asignada a
- created: Creada
- state: Estado
- ticketId: ID ticket
- customerSummary: Resumen del cliente
- claimedTicket: Ticket reclamado
- saleTracking: Líneas preparadas
- ticketTracking: Estados del ticket
- commercial: Comercial
- province: Provincia
- zone: Zona
- customerId: ID del cliente
- summary:
- customer: Cliente
- assignedTo: Asignada a
- attendedBy: Atendida por
- created: Creada
- state: Estado
+ lang:
+ es: Español
+ en: Inglés
+ language: Idioma
+ entity: Entidad
+ user: Usuario
details: Detalles
- item: Artículo
- landed: Entregado
- quantity: Cantidad
- claimed: Reclamado
- price: Precio
- discount: Descuento
- total: Total
- actions: Acciones
- responsibility: Responsabilidad
- company: Empresa
- person: Comercial/Cliente
- notes: Observaciones
- photos: Fotos
- development: Trazabilidad
- reason: Motivo
- result: Consecuencias
- responsible: Responsable
- worker: Trabajador
- redelivery: Devolución
- basicData:
- customer: Cliente
- assignedTo: Asignada a
- created: Creada
- state: Estado
- pickup: Recogida
- null: No
- agency: Agencia
- delivery: Reparto
- photo:
- fileDescription: 'Reclamacion ID {claimId} del cliente {clientName} id {clientId}'
- noData: No hay imágenes/videos haz click aquí o arrastra y suelta el archivo
- dragDrop: Arrástralo y sueltalo aquí
-invoiceOut:
- pageTitles:
- invoiceOuts: Fact. emitidas
- list: Listado
- negativeBases: Bases Negativas
- globalInvoicing: Facturación global
- createInvoiceOut: Crear fact. emitida
- summary: Resumen
- basicData: Datos básicos
- list:
- ref: Referencia
- issued: Fecha emisión
- shortIssued: F. emisión
- client: Cliente
- created: Fecha creación
- shortCreated: F. creación
- company: Empresa
- dued: Fecha vencimineto
- shortDued: F. vencimiento
- amount: Importe
- card:
- issued: Fecha emisión
- client: Cliente
- company: Empresa
- customerCard: Ficha del cliente
- ticketList: Listado de tickets
- summary:
- issued: Fecha
- created: Fecha creación
- dued: Vencimiento
- booked: Contabilizada
- company: Empresa
- taxBreakdown: Desglose impositivo
- type: Tipo
- taxableBase: Base imp.
- rate: Tarifa
- fee: Cuota
- tickets: Tickets
- ticketId: Id ticket
- nickname: Alias
- shipped: F. envío
- totalWithVat: Importe
- globalInvoices:
- errors:
- chooseValidClient: Selecciona un cliente válido
- chooseValidCompany: Selecciona una empresa válida
- chooseValidPrinter: Selecciona una impresora válida
- fillDates: La fecha de la factura y la fecha máxima deben estar completas
- invoiceDateLessThanMaxDate: La fecha de la factura no puede ser menor que la fecha máxima
- invoiceWithFutureDate: Existe una factura con una fecha futura
- noTicketsToInvoice: No existen tickets para facturar
- criticalInvoiceError: Error crítico en la facturación proceso detenido
- table:
- client: Cliente
- addressId: Id dirección
- streetAddress: Dirección fiscal
- statusCard:
- percentageText: '{getPercentage}% {getAddressNumber} de {getNAddresses}'
- pdfsNumberText: '{nPdfs} de {totalPdfs} PDFs'
- negativeBases:
- from: Desde
- to: Hasta
- company: Empresa
- country: País
- clientId: Id cliente
- client: Cliente
- amount: Importe
- base: Base
- ticketId: Id ticket
- active: Activo
- hasToInvoice: Facturar
- verifiedData: Datos comprobados
- comercial: Comercial
- errors:
- downloadCsvFailed: Error al descargar CSV
-order:
- pageTitles:
- order: Cesta
- orderList: Listado
- create: Crear
- summary: Resumen
- basicData: Datos básicos
- catalog: Catálogo
- volume: Volumen
- lines: Líneas
- field:
- salesPersonFk: Comercial
- clientFk: Cliente
- isConfirmed: Confirmada
- created: Creado
- landed: F. entrega
- hour: Hora
- agency: Agencia
- total: Total
- form:
- clientFk: Cliente
- addressFk: Dirección
- landed: F. entrega
- agencyModeFk: Agencia
- list:
- newOrder: Nuevo Pedido
- summary:
- basket: Cesta
- nickname: Alias
- company: Empresa
- confirmed: Confirmada
- notConfirmed: No confirmada
- created: Creado
- landed: F. entrega
- phone: Teléfono
- createdFrom: Creado desde
- address: Dirección
- notes: Notas
- subtotal: Subtotal
- total: Total
- vat: IVA
- state: Estado
- alias: Alias
- items: Items
- orderTicketList: Tickets del pedido
- details: Detalles
- item: Item
- quantity: Cantidad
- price: Precio
- amount: Monto
-shelving:
- pageTitles:
- shelving: Carros
- shelvingList: Listado de carros
- create: Crear
- summary: Resumen
- basicData: Datos básicos
- log: Historial
- list:
- parking: Parking
- priority: Prioridad
- newShelving: Nuevo Carro
- summary:
- code: Código
- parking: Parking
- priority: Prioridad
- worker: Trabajador
- recyclable: Reciclable
- basicData:
- code: Código
- parking: Parking
- priority: Prioridad
- recyclable: Reciclable
-parking:
- pickingOrder: Orden de recogida
- row: Fila
- column: Columna
- pageTitles:
- parking: Parking
- searchBar:
- info: Puedes buscar por código de parking
- label: Buscar parking...
-invoiceIn:
- pageTitles:
- invoiceIns: Fact. recibidas
- list: Listado
- createInvoiceIn: Crear fact. recibida
- summary: Resumen
- basicData: Datos básicos
- vat: IVA
- dueDay: Vencimiento
- intrastat: Intrastat
- corrective: Rectificativa
- log: Historial
- list:
- ref: Referencia
- supplier: Proveedor
- supplierRef: Ref. proveedor
- serialNumber: Num. serie
- shortIssued: F. emisión
- serial: Serie
- file: Fichero
- issued: Fecha emisión
- isBooked: Conciliada
- awb: AWB
- amount: Importe
- card:
- issued: Fecha emisión
- amount: Importe
- client: Cliente
- company: Empresa
- customerCard: Ficha del cliente
- ticketList: Listado de tickets
- vat: Iva
- dueDay: Fecha de vencimiento
- summary:
- supplier: Proveedor
- supplierRef: Ref. proveedor
- currency: Divisa
- docNumber: Número documento
- issued: Fecha de expedición
- operated: Fecha operación
- bookEntried: Fecha asiento
- bookedDate: Fecha contable
- sage: Retención sage
- vat: Iva no deducible
- company: Empresa
- booked: Contabilizada
- expense: Gasto
- taxableBase: Base imp.
- rate: Tasa
- sageTransaction: Sage transación
- dueDay: Fecha
- bank: Caja
- amount: Importe
- foreignValue: Divisa
- dueTotal: Vencimiento
- code: Código
- net: Neto
- stems: Tallos
- country: País
-department:
- pageTitles:
- basicData: Basic data
- department: Departamentos
- summary: Resumen
- name: Nombre
- code: Código
- chat: Chat
- bossDepartment: Jefe de departamento
- email: Email
- selfConsumptionCustomer: Cliente autoconsumo
- telework: Teletrabaja
- notifyOnErrors: Notificar errores
- worksInProduction: Pertenece a producción
- hasToRefill: Completar días sin registros físicos
- hasToSendMail: Enviar fichadas por mail
- departmentRemoved: Departamento eliminado
-worker:
- pageTitles:
- workers: Trabajadores
- list: Listado
- basicData: Datos básicos
- summary: Resumen
+ collapseMenu: Contraer menú lateral
+ backToDashboard: Volver al tablón
notifications: Notificaciones
- workerCreate: Nuevo trabajador
- department: Departamentos
- pda: PDA
- notes: Notas
- dms: Mi documentación
- pbx: Centralita
- log: Historial
- list:
- name: Nombre
- email: Email
- phone: Teléfono
- mobile: Móvil
- active: Activo
- department: Departamento
- schedule: Horario
- newWorker: Nuevo trabajador
- card:
- workerId: ID Trabajador
- name: Nombre
- email: Email
- phone: Teléfono
- mobile: Móvil
- active: Activo
- warehouse: Almacén
- agency: Empresa
- salesPerson: Comercial
- summary:
- basicData: Datos básicos
- boss: Jefe
- phoneExtension: Extensión de teléfono
- entPhone: Teléfono de empresa
- personalPhone: Teléfono personal
- noBoss: Sin jefe
- userData: Datos de usuario
- userId: ID del usuario
- role: Rol
- sipExtension: Extensión
- locker: Taquilla
- notificationsManager:
- activeNotifications: Notificaciones activas
- availableNotifications: Notificaciones disponibles
- subscribed: Se ha suscrito a la notificación
- unsubscribed: Se ha dado de baja de la notificación
- pda:
- newPDA: Nueva PDA
- currentPDA: PDA Actual
- model: Modelo
- serialNumber: Número de serie
- removePDA: Desasignar PDA
- create:
- name: Nombre
- lastName: Apellido
- birth: Fecha de nacimiento
- fi: DNI/NIF/NIE
- code: Código de trabajador
- phone: Teléfono
- postcode: Código postal
- province: Provincia
- city: Población
- street: Dirección
- webUser: Usuario Web
- personalEmail: Correo personal
- company: Empresa
- boss: Jefe
- payMethods: Método de pago
- iban: IBAN
- bankEntity: Swift / BIC
- imageNotFound: No se ha encontrado la imagen
-wagon:
- pageTitles:
- wagons: Vagones
- wagonsList: Listado vagones
- wagonCreate: Crear tipo
- wagonEdit: Editar tipo
- typesList: Listado tipos
- typeCreate: Crear tipo
- typeEdit: Editar tipo
- wagonCounter: Contador de carros
- type:
- name: Nombre
- submit: Guardar
- reset: Deshacer cambios
- trayColor: Color de la bandeja
- removeItem: Tipo de vagón borrado correctamente
- list:
- plate: Matrícula
- volume: Volumen
- type: Tipo
- remove: Borrar
- removeItem: Vagón borrado correctamente
- create:
- plate: Matrícula
- volume: Volumen
- type: Tipo
- label: Etiqueta
- warnings:
- noData: Sin datos disponibles
- nameNotEmpty: El nombre no puede estar vacío
- labelNotEmpty: La etiqueta no puede estar vacía
- plateNotEmpty: La matrícula no puede estar vacía
- volumeNotEmpty: El volumen no puede estar vacío
- typeNotEmpty: El tipo no puede estar vacío
- maxTrays: Has alcanzado el número máximo de bandejas
- minHeightBetweenTrays: 'La distancia mínima entre bandejas es '
- maxWagonHeight: 'La altura máxima del vagón es '
- uncompleteTrays: Hay bandejas sin completar
-route/roadmap:
- pageTitles:
- roadmap: Troncales
- summary: Resumen
- basicData: Datos básicos
- stops: Paradas
-roadmap:
- pageTitles:
- roadmap: Troncales
- summary: Resumen
- basicData: Datos básicos
- stops: Paradas
-route:
- pageTitles:
- routes: Rutas
- cmrsList: Listado de CMRs externos
- RouteList: Listado
- create: Crear
- basicData: Datos básicos
- summary: Resumen
- RouteRoadmap: Troncales
- RouteRoadmapCreate: Crear troncal
- tickets: Tickets
- log: Historial
- autonomous: Autónomos
- cmr:
- list:
- results: resultados
- cmrFk: Id CMR
- hasCmrDms: Adjuntado en gestdoc
- 'true': Sí
- 'false': 'No'
- ticketFk: Id ticket
- routeFk: Id ruta
- country: País
- clientFk: Id cliente
- shipped: Fecha preparación
- viewCmr: Ver CMR
- downloadCmrs: Descargar CMRs
-supplier:
- pageTitles:
- suppliers: Proveedores
- supplier: Proveedor
- list: Listado
- create: Crear
- summary: Resumen
- basicData: Datos básicos
- fiscalData: Datos fiscales
- billingData: Forma de pago
- log: Historial
- accounts: Cuentas
- contacts: Contactos
- addresses: Direcciones
- consumption: Consumo
- agencyTerm: Acuerdo agencia
- dms: Gestión documental
- list:
- payMethod: Método de pago
- payDeadline: Plazo de pago
- payDay: Día de pago
- account: Cuenta
- newSupplier: Nuevo proveedor
- summary:
- responsible: Responsable
- notes: Notas
- verified: Verificado
- isActive: Está activo
- billingData: Forma de pago
- payMethod: Método de pago
- payDeadline: Plazo de pago
- payDay: Día de pago
- account: Cuenta
- fiscalData: Datos fiscales
- sageTaxType: Tipo de impuesto Sage
- sageTransactionType: Tipo de transacción Sage
- sageWithholding: Retención sage
- supplierActivity: Actividad proveedor
- healthRegister: Pasaporte sanitario
- fiscalAddress: Dirección fiscal
- socialName: Razón social
- taxNumber: NIF/CIF
- street: Dirección
- city: Población
- postCode: Código postal
- province: Provincia
- country: País
- create:
- supplierName: Nombre del proveedor
- basicData:
- alias: Alias
- workerFk: Responsable
- isSerious: Verificado
- isActive: Activo
- isPayMethodChecked: Método de pago validado
- note: Notas
- fiscalData:
- name: Razón social *
- nif: NIF/CIF *
- account: Cuenta
- sageTaxTypeFk: Tipo de impuesto sage
- sageWithholdingFk: Retención sage
- sageTransactionTypeFk: Tipo de transacción sage
- supplierActivityFk: Actividad proveedor
- healthRegister: Pasaporte sanitario
- street: Calle
- postcode: Código postal
- city: Población *
- provinceFk: Provincia
- country: País
- isTrucker: Transportista
- isVies: Vies
- billingData:
- payMethodFk: Forma de pago
- payDemFk: Plazo de pago
- payDay: Día de pago
- accounts:
- iban: Iban
- bankEntity: Entidad bancaria
- beneficiary: Beneficiario
- contacts:
- name: Nombre
- phone: Teléfono
- mobile: Móvil
- email: Email
- observation: Notas
- addresses:
- street: Dirección
- postcode: Código postal
- phone: Teléfono
- name: Nombre
- city: Población
- province: Provincia
- mobile: Móvil
- agencyTerms:
- agencyFk: Agencia
- minimumM3: M3 mínimos
- packagePrice: Precio bulto
- kmPrice: Precio Km
- m3Price: Precio M3
- routePrice: Precio ruta
- minimumKm: Km mínimos
- addRow: Añadir fila
- consumption:
- entry: Entrada
- date: Fecha
- reference: Referencia
-travel:
- pageTitles:
- travel: Envíos
- list: Listado
- create: Crear
- summary: Resumen
- extraCommunity: Extra comunitarios
- travelCreate: Nuevo envío
- basicData: Datos básicos
- history: Historial
- thermographs: Termógrafos
- summary:
- confirmed: Confirmado
- entryId: Id entrada
- freight: Porte
- package: Embalaje
- delivered: Enviada
- received: Recibida
- entries: Entradas
- cloneShipping: Clonar envío
- CloneTravelAndEntries: Clonar travel y sus entradas
- deleteTravel: Eliminar envío
- AddEntry: Añadir entrada
- thermographs: Termógrafos
- hb: HB
- variables:
- search: Id/Referencia
- agencyModeFk: Agencia
- warehouseInFk: Alm. entrada
- warehouseOutFk: ' Alm. salida'
- landedFrom: Llegada desde
- landedTo: Llegada hasta
- continent: Cont. Salida
- totalEntries: Ent. totales
- basicData:
- reference: Referencia
- agency: Agencia
- shipped: F. Envío
- landed: F. entrega
- warehouseOut: Alm. salida
- warehouseIn: Alm. entrada
- delivered: Enviada
- received: Recibida
- thermographs:
- code: Código
- temperature: Temperatura
- state: Estado
- destination: Destino
- created: Fecha creación
- thermograph: Termógrafo
- reference: Referencia
- type: Tipo
- company: Empresa
- warehouse: Almacén
- travelFileDescription: 'Id envío { travelId }'
- file: Fichero
-item:
- pageTitles:
- items: Artículos
- list: Listado
- diary: Histórico
- tags: Etiquetas
- create: Crear
- descriptor:
- item: Artículo
- buyer: Comprador
- color: Color
- category: Categoría
- stems: Tallos
- visible: Visible
- available: Disponible
- warehouseText: 'Calculado sobre el almacén de { warehouseName }'
- itemDiary: Registro de compra-venta
- list:
- id: Identificador
- grouping: Grouping
- packing: Packing
- description: Descripción
- stems: Tallos
- category: Reino
- typeName: Tipo
- intrastat: Intrastat
- isActive: Activo
- size: Medida
- origin: Origen
- weightByPiece: Peso (gramos)/tallo
- userName: Comprador
- stemMultiplier: Multiplicador
- producer: Productor
- landed: F. entrega
-components:
- topbar: {}
- userPanel:
- copyToken: Token copiado al portapapeles
- settings: Configuración
+ userPanel: Panel de usuario
+ modules: Módulos
+ pinnedModules: Módulos fijados
+ darkMode: Modo oscuro
logOut: Cerrar sesión
- localWarehouse: Almacén local
- localBank: Banco local
- localCompany: Empresa local
- userWarehouse: Almacén del usuario
- userCompany: Empresa del usuario
- smartCard:
- downloadFile: Descargar archivo
- clone: Clonar
- openCard: Ficha
- openSummary: Detalles
- cardDescriptor:
- mainList: Listado principal
- summary: Resumen
- moreOptions: 'Más opciones'
- leftMenu:
- addToPinned: Añadir a fijados
- removeFromPinned: Eliminar de fijados
- VnLv:
- copyText: '{copyValue} se ha copiado al portapepeles'
- iban_tooltip: 'IBAN: ES21 1234 5678 90 0123456789'
+ date: Fecha
+ dataSaved: Datos guardados
+ dataDeleted: Datos eliminados
+ search: Buscar
+ changes: Cambios
+ dataCreated: Datos creados
+ add: Añadir
+ create: Crear
+ edit: Modificar
+ save: Guardar
+ remove: Eliminar
+ reset: Restaurar
+ close: Cerrar
+ cancel: Cancelar
+ confirm: Confirmar
+ assign: Asignar
+ back: Volver
+ yes: Si
+ no: No
+ noChanges: Sin cambios que guardar
+ changesToSave: Tienes cambios pendientes de guardar
+ confirmRemove: Vas a eliminar este registro. ¿Continuar?
+ rowAdded: Fila añadida
+ rowRemoved: Fila eliminada
+ pleaseWait: Por favor espera...
+ noPinnedModules: No has fijado ningún módulo
+ summary:
+ basicData: Datos básicos
+ today: Hoy
+ yesterday: Ayer
+ dateFormat: es-ES
+ noSelectedRows: No tienes ninguna línea seleccionada
+ microsip: Abrir en MicroSIP
+ downloadCSVSuccess: Descarga de CSV exitosa
+ reference: Referencia
+ agency: Agencia
+ wareHouseOut: Alm. salida
+ wareHouseIn: Alm. entrada
+ landed: F. entrega
+ shipped: F. envío
+ totalEntries: Ent. totales
+ amount: Importe
+ packages: Bultos
+ download: Descargar
+ selectRows: 'Seleccionar las { numberRows } filas(s)'
+ allRows: 'Todo { numberRows } filas(s)'
+ markAll: Marcar todo
+ requiredField: Campo obligatorio
+ class: clase
+ type: Tipo
+ reason: motivo
+ noResults: Sin resultados
+ system: Sistema
+ warehouse: Almacén
+ company: Empresa
+ fieldRequired: Campo requerido
+ allowedFilesText: 'Tipos de archivo permitidos: { allowedContentTypes }'
+ smsSent: SMS enviado
+ confirmDeletion: Confirmar eliminación
+ confirmDeletionMessage: ¿Seguro que quieres eliminar?
+ description: Descripción
+ id: Id
+ order: Orden
+ original: Original
+ file: Fichero
+ selectFile: Seleccione un fichero
+ copyClipboard: Copiar en portapapeles
+ salesPerson: Comercial
+ code: Código
+ pageTitles:
+ summary: Resumen
+ basicData: Datos básicos
+ log: Historial
+ parkingList: Listado de parkings
+ created: Fecha creación
+ worker: Trabajador
+errors:
+ statusUnauthorized: Acceso denegado
+ statusInternalServerError: Ha ocurrido un error interno del servidor
+ statusBadGateway: Parece ser que el servidor ha caído
+ statusGatewayTimeout: No se ha podido contactar con el servidor
+ userConfig: Error al obtener configuración de usuario
+ writeRequest: No se pudo completar la operación solicitada
+login:
+ title: Inicio de sesión
+ username: Nombre de usuario
+ password: Contraseña
+ submit: Iniciar sesión
+ keepLogin: Mantener sesión iniciada
+ loginSuccess: Inicio de sesión correcto
+ loginError: Nombre de usuario o contraseña incorrectos
+ fieldRequired: Este campo es obligatorio
+ twoFactorRequired: Verificación de doble factor requerida
+ pageTitles:
+ logIn: Inicio de sesión
+twoFactor:
+ code: Código
+ validate: Validar
+ insert: Introduce el código de verificación
+ explanation: Por favor introduce el código de verificación que te hemos enviado a tu email en los próximos 5 minutos
+ pageTitles:
+ twoFactor: Doble factor
+verifyEmail:
+ pageTitles:
+ verifyEmail: Verificación de correo
+dashboard:
+ pageTitles:
+ dashboard: Tablón
+customer:
+ pageTitles:
+ customers: Clientes
+ customerCreate: Nuevo cliente
+ list: Listado
+ webPayments: Pagos Web
+ extendedList: Listado extendido
+ notifications: Notificaciones
+ defaulter: Morosos
+ createCustomer: Crear cliente
+ summary: Resumen
+ basicData: Datos básicos
+ fiscalData: Datos fiscales
+ billingData: Forma de pago
+ consignees: Consignatarios
+ notes: Notas
+ credits: Créditos
+ greuges: Greuges
+ balance: Balance
+ recoveries: Recobros
+ webAccess: Acceso web
+ log: Historial
+ sms: Sms
+ creditManagement: Gestión de crédito
+ creditContracts: Contratos de crédito
+ creditOpinion: Opinión de crédito
+ others: Otros
+ list:
+ phone: Teléfono
+ email: Email
+ customerOrders: Mostrar órdenes del cliente
+ moreOptions: Más opciones
+ card:
+ customerId: ID cliente
+ salesPerson: Comercial
+ credit: Crédito
+ securedCredit: Crédito asegurado
+ payMethod: Método de pago
+ debt: Riesgo
+ isDisabled: El cliente está desactivado
+ isFrozen: El cliente está congelado
+ hasDebt: El cliente tiene riesgo
+ notChecked: El cliente no está comprobado
+ noWebAccess: El acceso web está desactivado
+ businessTypeFk: Tipo de negocio
+ summary:
+ basicData: Datos básicos
+ fiscalAddress: Dirección fiscal
+ fiscalData: Datos fiscales
+ billingData: Datos de facturación
+ consignee: Consignatario pred.
+ businessData: Datos comerciales
+ financialData: Datos financieros
+ customerId: ID cliente
+ name: Nombre
+ contact: Contacto
+ phone: Teléfono
+ mobile: Móvil
+ email: Email
+ salesPerson: Comercial
+ contactChannel: Canal de contacto
+ socialName: Razón social
+ fiscalId: NIF/CIF
+ postcode: Código postal
+ province: Provincia
+ country: País
+ street: Calle
+ isEqualizated: Recargo de equivalencia
+ isActive: Activo
+ invoiceByAddress: Facturar por consignatario
+ verifiedData: Datos verificados
+ hasToInvoice: Facturar
+ notifyByEmail: Notificar por email
+ vies: VIES
+ payMethod: Método de pago
+ bankAccount: Cuenta bancaria
+ dueDay: Día de pago
+ hasLcr: Recibido LCR
+ hasCoreVnl: Recibido core VNL
+ hasB2BVnl: Recibido B2B VNL
+ addressName: Nombre de la dirección
+ addressCity: Ciudad
+ addressStreet: Calle
+ username: Usuario
+ webAccess: Acceso web
+ totalGreuge: Greuge total
+ mana: Maná
+ priceIncreasingRate: Ratio de incremento de precio
+ averageInvoiced: Facturación media
+ claimRate: Ratio de reclamaciones
+ risk: Riesgo
+ riskInfo: Facturas menos recibos mas pedidos sin facturar
+ credit: Crédito
+ creditInfo: Riesgo máximo asumido por la empresa
+ securedCredit: Crédito asegurado
+ securedCreditInfo: Riesgo máximo asumido por Solunion
+ balance: Balance
+ balanceInfo: Facturas menos recibos
+ balanceDue: Saldo vencido
+ balanceDueInfo: Facturas fuera de plazo menos recibos
+ recoverySince: Recobro desde
+ businessType: Tipo de negocio
+ city: Población
+ rating: Clasificación
+ recommendCredit: Crédito recomendado
+ basicData:
+ socialName: Nombre fiscal
+ businessType: Tipo de negocio
+ contact: Contacto
+ email: Email
+ phone: Teléfono
+ mobile: Móvil
+ salesPerson: Comercial
+ contactChannel: Canal de contacto
+ extendedList:
+ tableVisibleColumns:
+ id: Identificador
+ name: Nombre
+ fi: NIF / CIF
+ salesPersonFk: Comercial
+ credit: Crédito
+ creditInsurance: Crédito asegurado
+ phone: Teléfono
+ mobile: Móvil
+ street: Dirección fiscal
+ countryFk: País
+ provinceFk: Provincia
+ city: Población
+ postcode: Código postal
+ email: Email
+ created: Fecha creación
+ businessTypeFk: Tipo de negocio
+ payMethodFk: Forma de pago
+ sageTaxTypeFk: Tipo de impuesto Sage
+ sageTransactionTypeFk: Tipo tr. sage
+ isActive: Activo
+ isVies: Vies
+ isTaxDataChecked: Datos comprobados
+ isEqualizated: Recargo de equivalencias
+ isFreezed: Congelado
+ hasToInvoice: Factura
+ hasToInvoiceByAddress: Factura por consigna
+ isToBeMailed: Env. emails
+ hasLcr: Recibido LCR
+ hasCoreVnl: Recibido core VNL
+ hasSepaVnl: Recibido B2B VNL
+entry:
+ pageTitles:
+ entries: Entradas
+ list: Listado
+ summary: Resumen
+ basicData: Datos básicos
+ buys: Compras
+ notes: Notas
+ dms: Gestión documental
+ log: Historial
+ entryCreate: Nueva entrada
+ latestBuys: Últimas compras
+ list:
+ newEntry: Nueva entrada
+ landed: F. entrega
+ invoiceNumber: Núm. factura
+ supplier: Proveedor
+ booked: Asentado
+ confirmed: Confirmado
+ ordered: Pedida
+ summary:
+ commission: Comisión
+ currency: Moneda
+ company: Empresa
+ reference: Referencia
+ invoiceNumber: Núm. factura
+ ordered: Pedida
+ confirmed: Confirmada
+ booked: Contabilizada
+ raid: Redada
+ excludedFromAvailable: Inventario
+ travelReference: Referencia
+ travelAgency: Agencia
+ travelShipped: F. envio
+ travelWarehouseOut: Alm. salida
+ travelDelivered: Enviada
+ travelLanded: F. entrega
+ travelWarehouseIn: Alm. entrada
+ travelReceived: Recibida
+ buys: Compras
+ quantity: Cantidad
+ stickers: Etiquetas
+ package: Embalaje
+ weight: Peso
+ packing: Packing
+ grouping: Grouping
+ buyingValue: Coste
+ import: Importe
+ pvp: PVP
+ item: Artículo
+ basicData:
+ supplier: Proveedor
+ travel: Envío
+ reference: Referencia
+ invoiceNumber: Núm. factura
+ company: Empresa
+ currency: Moneda
+ observation: Observación
+ commission: Comisión
+ ordered: Pedida
+ confirmed: Confirmado
+ booked: Asentado
+ raid: Redada
+ excludedFromAvailable: Inventario
+ agency: Agencia
+ warehouseOut: Alm. salida
+ warehouseIn: Alm. entrada
+ shipped: F. envío
+ landed: F. entrega
+ id: ID
+ buys:
+ groupingPrice: Precio grouping
+ packingPrice: Precio packing
+ reference: Referencia
+ observations: Observaciónes
+ item: Artículo
+ size: Medida
+ packing: Packing
+ grouping: Grouping
+ buyingValue: Coste
+ packagingFk: Embalaje
+ file: Fichero
+ name: Nombre
+ producer: Productor
+ type: Tipo
+ color: Color
+ id: ID
+ notes:
+ observationType: Tipo de observación
+ descriptor:
+ agency: Agencia
+ landed: F. entrega
+ warehouseOut: Alm. salida
+ latestBuys:
+ picture: Foto
+ itemFk: ID Artículo
+ packing: Packing
+ grouping: Grouping
+ quantity: Cantidad
+ size: Medida
+ tags: Etiquetas
+ type: Tipo
+ intrastat: Intrastat
+ origin: Origen
+ weightByPiece: Peso (gramos)/tallo
+ isActive: Activo
+ family: Familia
+ entryFk: Entrada
+ buyingValue: Coste
+ freightValue: Porte
+ comissionValue: Comisión
+ packageValue: Embalaje
+ isIgnored: Ignorado
+ price2: Grouping
+ price3: Packing
+ minPrice: Min
+ ektFk: Ekt
+ weight: Peso
+ packagingFk: Embalaje
+ packingOut: Embalaje envíos
+ landing: Llegada
+ticket:
+ pageTitles:
+ tickets: Tickets
+ list: Listado
+ ticketCreate: Nuevo ticket
+ summary: Resumen
+ basicData: Datos básicos
+ boxing: Encajado
+ sms: Sms
+ notes: Notas
+ list:
+ nickname: Alias
+ state: Estado
+ shipped: Enviado
+ landed: Entregado
+ salesPerson: Comercial
+ total: Total
+ card:
+ ticketId: ID ticket
+ state: Estado
+ customerId: ID cliente
+ salesPerson: Comercial
+ agency: Agencia
+ shipped: Enviado
+ warehouse: Almacén
+ customerCard: Ficha del cliente
+ alias: Alias
+ boxing:
+ expedition: Expedición
+ item: Artículo
+ created: Creado
+ worker: Trabajador
+ selectTime: 'Seleccionar hora:'
+ selectVideo: 'Seleccionar vídeo:'
+ notFound: No hay vídeos disponibles
+ summary:
+ state: Estado
+ salesPerson: Comercial
+ agency: Agencia
+ zone: Zona
+ warehouse: Almacén
+ route: Ruta
+ invoice: Factura
+ shipped: Enviado
+ landed: Entregado
+ consigneePhone: Tel. consignatario
+ consigneeMobile: Móv. consignatario
+ clientPhone: Tel. cliente
+ clientMobile: Móv. cliente
+ consignee: Consignatario
+ subtotal: Subtotal
+ vat: IVA
+ total: Total
+ saleLines: Líneas del pedido
+ item: Artículo
+ visible: Visible
+ available: Disponible
+ quantity: Cantidad
+ price: Precio
+ discount: Descuento
+ packing: Encajado
+ hasComponentLack: Faltan componentes
+ itemShortage: No visible
+ claim: Reclamación
+ reserved: Reservado
+ created: Fecha creación
+ package: Embalaje
+ taxClass: Tipo IVA
+ services: Servicios
+ changeState: Cambiar estado
+ requester: Solicitante
+ atender: Comprador
+ request: Petición de compra
+ weight: Peso
+ goTo: Ir a
+ summaryAmount: Resumen
+claim:
+ pageTitles:
+ claims: Reclamaciones
+ list: Listado
+ claimCreate: Crear reclamación
+ summary: Resumen
+ basicData: Datos básicos
+ lines: Líneas
+ development: Trazabilidad
+ photos: Fotos
+ log: Historial
+ notes: Notas
+ action: Acción
+ list:
+ customer: Cliente
+ assignedTo: Asignada a
+ created: Creada
+ state: Estado
+ rmaList:
+ code: Código
+ records: registros
+ card:
+ claimId: ID reclamación
+ assignedTo: Asignada a
+ created: Creada
+ state: Estado
+ ticketId: ID ticket
+ customerSummary: Resumen del cliente
+ claimedTicket: Ticket reclamado
+ saleTracking: Líneas preparadas
+ ticketTracking: Estados del ticket
+ commercial: Comercial
+ province: Provincia
+ zone: Zona
+ customerId: ID del cliente
+ summary:
+ customer: Cliente
+ assignedTo: Asignada a
+ attendedBy: Atendida por
+ created: Creada
+ state: Estado
+ details: Detalles
+ item: Artículo
+ landed: Entregado
+ quantity: Cantidad
+ claimed: Reclamado
+ price: Precio
+ discount: Descuento
+ total: Total
+ actions: Acciones
+ responsibility: Responsabilidad
+ company: Empresa
+ person: Comercial/Cliente
+ notes: Observaciones
+ photos: Fotos
+ development: Trazabilidad
+ reason: Motivo
+ result: Consecuencias
+ responsible: Responsable
+ worker: Trabajador
+ redelivery: Devolución
+ basicData:
+ customer: Cliente
+ assignedTo: Asignada a
+ created: Creada
+ state: Estado
+ pickup: Recogida
+ null: No
+ agency: Agencia
+ delivery: Reparto
+ photo:
+ fileDescription: 'Reclamacion ID {claimId} del cliente {clientName} id {clientId}'
+ noData: No hay imágenes/videos haz click aquí o arrastra y suelta el archivo
+ dragDrop: Arrástralo y sueltalo aquí
+invoiceOut:
+ pageTitles:
+ invoiceOuts: Fact. emitidas
+ list: Listado
+ negativeBases: Bases Negativas
+ globalInvoicing: Facturación global
+ invoiceOutCreate: Crear fact. emitida
+ summary: Resumen
+ basicData: Datos básicos
+ list:
+ ref: Referencia
+ issued: Fecha emisión
+ shortIssued: F. emisión
+ client: Cliente
+ created: Fecha creación
+ shortCreated: F. creación
+ company: Empresa
+ dued: Fecha vencimineto
+ shortDued: F. vencimiento
+ amount: Importe
+ card:
+ issued: Fecha emisión
+ client: Cliente
+ company: Empresa
+ customerCard: Ficha del cliente
+ ticketList: Listado de tickets
+ summary:
+ issued: Fecha
+ created: Fecha creación
+ dued: Vencimiento
+ booked: Contabilizada
+ company: Empresa
+ taxBreakdown: Desglose impositivo
+ type: Tipo
+ taxableBase: Base imp.
+ rate: Tarifa
+ fee: Cuota
+ tickets: Tickets
+ ticketId: Id ticket
+ nickname: Alias
+ shipped: F. envío
+ totalWithVat: Importe
+ globalInvoices:
+ errors:
+ chooseValidClient: Selecciona un cliente válido
+ chooseValidCompany: Selecciona una empresa válida
+ chooseValidPrinter: Selecciona una impresora válida
+ fillDates: La fecha de la factura y la fecha máxima deben estar completas
+ invoiceDateLessThanMaxDate: La fecha de la factura no puede ser menor que la fecha máxima
+ invoiceWithFutureDate: Existe una factura con una fecha futura
+ noTicketsToInvoice: No existen tickets para facturar
+ criticalInvoiceError: Error crítico en la facturación proceso detenido
+ table:
+ client: Cliente
+ addressId: Id dirección
+ streetAddress: Dirección fiscal
+ statusCard:
+ percentageText: '{getPercentage}% {getAddressNumber} de {getNAddresses}'
+ pdfsNumberText: '{nPdfs} de {totalPdfs} PDFs'
+ negativeBases:
+ from: Desde
+ to: Hasta
+ company: Empresa
+ country: País
+ clientId: Id cliente
+ client: Cliente
+ amount: Importe
+ base: Base
+ ticketId: Id ticket
+ active: Activo
+ hasToInvoice: Facturar
+ verifiedData: Datos comprobados
+ comercial: Comercial
+ errors:
+ downloadCsvFailed: Error al descargar CSV
+order:
+ pageTitles:
+ order: Cesta
+ orderList: Listado
+ orderCreate: Nueva orden
+ summary: Resumen
+ basicData: Datos básicos
+ catalog: Catálogo
+ volume: Volumen
+ lines: Líneas
+ field:
+ salesPersonFk: Comercial
+ clientFk: Cliente
+ isConfirmed: Confirmada
+ created: Creado
+ landed: F. entrega
+ hour: Hora
+ agency: Agencia
+ total: Total
+ form:
+ clientFk: Cliente
+ addressFk: Dirección
+ landed: F. entrega
+ agencyModeFk: Agencia
+ list:
+ newOrder: Nuevo Pedido
+ summary:
+ basket: Cesta
+ nickname: Alias
+ company: Empresa
+ confirmed: Confirmada
+ notConfirmed: No confirmada
+ created: Creado
+ landed: F. entrega
+ phone: Teléfono
+ createdFrom: Creado desde
+ address: Dirección
+ notes: Notas
+ subtotal: Subtotal
+ total: Total
+ vat: IVA
+ state: Estado
+ alias: Alias
+ items: Items
+ orderTicketList: Tickets del pedido
+ details: Detalles
+ item: Item
+ quantity: Cantidad
+ price: Precio
+ amount: Monto
+shelving:
+ pageTitles:
+ shelving: Carros
+ shelvingList: Listado de carros
+ shelvingCreate: Nuevo carro
+ summary: Resumen
+ basicData: Datos básicos
+ log: Historial
+ list:
+ parking: Parking
+ priority: Prioridad
+ newShelving: Nuevo Carro
+ summary:
+ code: Código
+ parking: Parking
+ priority: Prioridad
+ worker: Trabajador
+ recyclable: Reciclable
+ basicData:
+ code: Código
+ parking: Parking
+ priority: Prioridad
+ recyclable: Reciclable
+parking:
+ pickingOrder: Orden de recogida
+ row: Fila
+ column: Columna
+ pageTitles:
+ parking: Parking
+ searchBar:
+ info: Puedes buscar por código de parking
+ label: Buscar parking...
+invoiceIn:
+ pageTitles:
+ invoiceIns: Fact. recibidas
+ list: Listado
+ invoiceInCreate: Crear fact. recibida
+ summary: Resumen
+ basicData: Datos básicos
+ vat: IVA
+ dueDay: Vencimiento
+ intrastat: Intrastat
+ corrective: Rectificativa
+ log: Historial
+ list:
+ ref: Referencia
+ supplier: Proveedor
+ supplierRef: Ref. proveedor
+ serialNumber: Num. serie
+ shortIssued: F. emisión
+ serial: Serie
+ file: Fichero
+ issued: Fecha emisión
+ isBooked: Conciliada
+ awb: AWB
+ amount: Importe
+ card:
+ issued: Fecha emisión
+ amount: Importe
+ client: Cliente
+ company: Empresa
+ customerCard: Ficha del cliente
+ ticketList: Listado de tickets
+ vat: Iva
+ dueDay: Fecha de vencimiento
+ summary:
+ supplier: Proveedor
+ supplierRef: Ref. proveedor
+ currency: Divisa
+ docNumber: Número documento
+ issued: Fecha de expedición
+ operated: Fecha operación
+ bookEntried: Fecha asiento
+ bookedDate: Fecha contable
+ sage: Retención sage
+ vat: Iva no deducible
+ company: Empresa
+ booked: Contabilizada
+ expense: Gasto
+ taxableBase: Base imp.
+ rate: Tasa
+ sageTransaction: Sage transación
+ dueDay: Fecha
+ bank: Caja
+ amount: Importe
+ foreignValue: Divisa
+ dueTotal: Vencimiento
+ code: Código
+ net: Neto
+ stems: Tallos
+ country: País
+department:
+ pageTitles:
+ basicData: Basic data
+ department: Departamentos
+ summary: Resumen
+ name: Nombre
+ code: Código
+ chat: Chat
+ bossDepartment: Jefe de departamento
+ email: Email
+ selfConsumptionCustomer: Cliente autoconsumo
+ telework: Teletrabaja
+ notifyOnErrors: Notificar errores
+ worksInProduction: Pertenece a producción
+ hasToRefill: Completar días sin registros físicos
+ hasToSendMail: Enviar fichadas por mail
+ departmentRemoved: Departamento eliminado
+worker:
+ pageTitles:
+ workers: Trabajadores
+ list: Listado
+ basicData: Datos básicos
+ summary: Resumen
+ notifications: Notificaciones
+ workerCreate: Nuevo trabajador
+ department: Departamentos
+ pda: PDA
+ notes: Notas
+ dms: Mi documentación
+ pbx: Centralita
+ log: Historial
+ calendar: Calendario
+ list:
+ name: Nombre
+ email: Email
+ phone: Teléfono
+ mobile: Móvil
+ active: Activo
+ department: Departamento
+ schedule: Horario
+ newWorker: Nuevo trabajador
+ card:
+ workerId: ID Trabajador
+ name: Nombre
+ email: Email
+ phone: Teléfono
+ mobile: Móvil
+ active: Activo
+ warehouse: Almacén
+ agency: Empresa
+ salesPerson: Comercial
+ summary:
+ basicData: Datos básicos
+ boss: Jefe
+ phoneExtension: Extensión de teléfono
+ entPhone: Teléfono de empresa
+ personalPhone: Teléfono personal
+ noBoss: Sin jefe
+ userData: Datos de usuario
+ userId: ID del usuario
+ role: Rol
+ sipExtension: Extensión
+ locker: Taquilla
+ notificationsManager:
+ activeNotifications: Notificaciones activas
+ availableNotifications: Notificaciones disponibles
+ subscribed: Se ha suscrito a la notificación
+ unsubscribed: Se ha dado de baja de la notificación
+ pda:
+ newPDA: Nueva PDA
+ currentPDA: PDA Actual
+ model: Modelo
+ serialNumber: Número de serie
+ removePDA: Desasignar PDA
+ create:
+ name: Nombre
+ lastName: Apellido
+ birth: Fecha de nacimiento
+ fi: DNI/NIF/NIE
+ code: Código de trabajador
+ phone: Teléfono
+ postcode: Código postal
+ province: Provincia
+ city: Población
+ street: Dirección
+ webUser: Usuario Web
+ personalEmail: Correo personal
+ company: Empresa
+ boss: Jefe
+ payMethods: Método de pago
+ iban: IBAN
+ bankEntity: Swift / BIC
+ imageNotFound: No se ha encontrado la imagen
+wagon:
+ pageTitles:
+ wagons: Vagones
+ wagonsList: Listado vagones
+ wagonCreate: Crear tipo
+ wagonEdit: Editar tipo
+ typesList: Listado tipos
+ typeCreate: Crear tipo
+ typeEdit: Editar tipo
+ wagonCounter: Contador de carros
+ type:
+ name: Nombre
+ submit: Guardar
+ reset: Deshacer cambios
+ trayColor: Color de la bandeja
+ removeItem: Tipo de vagón borrado correctamente
+ list:
+ plate: Matrícula
+ volume: Volumen
+ type: Tipo
+ remove: Borrar
+ removeItem: Vagón borrado correctamente
+ create:
+ plate: Matrícula
+ volume: Volumen
+ type: Tipo
+ label: Etiqueta
+ warnings:
+ noData: Sin datos disponibles
+ nameNotEmpty: El nombre no puede estar vacío
+ labelNotEmpty: La etiqueta no puede estar vacía
+ plateNotEmpty: La matrícula no puede estar vacía
+ volumeNotEmpty: El volumen no puede estar vacío
+ typeNotEmpty: El tipo no puede estar vacío
+ maxTrays: Has alcanzado el número máximo de bandejas
+ minHeightBetweenTrays: 'La distancia mínima entre bandejas es '
+ maxWagonHeight: 'La altura máxima del vagón es '
+ uncompleteTrays: Hay bandejas sin completar
+route/roadmap:
+ pageTitles:
+ roadmap: Troncales
+ summary: Resumen
+ basicData: Datos básicos
+ stops: Paradas
+roadmap:
+ pageTitles:
+ roadmap: Troncales
+ summary: Resumen
+ basicData: Datos básicos
+ stops: Paradas
+route:
+ pageTitles:
+ routes: Rutas
+ cmrsList: Listado de CMRs externos
+ RouteList: Listado
+ routeCreate: Nueva ruta
+ basicData: Datos básicos
+ summary: Resumen
+ RouteRoadmap: Troncales
+ RouteRoadmapCreate: Crear troncal
+ tickets: Tickets
+ log: Historial
+ autonomous: Autónomos
+ cmr:
+ list:
+ results: resultados
+ cmrFk: Id CMR
+ hasCmrDms: Adjuntado en gestdoc
+ 'true': Sí
+ 'false': 'No'
+ ticketFk: Id ticket
+ routeFk: Id ruta
+ country: País
+ clientFk: Id cliente
+ shipped: Fecha preparación
+ viewCmr: Ver CMR
+ downloadCmrs: Descargar CMRs
+supplier:
+ pageTitles:
+ suppliers: Proveedores
+ supplier: Proveedor
+ list: Listado
+ supplierCreate: Nuevo proveedor
+ summary: Resumen
+ basicData: Datos básicos
+ fiscalData: Datos fiscales
+ billingData: Forma de pago
+ log: Historial
+ accounts: Cuentas
+ contacts: Contactos
+ addresses: Direcciones
+ consumption: Consumo
+ agencyTerm: Acuerdo agencia
+ dms: Gestión documental
+ list:
+ payMethod: Método de pago
+ payDeadline: Plazo de pago
+ payDay: Día de pago
+ account: Cuenta
+ newSupplier: Nuevo proveedor
+ summary:
+ responsible: Responsable
+ notes: Notas
+ verified: Verificado
+ isActive: Está activo
+ billingData: Forma de pago
+ payMethod: Método de pago
+ payDeadline: Plazo de pago
+ payDay: Día de pago
+ account: Cuenta
+ fiscalData: Datos fiscales
+ sageTaxType: Tipo de impuesto Sage
+ sageTransactionType: Tipo de transacción Sage
+ sageWithholding: Retención sage
+ supplierActivity: Actividad proveedor
+ healthRegister: Pasaporte sanitario
+ fiscalAddress: Dirección fiscal
+ socialName: Razón social
+ taxNumber: NIF/CIF
+ street: Dirección
+ city: Población
+ postCode: Código postal
+ province: Provincia
+ country: País
+ create:
+ supplierName: Nombre del proveedor
+ basicData:
+ alias: Alias
+ workerFk: Responsable
+ isSerious: Verificado
+ isActive: Activo
+ isPayMethodChecked: Método de pago validado
+ note: Notas
+ fiscalData:
+ name: Razón social *
+ nif: NIF/CIF *
+ account: Cuenta
+ sageTaxTypeFk: Tipo de impuesto sage
+ sageWithholdingFk: Retención sage
+ sageTransactionTypeFk: Tipo de transacción sage
+ supplierActivityFk: Actividad proveedor
+ healthRegister: Pasaporte sanitario
+ street: Calle
+ postcode: Código postal
+ city: Población *
+ provinceFk: Provincia
+ country: País
+ isTrucker: Transportista
+ isVies: Vies
+ billingData:
+ payMethodFk: Forma de pago
+ payDemFk: Plazo de pago
+ payDay: Día de pago
+ accounts:
+ iban: Iban
+ bankEntity: Entidad bancaria
+ beneficiary: Beneficiario
+ contacts:
+ name: Nombre
+ phone: Teléfono
+ mobile: Móvil
+ email: Email
+ observation: Notas
+ addresses:
+ street: Dirección
+ postcode: Código postal
+ phone: Teléfono
+ name: Nombre
+ city: Población
+ province: Provincia
+ mobile: Móvil
+ agencyTerms:
+ agencyFk: Agencia
+ minimumM3: M3 mínimos
+ packagePrice: Precio bulto
+ kmPrice: Precio Km
+ m3Price: Precio M3
+ routePrice: Precio ruta
+ minimumKm: Km mínimos
+ addRow: Añadir fila
+ consumption:
+ entry: Entrada
+ date: Fecha
+ reference: Referencia
+travel:
+ pageTitles:
+ travel: Envíos
+ list: Listado
+ create: Crear
+ summary: Resumen
+ extraCommunity: Extra comunitarios
+ travelCreate: Nuevo envío
+ basicData: Datos básicos
+ history: Historial
+ thermographs: Termógrafos
+ summary:
+ confirmed: Confirmado
+ entryId: Id entrada
+ freight: Porte
+ package: Embalaje
+ delivered: Enviada
+ received: Recibida
+ entries: Entradas
+ cloneShipping: Clonar envío
+ CloneTravelAndEntries: Clonar travel y sus entradas
+ deleteTravel: Eliminar envío
+ AddEntry: Añadir entrada
+ thermographs: Termógrafos
+ hb: HB
+ variables:
+ search: Id/Referencia
+ agencyModeFk: Agencia
+ warehouseInFk: Alm. entrada
+ warehouseOutFk: ' Alm. salida'
+ landedFrom: Llegada desde
+ landedTo: Llegada hasta
+ continent: Cont. Salida
+ totalEntries: Ent. totales
+ basicData:
+ reference: Referencia
+ agency: Agencia
+ shipped: F. Envío
+ landed: F. entrega
+ warehouseOut: Alm. salida
+ warehouseIn: Alm. entrada
+ delivered: Enviada
+ received: Recibida
+ thermographs:
+ code: Código
+ temperature: Temperatura
+ state: Estado
+ destination: Destino
+ created: Fecha creación
+ thermograph: Termógrafo
+ reference: Referencia
+ type: Tipo
+ company: Empresa
+ warehouse: Almacén
+ travelFileDescription: 'Id envío { travelId }'
+ file: Fichero
+item:
+ pageTitles:
+ items: Artículos
+ list: Listado
+ diary: Histórico
+ tags: Etiquetas
+ wasteBreakdown: Deglose de mermas
+ itemCreate: Nuevo artículo
+ descriptor:
+ item: Artículo
+ buyer: Comprador
+ color: Color
+ category: Categoría
+ stems: Tallos
+ visible: Visible
+ available: Disponible
+ warehouseText: 'Calculado sobre el almacén de { warehouseName }'
+ itemDiary: Registro de compra-venta
+ list:
+ id: Identificador
+ grouping: Grouping
+ packing: Packing
+ description: Descripción
+ stems: Tallos
+ category: Reino
+ typeName: Tipo
+ intrastat: Intrastat
+ isActive: Activo
+ size: Medida
+ origin: Origen
+ weightByPiece: Peso (gramos)/tallo
+ userName: Comprador
+ stemMultiplier: Multiplicador
+ producer: Productor
+ landed: F. entrega
+ create:
+ name: Nombre
+ tag: Etiqueta
+ priority: Prioridad
+ type: Tipo
+ intrastat: Intrastat
+ origin: Origen
+components:
+ topbar: {}
+ userPanel:
+ copyToken: Token copiado al portapapeles
+ settings: Configuración
+ logOut: Cerrar sesión
+ localWarehouse: Almacén local
+ localBank: Banco local
+ localCompany: Empresa local
+ userWarehouse: Almacén del usuario
+ userCompany: Empresa del usuario
+ smartCard:
+ downloadFile: Descargar archivo
+ clone: Clonar
+ openCard: Ficha
+ openSummary: Detalles
+ cardDescriptor:
+ mainList: Listado principal
+ summary: Resumen
+ moreOptions: 'Más opciones'
+ leftMenu:
+ addToPinned: Añadir a fijados
+ removeFromPinned: Eliminar de fijados
+ VnLv:
+ copyText: '{copyValue} se ha copiado al portapepeles'
+ iban_tooltip: 'IBAN: ES21 1234 5678 90 0123456789'
+weekdays:
+ sun: Domingo
+ mon: Lunes
+ tue: Martes
+ wed: Miércoles
+ thu: Jueves
+ fri: Viernes
+ sat: Sábado
+months:
+ jan: Enero
+ feb: Febrero
+ mar: Marzo
+ apr: Abril
+ may: Mayo
+ jun: Junio
+ jul: Julio
+ aug: Agosto
+ sep: Septiembre
+ oct: Octubre
+ nov: Noviembre
+ dec: Diciembre
diff --git a/src/pages/Entry/Card/EntryBuys.vue b/src/pages/Entry/Card/EntryBuys.vue
index 0208b49ba..3b39840c8 100644
--- a/src/pages/Entry/Card/EntryBuys.vue
+++ b/src/pages/Entry/Card/EntryBuys.vue
@@ -268,16 +268,11 @@ const importBuys = () => {
const toggleGroupingMode = async (buy, mode) => {
try {
- const grouping = 1;
- const packing = 2;
- const groupingMode = mode === 'grouping' ? grouping : packing;
-
- const newGroupingMode = buy.groupingMode === groupingMode ? 0 : groupingMode;
-
+ const groupingMode = mode === 'grouping' ? mode : 'packing';
+ const newGroupingMode = buy.groupingMode === groupingMode ? null : groupingMode;
const params = {
groupingMode: newGroupingMode,
};
-
await axios.patch(`Buys/${buy.id}`, params);
buy.groupingMode = newGroupingMode;
} catch (err) {
@@ -287,9 +282,9 @@ const toggleGroupingMode = async (buy, mode) => {
const lockIconType = (groupingMode, mode) => {
if (mode === 'packing') {
- return groupingMode === 2 ? 'lock' : 'lock_open';
+ return groupingMode === 'packing' ? 'lock' : 'lock_open';
} else {
- return groupingMode === 1 ? 'lock' : 'lock_open';
+ return groupingMode === 'grouping' ? 'lock' : 'lock_open';
}
};
diff --git a/src/pages/Entry/locale/en.yml b/src/pages/Entry/locale/en.yml
index d52989ff9..1956140ed 100644
--- a/src/pages/Entry/locale/en.yml
+++ b/src/pages/Entry/locale/en.yml
@@ -1,8 +1,8 @@
entryList:
list:
- inventoryEntry: 'Inventory entry'
- virtualEntry: 'Virtual entry'
+ inventoryEntry: Inventory entry
+ virtualEntry: Virtual entry
entryFilter:
filter:
- search: 'General search'
- reference: 'Reference'
+ search: General search
+ reference: Reference
diff --git a/src/pages/Entry/locale/es.yml b/src/pages/Entry/locale/es.yml
index 2dc1dfb3a..192d03542 100644
--- a/src/pages/Entry/locale/es.yml
+++ b/src/pages/Entry/locale/es.yml
@@ -1,8 +1,8 @@
entryList:
list:
- inventoryEntry: 'Es inventario'
- virtualEntry: 'Es una redada'
+ inventoryEntry: Es inventario
+ virtualEntry: Es una redada
entryFilter:
filter:
- search: 'Búsqueda general'
- reference: 'Referencia'
+ search: Búsqueda general
+ reference: Referencia
diff --git a/src/pages/InvoiceIn/Card/InvoiceInDescriptor.vue b/src/pages/InvoiceIn/Card/InvoiceInDescriptor.vue
index 5adaeca94..2c4a19be5 100644
--- a/src/pages/InvoiceIn/Card/InvoiceInDescriptor.vue
+++ b/src/pages/InvoiceIn/Card/InvoiceInDescriptor.vue
@@ -257,7 +257,7 @@ const requiredFieldRule = (val) => val || t('globals.requiredField');
const isAdministrative = () => hasAny(['administrative']);
const isAgricultural = () =>
- invoiceIn.value.supplier.sageWithholdingFk == config.value[0].sageWithholdingFk;
+ invoiceIn.value?.supplier?.sageWithholdingFk === config.value[0]?.sageWithholdingFk;
function showPdfInvoice() {
if (isAgricultural()) openReport(`InvoiceIns/${entityId.value}/invoice-in-pdf`);
diff --git a/src/pages/Item/Card/ItemBasicData.vue b/src/pages/Item/Card/ItemBasicData.vue
new file mode 100644
index 000000000..334cf049d
--- /dev/null
+++ b/src/pages/Item/Card/ItemBasicData.vue
@@ -0,0 +1 @@
+Item basic data
diff --git a/src/pages/Item/ItemCreate.vue b/src/pages/Item/ItemCreate.vue
index e20f67ac3..18e7522cb 100644
--- a/src/pages/Item/ItemCreate.vue
+++ b/src/pages/Item/ItemCreate.vue
@@ -1 +1,170 @@
-Item create view
+
+
+
+ (originsOptions = data)"
+ :filter="{ order: 'name' }"
+ auto-load
+ />
+ (tagsOptions = data)"
+ auto-load
+ />
+ (itemTypesOptions = data)"
+ auto-load
+ />
+ (intrastatsOptions = data)"
+ auto-load
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.opt?.code }}
+
+
+ {{ scope.opt?.name }}
+
+
+
+ {{ scope.opt?.category?.name }}
+
+
+
+
+
+
+
+
+
+ {{ scope.opt?.description }}
+
+
+ #{{ scope.opt?.id }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/Route/Card/RouteFilter.vue b/src/pages/Route/Card/RouteFilter.vue
index 4be1981ab..bbd71df49 100644
--- a/src/pages/Route/Card/RouteFilter.vue
+++ b/src/pages/Route/Card/RouteFilter.vue
@@ -197,6 +197,15 @@ const warehouseList = ref([]);
/>
+
+
+
+
+
@@ -212,6 +221,7 @@ en:
workerFk: Worker
from: From
to: To
+ Served: Served
es:
params:
warehouseFk: Almacén
@@ -229,4 +239,5 @@ es:
Worker: Trabajador
From: Desde
To: Hasta
+ Served: Servida
diff --git a/src/pages/Route/Card/RouteForm.vue b/src/pages/Route/Card/RouteForm.vue
index 60693cbf1..7087037b0 100644
--- a/src/pages/Route/Card/RouteForm.vue
+++ b/src/pages/Route/Card/RouteForm.vue
@@ -11,8 +11,8 @@ import VnInputDate from 'components/common/VnInputDate.vue';
import VnInput from 'components/common/VnInput.vue';
import axios from 'axios';
import VnInputTime from 'components/common/VnInputTime.vue';
-import RouteSearchbar from "pages/Route/Card/RouteSearchbar.vue";
-import {useStateStore} from "stores/useStateStore";
+import RouteSearchbar from 'pages/Route/Card/RouteSearchbar.vue';
+import { useStateStore } from 'stores/useStateStore';
const { t } = useI18n();
const route = useRoute();
@@ -26,6 +26,7 @@ const defaultInitialData = {
description: '',
vehicleFk: null,
workerFk: null,
+ isOk: false,
};
const workerList = ref([]);
@@ -211,6 +212,7 @@ const onSave = (data, response) => {
size="sm"
v-model="data.isOk"
:label="t('Is served')"
+ clearable
/>
diff --git a/src/pages/Route/Card/RouteSummary.vue b/src/pages/Route/Card/RouteSummary.vue
index 34b0dfebd..9316c0f83 100644
--- a/src/pages/Route/Card/RouteSummary.vue
+++ b/src/pages/Route/Card/RouteSummary.vue
@@ -187,6 +187,15 @@ const ticketColumns = ref([
:label="t('route.summary.packages')"
:value="getTotalPackages(entity.tickets)"
/>
+