diff --git a/CHANGELOG.md b/CHANGELOG.md
index d7073dc53d..1c97e65d6b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- [General](Inicio) Permite recuperar la contraseña
+- [Artículo](Datos Básicos) Añadido campo Unidades/Caja
### Changed
diff --git a/db/changes/230201/00-autoincrement_VnReport_VnPrinter.sql b/db/changes/230201/00-autoincrement_VnReport_VnPrinter.sql
new file mode 100644
index 0000000000..a28bf6e90f
--- /dev/null
+++ b/db/changes/230201/00-autoincrement_VnReport_VnPrinter.sql
@@ -0,0 +1,4 @@
+SET FOREIGN_KEY_CHECKS = 0;
+ALTER TABLE `vn`.`report` MODIFY COLUMN id tinyint(3) unsigned NOT NULL AUTO_INCREMENT;
+ALTER TABLE `vn`.`printer` MODIFY COLUMN id tinyint(3) unsigned NOT NULL AUTO_INCREMENT;
+SET FOREIGN_KEY_CHECKS = 1;
diff --git a/e2e/helpers/selectors.js b/e2e/helpers/selectors.js
index e1792ea7b8..052d8a480a 100644
--- a/e2e/helpers/selectors.js
+++ b/e2e/helpers/selectors.js
@@ -463,6 +463,7 @@ export default {
generic: 'vn-autocomplete[ng-model="$ctrl.item.genericFk"]',
isFragile: 'vn-check[ng-model="$ctrl.item.isFragile"]',
longName: 'vn-textfield[ng-model="$ctrl.item.longName"]',
+ packingOut: 'vn-input-number[ng-model="$ctrl.item.packingOut"]',
isActiveCheckbox: 'vn-check[label="Active"]',
priceInKgCheckbox: 'vn-check[label="Price in kg"]',
newIntrastatButton: 'vn-item-basic-data vn-icon-button[vn-tooltip="New intrastat"] > button',
diff --git a/e2e/paths/04-item/02_basic_data.spec.js b/e2e/paths/04-item/02_basic_data.spec.js
index a663ea3bb6..3cf1428167 100644
--- a/e2e/paths/04-item/02_basic_data.spec.js
+++ b/e2e/paths/04-item/02_basic_data.spec.js
@@ -35,6 +35,7 @@ describe('Item Edit basic data path', () => {
await page.waitToClick(selectors.itemBasicData.isActiveCheckbox);
await page.waitToClick(selectors.itemBasicData.priceInKgCheckbox);
await page.waitToClick(selectors.itemBasicData.isFragile);
+ await page.write(selectors.itemBasicData.packingOut, '5');
await page.waitToClick(selectors.itemBasicData.submitBasicDataButton);
const message = await page.waitForSnackbar();
@@ -128,4 +129,11 @@ describe('Item Edit basic data path', () => {
expect(result).toBe('checked');
});
+
+ it(`should confirm the item packingOut was edited`, async() => {
+ const result = await page
+ .waitToGetProperty(selectors.itemBasicData.packingOut, 'value');
+
+ expect(result).toEqual('5');
+ });
});
diff --git a/modules/client/front/balance/create/index.js b/modules/client/front/balance/create/index.js
index 935129574e..35b2e0b38c 100644
--- a/modules/client/front/balance/create/index.js
+++ b/modules/client/front/balance/create/index.js
@@ -4,7 +4,7 @@ import Dialog from 'core/components/dialog';
class Controller extends Dialog {
constructor($element, $, $transclude, vnReport) {
super($element, $, $transclude);
-
+ this.viewReceipt = true;
this.vnReport = vnReport;
this.receipt = {};
}
diff --git a/modules/client/front/balance/create/index.spec.js b/modules/client/front/balance/create/index.spec.js
index fa6b48ea42..2c4ed19401 100644
--- a/modules/client/front/balance/create/index.spec.js
+++ b/modules/client/front/balance/create/index.spec.js
@@ -75,6 +75,7 @@ describe('Client', () => {
jest.spyOn(controller.vnReport, 'show');
controller.$params = {id: 1101};
+ controller.viewReceipt = false;
$httpBackend.expect('POST', `Clients/1101/createReceipt`).respond({id: 1});
controller.responseHandler('accept');
diff --git a/modules/item/front/basic-data/index.html b/modules/item/front/basic-data/index.html
index 8d1afe4e16..fd21ab240f 100644
--- a/modules/item/front/basic-data/index.html
+++ b/modules/item/front/basic-data/index.html
@@ -1,6 +1,6 @@
-
-
@@ -95,7 +95,7 @@
@@ -108,15 +108,15 @@
@@ -124,10 +124,17 @@
+
+
-
@@ -225,12 +232,12 @@
-
\ No newline at end of file
+
diff --git a/modules/item/front/locale/es.yml b/modules/item/front/locale/es.yml
index 88ab031e14..0fc0147423 100644
--- a/modules/item/front/locale/es.yml
+++ b/modules/item/front/locale/es.yml
@@ -44,6 +44,7 @@ Weight/Piece: Peso/tallo
Search items by id, name or barcode: Buscar articulos por identificador, nombre o codigo de barras
SalesPerson: Comercial
Concept: Concepto
+Units/Box: Unidades/Caja
# Sections
Items: Artículos
@@ -61,4 +62,4 @@ Item diary: Registro de compra-venta
Last entries: Últimas entradas
Tags: Etiquetas
Waste breakdown: Desglose de mermas
-Waste breakdown by item: Desglose de mermas por artículo
\ No newline at end of file
+Waste breakdown by item: Desglose de mermas por artículo