diff --git a/.classpath b/.classpath new file mode 100644 index 0000000000..3c7e669b67 --- /dev/null +++ b/.classpath @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore index edb2523fcf..52eb8ec1f3 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ /.gradle/ build !**/build -/**/build \ No newline at end of file +/**/build +/bin/ diff --git a/.project b/.project new file mode 100644 index 0000000000..f673ce1ee0 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + adempiere-base + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/authentication/src/main/java/base/org/spin/authentication/services/addons/provider/GenericAuthentication.java b/authentication/src/main/java/base/org/spin/authentication/services/addons/provider/GenericAuthentication.java new file mode 100644 index 0000000000..9d1c225cfb --- /dev/null +++ b/authentication/src/main/java/base/org/spin/authentication/services/addons/provider/GenericAuthentication.java @@ -0,0 +1,66 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Carlos Parada www.erpya.com * + *****************************************************************************/ +package org.spin.authentication.services.addons.provider; + +import java.util.Optional; +import org.spin.authentication.services.OpenIDConnect; +import org.spin.model.MADAppRegistration; +import com.nimbusds.oauth2.sdk.ResponseType; + +/** + * @author Carlos Parada, cparada@erpya.com, ERPCyA http://www.erpya.com + * Add support to login with Generic Open ID service + */ +public class GenericAuthentication extends OpenIDConnect{ + + /**Default Scope*/ + private final static String defaultScope = "openid,email,profile"; + /**Authorization End point Tag*/ + private static final String AUTHORIZATION_ENDPOINT_TAG = "AUTHORIZATION_ENDPOINT"; + /**Token End point Tag*/ + private static final String TOKEN_ENDPOINT_TAG = "TOKEN_ENDPOINT"; + /**User Info End point Tag*/ + private static final String USERINFO_ENDPOINT_TAG = "USERINFO_ENDPOINT"; + /**Scope Parameter*/ + private static final String PARAMETER_SCOPE = "SCOPE"; + /** + * Constructor + */ + public GenericAuthentication() { + super(); + setResponseType(new ResponseType(ResponseType.Value.CODE)); + } + + /*** + * Set Default values from Application Registration + */ + @Override + public void setAppRegistrationId(int registrationId) { + super.setAppRegistrationId(registrationId); + Optional maybeApRegistration = Optional.ofNullable(getApplicationRegistration()); + maybeApRegistration.ifPresent(appRegistration -> { + String authorizationEndPoint = Optional.ofNullable(appRegistration.getParameterValue(AUTHORIZATION_ENDPOINT_TAG)).orElse(""); + String tokenEndPoint = Optional.ofNullable(appRegistration.getParameterValue(TOKEN_ENDPOINT_TAG)).orElse(""); + String userInfoEndPoint = Optional.ofNullable(appRegistration.getParameterValue(USERINFO_ENDPOINT_TAG)).orElse(""); + String scope = Optional.ofNullable(appRegistration.getParameterValue(PARAMETER_SCOPE)).orElse(defaultScope); + setAuthorizationEndPoint(authorizationEndPoint); + setTokenEndpoint(tokenEndPoint); + setUserInfoEndpoint(userInfoEndPoint); + setScope(scope.split(",")); + }); + } +} diff --git a/authentication/xml/migration/10330_Add_App_Support_to_Keycloak_OpenID.xml b/authentication/xml/migration/10330_Add_App_Support_to_Keycloak_OpenID.xml new file mode 100644 index 0000000000..d6e0771e0d --- /dev/null +++ b/authentication/xml/migration/10330_Add_App_Support_to_Keycloak_OpenID.xml @@ -0,0 +1,145 @@ + + + + + + fff42604-9889-4493-a638-227399cfdba8 + KeyCloak Authentication + KeyCloak Authentication + + https://www.keycloak.org/documentation + org.spin.authentication.services.provider.GenericAuthentication + 2024-01-09 09:29:36.911 + 2024-01-09 09:29:36.911 + 100 + true + 0 + 0 + true + 100 + OIA + 50040 + + + + + b640990d-4ebc-4a90-81df-9edabdda1a4e + C + 0 + 0 + true + 2024-01-09 09:30:11.336 + 2024-01-09 09:30:11.336 + 100 + 100 + 50083 + http://localhost/webui + true + + 50040 + REDIRECT_URL + 10 + + + + + e128578b-4847-4464-9971-e81268f4c363 + C + 0 + 0 + true + 2024-01-09 09:30:23.516 + 2024-01-09 09:30:23.516 + 100 + 100 + 50084 + <Client identifier> + true + + 50040 + CLIENT_ID + 10 + + + + + 40a046c9-73da-4d6c-91de-00592ad1d640 + C + 0 + 0 + true + 2024-01-09 09:30:42.13 + 2024-01-09 09:30:42.13 + 100 + 100 + 50085 + <Client Secret> + true + + 50040 + CLIENT_SECRET + 10 + + + + + 99720a45-addb-423a-87a8-f68bd40f85b7 + C + 0 + 0 + true + 2024-01-09 09:33:05.241 + 2024-01-09 09:33:05.241 + 100 + 100 + 50086 + https://localhost/realms/<Realm Name>/protocol/openid-connect/auth + true + + 50040 + AUTHORIZATION_ENDPOINT + 10 + + + + + 220639ba-dd13-4be5-9020-f1b22c3506e3 + C + 0 + 0 + true + 2024-01-09 09:33:37.259 + 2024-01-09 09:33:37.259 + 100 + 100 + 50087 + https://localhost/realms/<Realm Name>/protocol/openid-connect/token + true + + 50040 + TOKEN_ENDPOINT + 10 + + + + + 3477e6d4-7656-4964-ae06-da62882ecd69 + C + 0 + 0 + true + 2024-01-09 09:33:48.495 + 2024-01-09 09:33:48.495 + 100 + 100 + 50088 + https://localhost/realms/<Realm Name>/protocol/openid-connect/userinfo + true + + 50040 + USERINFO_ENDPOINT + 10 + + + + diff --git a/authentication/xml/migration/10340_Add_App_Support_to_Okta_OpenID.xml b/authentication/xml/migration/10340_Add_App_Support_to_Okta_OpenID.xml new file mode 100644 index 0000000000..8ec577d2bf --- /dev/null +++ b/authentication/xml/migration/10340_Add_App_Support_to_Okta_OpenID.xml @@ -0,0 +1,145 @@ + + + + + + bd02f9ca-1d29-499d-9ca4-4a953f356261 + Okta Authentication + Okta Authentication + https://www.okta.com/ + https://help.okta.com/oie/en-us/Content/Topics/Apps/Apps_App_Integration_Wizard_OIDC.htm + org.spin.authentication.services.provider.GenericAuthentication + 2024-01-09 09:22:44.517 + 2024-01-09 09:22:44.517 + 100 + false + 0 + 0 + true + 100 + OIA + 50039 + + + + + 9999a1fd-d196-4982-9055-66b1002efed5 + C + 0 + 0 + true + 2024-01-09 09:23:05.672 + 2024-01-09 09:23:05.672 + 100 + 100 + 50077 + http://localhost/webui + true + + 50039 + REDIRECT_URL + 10 + + + + + be6b6b6b-3e68-497f-a666-35c1dc4d0304 + C + 0 + 0 + true + 2024-01-09 09:23:19.347 + 2024-01-09 09:23:19.347 + 100 + 100 + 50078 + <Client identifier> + true + + 50039 + CLIENT_ID + 10 + + + + + 24e2a4c0-8fe1-48d3-8b08-b51e17d11c34 + C + 0 + 0 + true + 2024-01-09 09:23:36.523 + 2024-01-09 09:23:36.523 + 100 + 100 + 50079 + <Client Secret> + true + + 50039 + CLIENT_SECRET + 10 + + + + + 1140d439-36d0-4987-b311-e82d7f4ec31f + C + 0 + 0 + true + 2024-01-09 09:24:07.745 + 2024-01-09 09:24:07.745 + 100 + 100 + 50080 + https://< Organization >.okta.com/oauth2/v1/authorize + true + + 50039 + AUTHORIZATION_ENDPOINT + 10 + + + + + 3652e032-bc9e-4483-83dc-8336eb547b11 + C + 0 + 0 + true + 2024-01-09 09:24:24.099 + 2024-01-09 09:24:24.099 + 100 + 100 + 50081 + https://< Organization >.okta.com/oauth2/v1/token + true + + 50039 + TOKEN_ENDPOINT + 10 + + + + + 4fafff03-ac98-4c2c-bb35-d11c183e6bee + C + 0 + 0 + true + 2024-01-09 09:24:46.273 + 2024-01-09 09:24:46.273 + 100 + 100 + 50082 + https://< Organization >.okta.com/oauth2/v1/userinfo + true + + 50039 + USERINFO_ENDPOINT + 10 + + + + diff --git a/base/build.gradle b/base/build.gradle index 19f68cc278..76f4e786a1 100644 --- a/base/build.gradle +++ b/base/build.gradle @@ -15,6 +15,7 @@ repositories { } dependencies { + api "com.amazonaws:aws-java-sdk-s3:1.12.777" api 'net.sf.jasperreports:jasperreports-fonts:6.21.0' // https://mvnrepository.com/artifact/io.konik/harness api 'io.konik:harness:1.0.0' diff --git a/base/src/org/spin/eca62/setup/Deploy.java b/base/src/org/spin/eca62/setup/Deploy.java new file mode 100644 index 0000000000..d4f717ea15 --- /dev/null +++ b/base/src/org/spin/eca62/setup/Deploy.java @@ -0,0 +1,78 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca62.setup; + +import java.util.Properties; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MClientInfo; +import org.compiere.util.Env; +import org.spin.model.MADAppRegistration; +import org.spin.model.MADAppSupport; +import org.spin.util.ISetupDefinition; + +/** + * Create App Registration to Connect to local minio + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Deploy implements ISetupDefinition { + + private static final String APP_TYPE = "AS3"; + + @Override + public String doIt(Properties context, String transactionName) { + // create App Registration + MADAppRegistration appRegistration = createConnection(context, transactionName); + + // Set App Registration to Client Info + configClient(context, appRegistration, transactionName); + + return "@AD_SetupDefinition_ID@ @Ok@"; + } + + private MADAppRegistration createConnection(Properties context, String transactionName) { + MADAppRegistration aws3Connection = MADAppRegistration.getByApplicationType(context, APP_TYPE, transactionName); + if(aws3Connection == null + || aws3Connection.getAD_AppRegistration_ID() <= 0) { + MADAppSupport aws3Support = MADAppSupport.getByApplicationType(context, APP_TYPE, transactionName); + if(aws3Support == null + || aws3Support.getAD_AppSupport_ID() <= 0) { + throw new AdempiereException("@AD_AppSupport_ID@ @EMail@ @NotFound@"); + } + aws3Connection = new MADAppRegistration(context, 0, transactionName); + aws3Connection.setValue("AWS3"); + aws3Connection.setApplicationType(APP_TYPE); + aws3Connection.setAD_AppSupport_ID(aws3Support.getAD_AppSupport_ID()); + aws3Connection.setName("Default AWS3 Minio File Storage"); + aws3Connection.setVersionNo("1.0"); + aws3Connection.setHost("http://0.0.0.0"); + aws3Connection.setPort(9000); + aws3Connection.saveEx(); + } + return aws3Connection; + } + + private void configClient(Properties context, MADAppRegistration aws3Connection, String transactionName) { + int clientId = Env.getAD_Client_ID(context); + MClientInfo clientInfo = MClientInfo.get(context, clientId, transactionName); + clientInfo.setFileHandler_ID( + aws3Connection.getAD_AppRegistration_ID() + ); + clientInfo.saveEx(); + } + +} diff --git a/base/src/org/spin/eca62/support/IS3.java b/base/src/org/spin/eca62/support/IS3.java new file mode 100644 index 0000000000..210571e216 --- /dev/null +++ b/base/src/org/spin/eca62/support/IS3.java @@ -0,0 +1,52 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca62.support; + +import java.io.File; +import java.io.InputStream; + +/** + * S3 interface, this can help to implement methods like shared URL + * @author Yamel Senih, ySenih@erpya.com, ERPCyA http://www.erpya.com + * @see https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html + */ +public interface IS3 { + + /** + * Put resource based on metadata (Client, User, container Type, Table, Record ID) + * @param resourceMetadata + * @param resource + * @throws Exception + */ + public String putResource(ResourceMetadata resourceMetadata, InputStream resource) throws Exception; + + /** + * Put resource based on metadata (Client, User, container Type, Table, Record ID) + * @param resourceMetadata + * @return + * @throws Exception + */ + public InputStream getResource(ResourceMetadata resourceMetadata) throws Exception; + + /** + * Put a Temporary Resource + * @param file + * @return + * @throws Exception + */ + public String putTemporaryFile(File file) throws Exception; +} diff --git a/base/src/org/spin/eca62/support/ResourceMetadata.java b/base/src/org/spin/eca62/support/ResourceMetadata.java new file mode 100644 index 0000000000..17ecbbbeca --- /dev/null +++ b/base/src/org/spin/eca62/support/ResourceMetadata.java @@ -0,0 +1,238 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca62.support; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MClient; +import org.compiere.model.MRole; +import org.compiere.model.MUser; +import org.compiere.util.Env; +import org.compiere.util.Util; + +/** + * S3 interface, this can help to implement methods like shared URL + * @author Yamel Senih, ySenih@erpya.com, ERPCyA http://www.erpya.com + * @see https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html + */ +public class ResourceMetadata { + + private int clientId; + private int userId; + private int roleId; + private String containerId; + private String tableName; + private String columnName; + private int recordId; + private String name; + private String resourceName; + private ContainerType containerType; + + public enum ContainerType { + WINDOW, + FORM, + PROCESS, + REPORT, + BROWSER, + ATTACHMENT, + RESOURCE, + APPLICATION, + }; + + private ResourceMetadata() { + + } + + public static ResourceMetadata newInstance() { + return new ResourceMetadata(); + } + + public int getClientId() { + return clientId; + } + + public ResourceMetadata withClientId(int clientId) { + this.clientId = clientId; + return this; + } + + public int getUserId() { + return userId; + } + + public ResourceMetadata withUserId(int userId) { + this.userId = userId; + return this; + } + + public String getContainerId() { + return containerId; + } + + public ResourceMetadata withContainerId(String containerId) { + this.containerId = containerId; + return this; + } + + public String getTableName() { + return tableName; + } + + public ResourceMetadata withTableName(String tableName) { + this.tableName = tableName; + return this; + } + + public int getRecordId() { + return recordId; + } + + public ResourceMetadata withRecordId(int recordId) { + this.recordId = recordId; + return this; + } + + public String getName() { + return name; + } + + public ResourceMetadata withName(String name) { + this.name = name; + return this; + } + + public ResourceMetadata withResourceName(String resourceName) { + this.resourceName = resourceName; + return this; + } + + public ContainerType getContainerType() { + return containerType; + } + + public ResourceMetadata withContainerType(ContainerType containerType) { + this.containerType = containerType; + return this; + } + + public String getColumnName() { + return columnName; + } + + public ResourceMetadata withColumnName(String columnName) { + this.columnName = columnName; + return this; + } + + public int getRoleId() { + return roleId; + } + + public ResourceMetadata withRoleId(int roleId) { + this.roleId = roleId; + return this; + } + + public String getResourcePath() { + if(clientId <= 0) { + throw new AdempiereException("Client ID is Mandatory"); + } + if(containerType == null) { + throw new AdempiereException("Container Type is Mandatory"); + } + if(recordId > 0 && Util.isEmpty(tableName)) { + throw new AdempiereException("Table Name is Mandatory"); + } + if(recordId <= 0 && !Util.isEmpty(tableName)) { + throw new AdempiereException("Record ID is Mandatory"); + } + if(!Util.isEmpty(columnName) && Util.isEmpty(tableName)) { + throw new AdempiereException("Table Name is Mandatory"); + } + if(containerType != ContainerType.ATTACHMENT && Util.isEmpty(containerId)) { + throw new AdempiereException("Container ID is Mandatory"); + } + if(containerType == ContainerType.ATTACHMENT && recordId <= 0 && Util.isEmpty(tableName)) { + throw new AdempiereException("Invalid Container Type (Mandatory Record ID and Table Name)"); + } + String clientUuid = MClient.get(Env.getCtx(), clientId).getUUID(); + if(Util.isEmpty(clientUuid)) { + throw new AdempiereException("Client UUID is Mandatory"); + } + // Create Path + StringBuffer path = new StringBuffer(clientUuid).append("/"); + if(userId > 0) { + String userUuid = MUser.get(Env.getCtx(), userId).getUUID(); + if(Util.isEmpty(userUuid)) { + throw new AdempiereException("User UUID is Mandatory"); + } + path.append("user").append("/").append(userUuid).append("/"); + } else if(roleId > 0) { + String roleUuid = MRole.get(Env.getCtx(), roleId).getUUID(); + if(Util.isEmpty(roleUuid)) { + throw new AdempiereException("Role UUID is Mandatory"); + } + path.append("role").append("/").append(roleUuid).append("/"); + } else { + path.append("client").append("/"); + } + // Container Type + path.append(containerType.toString()); + if(!Util.isEmpty(containerId)) { + path.append("/").append(containerId); + } + // Table Name + if(!Util.isEmpty(tableName)) { + path.append("/").append(getValidPathName(tableName)).append("/").append(recordId); + } + // Column + if(!Util.isEmpty(columnName)) { + path.append("/").append(getValidPathName(columnName)); + } + return getValidPathName(path.toString().toLowerCase()); + } + + public String getResourceFileName() { + if(!Util.isEmpty(resourceName)) { + return resourceName; + } + if(Util.isEmpty(name)) { + throw new AdempiereException("Resource Name is Mandatory"); + } + return (getResourcePath() + "/" + getValidFileName(name)).toLowerCase(); + } + + public static String getValidPathName(String path) { + if(path == null) { + return ""; + } + return path.replaceAll("[^A-Za-z0-9/_-]", "_"); + } + + public static String getValidFileName(String path) { + if(path == null) { + return ""; + } + return path.replaceAll("[^A-Za-z0-9._-]", "_"); + } + + public static String getValidCompleteName(String path) { + if(path == null) { + return ""; + } + return path.replaceAll("[^A-Za-z0-9/._-]", "_"); + } +} diff --git a/base/src/org/spin/eca62/support/S3.java b/base/src/org/spin/eca62/support/S3.java new file mode 100644 index 0000000000..470568615f --- /dev/null +++ b/base/src/org/spin/eca62/support/S3.java @@ -0,0 +1,343 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the GNU General Public License * + * as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2020 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca62.support; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.util.Env; +import org.compiere.util.MimeType; +import org.compiere.util.Util; +import org.spin.model.MADAppRegistration; +import org.spin.util.support.webdav.IWebDav; +import org.spin.util.support.webdav.IWebDavResource; + +import com.amazonaws.auth.AWSStaticCredentialsProvider; +import com.amazonaws.auth.BasicAWSCredentials; +import com.amazonaws.client.builder.AwsClientBuilder; +import com.amazonaws.services.s3.AmazonS3; +import com.amazonaws.services.s3.AmazonS3ClientBuilder; +import com.amazonaws.services.s3.model.CopyObjectRequest; +import com.amazonaws.services.s3.model.DeleteObjectRequest; +import com.amazonaws.services.s3.model.GetObjectRequest; +import com.amazonaws.services.s3.model.ObjectMetadata; +import com.amazonaws.services.s3.model.PutObjectRequest; +import com.amazonaws.services.s3.model.S3Object; + +/** + * This is a implementation of Amazon S3 API for ADempiere + * @author Yamel Senih, ySenih@erpya.com, ERPCyA http://www.erpya.com + * @see https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html + */ +public class S3 implements IWebDav, IS3 { + + public S3() { + super(); + } + + /** Registration Id */ + private int registrationId = 0; + /** Bucket Name */ + private String bucketName = null; + public static final String ACCESS_KEY = "ACCESS_KEY"; + public static final String SECRET_KEY = "SECRET_KEY"; + public static final String BUCKET_REGION = "BUCKET_REGION"; + public static final String BUCKET_NAME = "BUCKET_NAME"; + private String host; + + /** + * Get Path from relative path and base path + * @param relativePath + * @return + */ + private String getPath(String relativePath) { + return relativePath; + } + + private String getHost() { + return host; + } + + /** + * Load Connection from values + */ + private MADAppRegistration getRegistrationInstance() { + if(getAppRegistrationId() <= 0) { + throw new AdempiereException("@AD_AppRegistration_ID@ @NotFound@"); + } + MADAppRegistration registration = MADAppRegistration.getById(Env.getCtx(), getAppRegistrationId(), null); + // Access Key + if(Util.isEmpty(registration.getParameterValue(ACCESS_KEY))) { + throw new AdempiereException(ACCESS_KEY + " @NotFound@"); + } + // Secret Key + if(Util.isEmpty(registration.getParameterValue(SECRET_KEY))) { + throw new AdempiereException(SECRET_KEY + " @NotFound@"); + } + // Bucket End Point + if(Util.isEmpty(registration.getHost())) { + throw new AdempiereException("@Host@ @NotFound@"); + } + host = registration.getHost(); + int port = registration.getPort(); + if(host.endsWith("/")) { + host = host.substring(0, host.lastIndexOf("/")); + } + if(port > 0) { + host = host + ":" + port; + } + // Region Name + if(Util.isEmpty(registration.getParameterValue(BUCKET_REGION))) { + throw new AdempiereException(BUCKET_REGION + " @NotFound@"); + } + // Bucket Name + if(Util.isEmpty(registration.getParameterValue(BUCKET_NAME))) { + throw new AdempiereException(BUCKET_NAME + " @NotFound@"); + } + // Set bucket name + bucketName = registration.getParameterValue(BUCKET_NAME); + // Return registration + return registration; + } + + /** + * Get Bucket Name from configuration + * @return + */ + private String getBucketName() { + if(Util.isEmpty(bucketName)) { + getRegistrationInstance(); + } + return bucketName; + } + + /** + * Get S3 Instance + * @return + */ + private AmazonS3 getS3Instance() { + MADAppRegistration registration = getRegistrationInstance(); + return AmazonS3ClientBuilder + .standard() + .withCredentials(new AWSStaticCredentialsProvider( + new BasicAWSCredentials( + registration.getParameterValue(ACCESS_KEY), + registration.getParameterValue(SECRET_KEY) + ) + )) + .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration( + getHost(), + registration.getParameterValue(BUCKET_REGION))) + .build(); + } + + @Override + public void setAppRegistrationId(int registrationId) { + this.registrationId = registrationId; + } + + @Override + public int getAppRegistrationId() { + return registrationId; + } + + @Override + public InputStream getResource(String relativePath) throws Exception { + if(Util.isEmpty(relativePath)) { + return null; + } + AmazonS3 s3Client = getS3Instance(); + // Retrieve object + S3Object resource = null; + resource = s3Client.getObject(new GetObjectRequest(getBucketName(), getPath(relativePath))); + // Prevent NPE + if(resource == null) { + return null; + } + return resource.getObjectContent(); + } + + @Override + public void putResource(String relativePath, InputStream resource) throws Exception { + if(Util.isEmpty(relativePath) + || resource == null) { + return; + } + if(Util.isEmpty(relativePath) + || resource == null) { + return; + } + AmazonS3 s3Client = getS3Instance(); + // Set metadata + ObjectMetadata metadata = new ObjectMetadata(); + metadata.setContentLength(resource.available()); + String fileName = ResourceMetadata.getValidCompleteName(relativePath); + metadata.setContentType(MimeType.getMimeType(fileName)); + // Put object for bucket + s3Client.putObject(getBucketName(), fileName, resource, metadata); + } + + @Override + public void deleteResource(String relativePath) throws Exception { + if(Util.isEmpty(relativePath)) { + return; + } + AmazonS3 s3Client = getS3Instance(); + // Delete object + s3Client.deleteObject(new DeleteObjectRequest(getBucketName(), getPath(relativePath))); + } + + @Override + public void createDirectory(String relativePathName) throws Exception { + if(Util.isEmpty(relativePathName)) { + return; + } + AmazonS3 s3Client = getS3Instance(); + ObjectMetadata metadata = new ObjectMetadata(); + metadata.setContentLength(0); + // + InputStream emptyContent = new ByteArrayInputStream(new byte[0]); + PutObjectRequest putObjectRequest = new PutObjectRequest(getBucketName(), getPath(relativePathName), emptyContent, metadata); + // Create + s3Client.putObject(putObjectRequest); + } + + @Override + public void moveResource(String relativeSourcePath, String relativeTargetPath) throws Exception { + if(Util.isEmpty(relativeSourcePath) + || Util.isEmpty(relativeTargetPath)) { + return; + } + copyResource(relativeSourcePath, relativeTargetPath); + deleteResource(relativeSourcePath); + } + + @Override + public void copyResource(String relativeSourcePath, String relativeTargetPath) throws Exception { + if(Util.isEmpty(relativeSourcePath) + || Util.isEmpty(relativeTargetPath)) { + return; + } + AmazonS3 s3Client = getS3Instance(); + CopyObjectRequest copyObjRequest = new CopyObjectRequest(getBucketName(), getPath(relativeSourcePath), getBucketName(), getPath(relativeTargetPath)); + s3Client.copyObject(copyObjRequest); + } + + @Override + public boolean exists(String relativePath) throws Exception { + if(Util.isEmpty(relativePath)) { + return false; + } + // Verify if exist a object + return getS3Instance().doesObjectExist(getBucketName(), getPath(relativePath)); + } + + @Override + public List getResourceList(String relativePath) throws Exception { + AmazonS3 s3Client = getS3Instance(); + List resources = new ArrayList<>(); + s3Client + .listObjects(getBucketName(), getPath(relativePath)) + .getObjectSummaries() + .forEach(resource -> resources.add(new S3Resource(resource))); + return resources; + } + + @Override + public void putResource(String relativePath, byte[] resource) throws Exception { + if(Util.isEmpty(relativePath) + || resource == null) { + return; + } + AmazonS3 s3Client = getS3Instance(); + InputStream inputStream = new ByteArrayInputStream(resource); + // Set metadata + ObjectMetadata metadata = new ObjectMetadata(); + metadata.setContentLength(resource.length); + String fileName = getPath(relativePath); + metadata.setContentType(MimeType.getMimeType(fileName)); + // Put object for bucket + s3Client.putObject(getBucketName(), fileName, inputStream, metadata); + } + + @Override + public String testConnection() { + // Save file + StringBuffer message = new StringBuffer(); + try { + List resources = getResourceList(null); + for(IWebDavResource resource : resources) { + if(message.length() > 0) { + message.append(Env.NL); + } + message.append(resource); + } + } catch (Exception e) { + message.append(e.getLocalizedMessage()); + } + return message.toString(); + } + + /** + * Put a Temporary resource to S3 + * @param file + * @return + */ + @Override + public String putTemporaryFile(File file) throws Exception { + ResourceMetadata resourceMetadata = ResourceMetadata.newInstance() + .withClientId(Env.getAD_Client_ID(Env.getCtx())) + .withUserId(Env.getAD_User_ID(Env.getCtx())) + .withContainerType(ResourceMetadata.ContainerType.RESOURCE) + .withContainerId("tmp") + .withName(file.getName()) + ; + return putResource(resourceMetadata, new FileInputStream(file)); + } + + @Override + public String putResource(ResourceMetadata resourceMetadata, InputStream resource) throws Exception { + AmazonS3 s3Client = getS3Instance(); + // Set metadata + ObjectMetadata metadata = new ObjectMetadata(); + metadata.setContentLength(resource.available()); + String fileName = resourceMetadata.getResourceFileName(); + metadata.setContentType(MimeType.getMimeType(fileName)); + // Put object for bucket + s3Client.putObject(getBucketName(), resourceMetadata.getResourceFileName(), resource, metadata); + return fileName; + } + + @Override + public InputStream getResource(ResourceMetadata resourceMetadata) throws Exception { + AmazonS3 s3Client = getS3Instance(); + // Retrieve object + S3Object resource = null; + resource = s3Client.getObject(new GetObjectRequest(getBucketName(), resourceMetadata.getResourceFileName())); + // Prevent NPE + if(resource == null) { + return null; + } + return resource.getObjectContent(); + } +} diff --git a/base/src/org/spin/eca62/support/S3Resource.java b/base/src/org/spin/eca62/support/S3Resource.java new file mode 100644 index 0000000000..3dec1140f0 --- /dev/null +++ b/base/src/org/spin/eca62/support/S3Resource.java @@ -0,0 +1,81 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca62.support; + +import java.sql.Timestamp; +import java.util.Date; + +import org.adempiere.exceptions.AdempiereException; +import org.spin.util.support.webdav.IWebDavResource; + +import com.amazonaws.services.s3.model.S3ObjectSummary; + +/** + * Resource wrapper for Amazon S3 API + * @author Yamel Senih, ySenih@erpya.com, ERPCyA http://www.erpya.com + * @see https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html + */ +public class S3Resource implements IWebDavResource { + + public S3Resource(S3ObjectSummary resource) { + if(resource == null) { + throw new AdempiereException("@Resource@ @NotFound@"); + } + this.resource = resource; + } + + /** Resource */ + private S3ObjectSummary resource; + + @Override + public String getDisplayName() { + return resource.getKey(); + } + + @Override + public String getName() { + return resource.getKey(); + } + + @Override + public String getPath() { + return resource.getKey(); + } + + @Override + public Timestamp getCreated() { + Date created = resource.getLastModified(); + if(created == null) { + return null; + } + return new Timestamp(created.getTime()); + } + + @Override + public Timestamp getUpdated() { + Date created = resource.getLastModified(); + if(created == null) { + return null; + } + return new Timestamp(created.getTime()); + } + + @Override + public String toString() { + return resource.toString(); + } +} diff --git a/base/src/org/spin/eca62/util/S3Manager.java b/base/src/org/spin/eca62/util/S3Manager.java new file mode 100644 index 0000000000..cb40b8ee33 --- /dev/null +++ b/base/src/org/spin/eca62/util/S3Manager.java @@ -0,0 +1,76 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2019 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca62.util; + +import java.io.File; +import java.io.FileInputStream; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MClientInfo; +import org.compiere.util.Env; +import org.spin.eca62.support.IS3; +import org.spin.eca62.support.ResourceMetadata; +import org.spin.model.MADAppRegistration; +import org.spin.util.support.AppSupportHandler; +import org.spin.util.support.IAppSupport; + +/** + * Handle S3 Util Manager + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class S3Manager { + /** + * Put a Temporary resource to S3 + * @param file + * @return + */ + public static String putTemporaryFile(File file) throws Exception { + try { + // Push to S3 + MClientInfo clientInfo = MClientInfo.get(Env.getCtx()); + if(clientInfo.getFileHandler_ID() <= 0) { + throw new AdempiereException("@FileHandler_ID@ @NotFound@"); + } + MADAppRegistration genericConnector = MADAppRegistration.getById(Env.getCtx(), clientInfo.getFileHandler_ID(), null); + if(genericConnector == null) { + throw new AdempiereException("@AD_AppRegistration_ID@ @NotFound@"); + } + // Load + IAppSupport supportedApi = AppSupportHandler.getInstance().getAppSupport(genericConnector); + if(supportedApi == null) { + throw new AdempiereException("@AD_AppSupport_ID@ @NotFound@"); + } + if(!IS3.class.isAssignableFrom(supportedApi.getClass())) { + throw new AdempiereException("@AD_AppSupport_ID@ @Unsupported@"); + } + // Push it + IS3 fileHandler = (IS3) supportedApi; + ResourceMetadata resourceMetadata = ResourceMetadata.newInstance() + .withClientId(Env.getAD_Client_ID(Env.getCtx())) + .withUserId(Env.getAD_User_ID(Env.getCtx())) + .withContainerType(ResourceMetadata.ContainerType.RESOURCE) + .withContainerId("tmp") + .withName(file.getName()) + ; + String fileName = fileHandler.putResource(resourceMetadata, new FileInputStream(file)); + return fileName; + } catch (Exception e) { + throw new AdempiereException(e); + } + } +} diff --git a/base/src/org/spin/util/AttachmentUtil.java b/base/src/org/spin/util/AttachmentUtil.java index 9071276453..cee9f1cd00 100644 --- a/base/src/org/spin/util/AttachmentUtil.java +++ b/base/src/org/spin/util/AttachmentUtil.java @@ -22,10 +22,16 @@ import java.util.List; import java.util.Properties; +import org.adempiere.core.domains.models.I_AD_Image; import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MArchive; +import org.compiere.model.MAttachment; import org.compiere.model.MClientInfo; +import org.compiere.model.MTable; import org.compiere.util.Env; import org.compiere.util.Util; +import org.spin.eca62.support.IS3; +import org.spin.eca62.support.ResourceMetadata; import org.spin.model.MADAppRegistration; import org.spin.model.MADAttachmentReference; import org.spin.util.support.AppSupportHandler; @@ -338,7 +344,7 @@ public byte[] getAttachment() throws Exception { description = attachmentReference.getDescription(); note = attachmentReference.getTextMsg(); // Get data - InputStream inputStream = handler.getResource(getCompleteFileName(attachmentReference)); + InputStream inputStream = handler.getResource(getCompleteFileName(attachmentReference, handler)); if(inputStream == null) { throw new AdempiereException("@FileName@ @NotFound@"); } @@ -440,20 +446,7 @@ public void saveAttachment() throws Exception { // Save attachmentReference.saveEx(); // Save - String validForlder = getValidFolder(attachmentReference); - if(!Util.isEmpty(baseFolder)) { - // Validate if exist - if(!handler.exists(baseFolder)) { - handler.createDirectory(baseFolder); - } - } - if(!Util.isEmpty(validForlder)) { - // Validate if exist - if(!handler.exists(validForlder)) { - handler.createDirectory(validForlder); - } - } - handler.putResource(getCompleteFileName(attachmentReference), data); + handler.putResource(getCompleteFileName(attachmentReference, handler), data); } catch (Exception e) { if(attachmentReference.getAD_AttachmentReference_ID() > 0) { attachmentReference.deleteEx(true); @@ -475,7 +468,7 @@ public void deleteAttachment() throws Exception { } try { // Save - handler.deleteResource(getCompleteFileName(attachmentReference)); + handler.deleteResource(getCompleteFileName(attachmentReference, handler)); // Remove from cache MADAttachmentReference.resetAttachmentReferenceCache(fileHandlerId, attachmentReference); // Delete reference @@ -490,7 +483,54 @@ public void deleteAttachment() throws Exception { * @param attachmentReference * @return */ - private String getCompleteFileName(MADAttachmentReference attachmentReference) { + private String getCompleteFileName(MADAttachmentReference attachmentReference, IWebDav handler) { + if(IS3.class.isAssignableFrom(handler.getClass())) { + if(attachmentReference.getAD_Attachment_ID() > 0) { + MAttachment attachment = new MAttachment(context, attachmentReference.getAD_Attachment_ID(), attachmentReference.get_TrxName()); + String tableName = MTable.getTableName(context, attachment.getAD_Table_ID()); + return ResourceMetadata.newInstance() + .withClientId(attachmentReference.getAD_Client_ID()) + .withContainerType(ResourceMetadata.ContainerType.ATTACHMENT) + .withTableName(tableName) + .withRecordId(attachment.getRecord_ID()) + .withName(attachmentReference.getFileName()) + .getResourceFileName() + ; + } else if(attachmentReference.getAD_Image_ID() > 0) { + return ResourceMetadata.newInstance() + .withClientId(attachmentReference.getAD_Client_ID()) + .withContainerType(ResourceMetadata.ContainerType.RESOURCE) + .withContainerId("image") + .withTableName(I_AD_Image.Table_Name) + .withRecordId(attachmentReference.getAD_Image_ID()) + .withName(attachmentReference.getFileName()) + .getResourceFileName() + ; + } else if(attachmentReference.getAD_Archive_ID() > 0) { + MArchive archive = new MArchive(context, attachmentReference.getAD_Archive_ID(), attachmentReference.get_TrxName()); + String tableName = MTable.getTableName(context, archive.getAD_Table_ID()); + return ResourceMetadata.newInstance() + .withClientId(attachmentReference.getAD_Client_ID()) + .withContainerType(ResourceMetadata.ContainerType.RESOURCE) + .withContainerId("archive") + .withTableName(tableName) + .withRecordId(archive.getRecord_ID()) + .withName(attachmentReference.getFileName()) + .getResourceFileName() + ; + } + } else { + return getCompleteFileNameOld(attachmentReference); + } + return null; + } + + /** + * Get complete path from attachment reference + * @param attachmentReference + * @return + */ + private String getCompleteFileNameOld(MADAttachmentReference attachmentReference) { String fileName = attachmentReference.getValidFileName(); String validForlder = getValidFolder(attachmentReference); String completePath = fileName; diff --git a/build.gradle b/build.gradle index 71b5b06c11..78d154917b 100644 --- a/build.gradle +++ b/build.gradle @@ -43,6 +43,12 @@ dependencies { api project(':telegram') api project(':jasper_reports') api project(':store') + api project(':processors') + api project(':dashboard') + api project(':jwt') + api project(':kafka') + api project(':pos') + api project(':withholding_engine') } def entityType = 'D' diff --git a/dashboard/build.gradle b/dashboard/build.gradle new file mode 100644 index 0000000000..757b120d73 --- /dev/null +++ b/dashboard/build.gradle @@ -0,0 +1,79 @@ +plugins { + id 'java-library' + id 'maven-publish' + id 'signing' +} + +java { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_17 +} + +repositories { + mavenLocal() + mavenCentral() +} + +dependencies { + // Local + api project(path: ':base') +} + +sourceSets { + main { + java { + srcDirs = ['src/main/java/base'] + } + } +} + +def entityType = 'ECA50' + +jar { + manifest { + attributes( + "Implementation-Title": "Dashboard", + "Implementation-Version": publishVersion, + "EntityType": entityType + ) + } +} + +publishing { + repositories { + mavenLocal() + maven { + url = publishLibraryRepo + credentials { + username = publishUsername + password = publishPassword + } + } + } + publications { + mavenJava(MavenPublication) { + groupId publishGroupId + artifactId 'dashboard' + version publishVersion + from components.java + pom { + name = 'Dashboard' + description = 'This project allows improve the dashboard use for ADempiere for new UI' + url = 'http://adempiere.io/' + licenses { + license { + name = 'GNU General Public License, version 2' + url = 'https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt' + } + } + developers { + developer { + id = 'yamelsenih' + name = 'Yamel Senih' + email = 'ysenih@erpya.com' + } + } + } + } + } +} \ No newline at end of file diff --git a/dashboard/src/main/java/base/org/spin/eca50/controller/ChartBuilder.java b/dashboard/src/main/java/base/org/spin/eca50/controller/ChartBuilder.java new file mode 100644 index 0000000000..8835c4db98 --- /dev/null +++ b/dashboard/src/main/java/base/org/spin/eca50/controller/ChartBuilder.java @@ -0,0 +1,289 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2012-2023 E.R.P. Consultores y Asociados, S.A. All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *************************************************************************************/ +package org.spin.eca50.controller; + +import java.math.BigDecimal; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MChart; +import org.compiere.model.MChartDatasource; +import org.compiere.model.MRole; +import org.compiere.model.Query; +import org.compiere.util.DB; +import org.compiere.util.Env; +import org.compiere.util.TimeUtil; +import org.compiere.util.Util; +import org.spin.eca50.data.ChartDataValue; +import org.spin.eca50.data.ChartSeriesValue; +import org.spin.eca50.data.ChartValue; +import org.spin.eca50.util.ChartQueryDefinition; + +/** + * A class as controller for Chart Service + * @author Yamel Senih at www.erpya.com + * + */ +public class ChartBuilder { + + /** + * Get Data Source Query + * @param chartDatasourceId + * @param isTimeSeries + * @param timeUnit + * @param timeScope + * @param customParameters + * @return + */ + private static ChartQueryDefinition getDataSourceQuery(int chartDatasourceId, boolean isTimeSeries, String timeUnit, int timeScope, Map customParameters) { + if(chartDatasourceId <= 0) { + throw new AdempiereException("@FillMandatory@ @AD_ChartDatasource_ID@"); + } + MChartDatasource datasource = new MChartDatasource(Env.getCtx(), chartDatasourceId, null); + if (datasource == null || datasource.getAD_ChartDatasource_ID() <= 0) { + throw new AdempiereException("@AD_ChartDatasource_ID@ @NotFound@"); + } + + String value = datasource.getValueColumn(); + String dateColumn = datasource.getDateColumn(); + String seriesColumn = datasource.getSeriesColumn(); + String name = datasource.getName(); + String where = datasource.getWhereClause(); + String fromClause = datasource.getFromClause(); + String category; + String unit = "D"; + if (!isTimeSeries) { + category = datasource.getCategoryColumn(); + } else { + if (timeUnit.equals(MChart.TIMEUNIT_Week)) { + unit = "W"; + } else if (timeUnit.equals(MChart.TIMEUNIT_Month)) { + unit = "MM"; + } else if (timeUnit.equals(MChart.TIMEUNIT_Quarter)) { + unit = "Q"; + } else if (timeUnit.equals(MChart.TIMEUNIT_Year)) { + unit = "Y"; + } + category = " TRUNC(" + dateColumn + ", '" + unit + "') "; + } + + String series = DB.TO_STRING(name); + boolean hasSeries = false; + if (seriesColumn != null) { + series = seriesColumn; + hasSeries = true; + } + + List parameters = new ArrayList(); + StringBuffer sql = new StringBuffer("SELECT " + value + ", " + category + ", " + series); + sql.append(" FROM ").append(fromClause); + + // where clause + StringBuffer whereClause = new StringBuffer(" WHERE 1=1 "); + + Timestamp currentDate = Env.getContextAsDate(Env.getCtx(), "#Date"); + Timestamp startDate = null; + Timestamp endDate = null; + + int scope = timeScope; + int offset = datasource.getTimeOffset(); + + if (isTimeSeries && scope != 0) { + offset += -scope; + startDate = TimeUtil.getDay(TimeUtil.addDuration(currentDate, timeUnit, offset)); + endDate = TimeUtil.getDay(TimeUtil.addDuration(currentDate, timeUnit, scope)); + } + + if (startDate != null && endDate != null) { + whereClause.append(" AND ").append(category).append(" >= ? ") + .append("AND ").append(category).append(" <= ? ") + ; + parameters.add(startDate); + parameters.add(endDate); + } + // Add custom parameters + if (customParameters != null && customParameters.size() > 0) { + customParameters.entrySet().forEach(parameter -> { + whereClause.append(" AND ") + .append(parameter.getKey()) + ; + + // add value(s) + Object currentValue = parameter.getValue(); + if (currentValue instanceof Collection) { + // is multiple values to IN or BETWEEN operators + addCollectionParameters(currentValue, parameters); + } else { + parameters.add(currentValue); + } + }); + } + + // Add where clause + sql.append(whereClause); + + MRole role = MRole.getDefault(Env.getCtx(), false); + String sqlWithAccess = role.addAccessSQL( + sql.toString(), + null, + MRole.SQL_FULLYQUALIFIED, + MRole.SQL_RO + ); + + if (!Util.isEmpty(where, true)) { + String parsedWhere = Env.parseContext(Env.getCtx(), 0, where, true); + if (parsedWhere.trim().startsWith("WHERE")) { + int startIndex = "WHERE".length(); + parsedWhere = parsedWhere.trim().substring(startIndex); + } + sqlWithAccess += " AND (" + parsedWhere.trim() + ")"; + } + + sql = new StringBuffer(sqlWithAccess); + + if (hasSeries) { + sql.append(" GROUP BY " + series + ", " + category + " ORDER BY " + series + ", " + category); + } else { + sql.append(" GROUP BY " + category + " ORDER BY " + category); + } + return new ChartQueryDefinition(name, sql.toString(), parameters); + } + + /** + * Get Chart data + * This method allows run all data sources and get data + * @param chartId + * @param customParameters + * @return + */ + public static ChartValue getChartData(int chartId, Map customParameters) { + if(chartId <= 0) { + throw new AdempiereException("@AD_Chart_ID@ @NotFound@"); + } + MChart chart = new MChart(Env.getCtx(), chartId, null); + ChartValue metrics = new ChartValue(chart.getName()); + List dataSources = new ArrayList(); + new Query(Env.getCtx(), MChartDatasource.Table_Name, MChart.COLUMNNAME_AD_Chart_ID + " = ?", null) + .setParameters(chart.getAD_Chart_ID()) + .setOnlyActiveRecords(true) + .getIDsAsList().forEach(chartDataSourceId -> { + ChartQueryDefinition queryDefinition = getDataSourceQuery( + chartDataSourceId, + chart.isTimeSeries(), chart.getTimeUnit(), chart.getTimeScope(), + customParameters + ); + dataSources.add(queryDefinition); + }); + // Run queries + if (dataSources != null && dataSources.size() > 0) { + Map>> seriesMap = new HashMap>>(); + dataSources.forEach(dataSource -> { + PreparedStatement pstmt = null; + ResultSet rs = null; + try { + pstmt = DB.prepareStatement(dataSource.getQuery(), null); + DB.setParameters(pstmt, dataSource.getParameters()); + + rs = pstmt.executeQuery(); + while(rs.next()) { + String key = rs.getString(2); + String seriesName = rs.getString(3); + if(chart.isTimeSeries()) { + // TODO: Define it with dates + } + BigDecimal amount = rs.getBigDecimal(1); + + // series values + List> valuesList = new ArrayList>(); + if (seriesMap.containsKey(seriesName)) { + valuesList = seriesMap.get(seriesName); + } + HashMap valuesMap = new HashMap(); + valuesMap.put(key, amount); + valuesList.add(valuesMap); + + seriesMap.put(seriesName, valuesList); + } + } catch (Exception e) { + throw new AdempiereException(e); + } finally { + DB.close(rs, pstmt); + rs = null; + pstmt = null; + } + }); + + seriesMap.entrySet().stream().forEach(seriesEntry -> { + ChartSeriesValue chartSerie = new ChartSeriesValue(seriesEntry.getKey()); + // each values list + seriesEntry.getValue().stream().forEach(serie -> { + serie.entrySet().stream().forEach(value -> { + String name = value.getKey(); + BigDecimal amount = value.getValue(); + ChartDataValue data = new ChartDataValue(name, amount); + // fill series with value data + chartSerie.addData(data); + }); + }); + metrics.addSerie(chartSerie); + }); + } + // + return metrics; + } + + + /** + * When filter value is a collection (List, ArrayList) + * @param objectColelction + * @param parameters + */ + @SuppressWarnings("unchecked") + public static void addCollectionParameters(Object objectColelction, List parameters) { + if (objectColelction instanceof Collection) { + try { + Collection collection = (Collection) objectColelction; + // for-each loop + for (Object rangeValue : collection) { + parameters.add(rangeValue); + } + } + catch (Exception e) { + System.out.println(e.getMessage()); + } + } + } + + + public static void main(String[] args) { + org.compiere.Adempiere.startup(true); + Env.setContext(Env.getCtx(), "#Date", new Timestamp(System.currentTimeMillis())); + Env.setContext(Env.getCtx(), "#AD_Client_ID", 1000000); + Env.setContext(Env.getCtx(), "#AD_Role_ID", 1000000); + Map customParameters = new HashMap(); + customParameters.put("i.DateInvoiced <= ?", new Timestamp(System.currentTimeMillis())); + ChartValue data = getChartData(1000000, customParameters); + System.out.println(data); + } + +} diff --git a/dashboard/src/main/java/base/org/spin/eca50/data/ChartDataValue.java b/dashboard/src/main/java/base/org/spin/eca50/data/ChartDataValue.java new file mode 100644 index 0000000000..4d02584685 --- /dev/null +++ b/dashboard/src/main/java/base/org/spin/eca50/data/ChartDataValue.java @@ -0,0 +1,42 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2012-2023 E.R.P. Consultores y Asociados, S.A. All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *************************************************************************************/ +package org.spin.eca50.data; + +import java.math.BigDecimal; + +/** + * Stub for chart data values + * @author Yamel Senih at www.erpya.com + * + */ +public final class ChartDataValue { + + private String name; + private BigDecimal amount; + + public ChartDataValue(String name, BigDecimal amount) { + this.name = name; + this.amount = amount; + } + + public String getName() { + return name; + } + + public BigDecimal getAmount() { + return amount; + } +} diff --git a/dashboard/src/main/java/base/org/spin/eca50/data/ChartSeriesValue.java b/dashboard/src/main/java/base/org/spin/eca50/data/ChartSeriesValue.java new file mode 100644 index 0000000000..b6d95a8ca2 --- /dev/null +++ b/dashboard/src/main/java/base/org/spin/eca50/data/ChartSeriesValue.java @@ -0,0 +1,55 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2012-2023 E.R.P. Consultores y Asociados, S.A. All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *************************************************************************************/ +package org.spin.eca50.data; + +import java.util.ArrayList; +import java.util.List; + +/** + * Stub for chart series + * @author Yamel Senih at www.erpya.com + * + */ +public final class ChartSeriesValue { + + private String name; + private List dataSet; + + public ChartSeriesValue(String name) { + this.name = name; + this.dataSet = new ArrayList(); + } + + public ChartSeriesValue addData(ChartDataValue data) { + if(data != null) { + dataSet.add(data); + } + return this; + } + + public ChartSeriesValue setName(String name) { + this.name = name; + return this; + } + + public String getName() { + return name; + } + + public List getDataSet() { + return dataSet; + } +} diff --git a/dashboard/src/main/java/base/org/spin/eca50/data/ChartValue.java b/dashboard/src/main/java/base/org/spin/eca50/data/ChartValue.java new file mode 100644 index 0000000000..e9d7c64dd8 --- /dev/null +++ b/dashboard/src/main/java/base/org/spin/eca50/data/ChartValue.java @@ -0,0 +1,50 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2012-2023 E.R.P. Consultores y Asociados, S.A. All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *************************************************************************************/ +package org.spin.eca50.data; + +import java.util.ArrayList; +import java.util.List; + +/** + * Stub for chart value + * @author Yamel Senih at www.erpya.com + * + */ +public class ChartValue { + + private List series; + private String name; + + public ChartValue(String name) { + this.series = new ArrayList(); + this.name = name; + } + + public ChartValue addSerie(ChartSeriesValue serie) { + if(serie != null) { + series.add(serie); + } + return this; + } + + public List getSeries() { + return series; + } + + public String getName() { + return name; + } +} diff --git a/dashboard/src/main/java/base/org/spin/eca50/model/validator/Chart.java b/dashboard/src/main/java/base/org/spin/eca50/model/validator/Chart.java new file mode 100644 index 0000000000..f0521c1556 --- /dev/null +++ b/dashboard/src/main/java/base/org/spin/eca50/model/validator/Chart.java @@ -0,0 +1,96 @@ +/************************************************************************************ + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.eca50.model.validator; + +import org.adempiere.core.domains.models.I_C_Order; +import org.adempiere.core.domains.models.I_C_OrderLine; +import org.compiere.model.MClient; +import org.compiere.model.MDocType; +import org.compiere.model.MOrder; +import org.compiere.model.ModelValidationEngine; +import org.compiere.model.ModelValidator; +import org.compiere.model.PO; +import org.compiere.util.CLogger; +import org.spin.eca50.util.Changes; + +/** + * Write here your change comment + * Please rename this class and package + * @author Yamel Senih ysenih@erpya.com + * + */ +public class Chart implements ModelValidator { + + /** Logger */ + private static CLogger log = CLogger.getCLogger(Chart.class); + /** Client */ + private int clientId = -1; + + @Override + public void initialize(ModelValidationEngine engine, MClient client) { + // client = null for global validator + if (client != null) { + clientId = client.getAD_Client_ID(); + log.info(client.toString()); + } else { + log.info("Initializing global validator: " + this.toString()); + } + // Add Persistence for IsDefault values + engine.addDocValidate(I_C_Order.Table_Name, this); + engine.addModelChange(I_C_OrderLine.Table_Name, this); + } + + @Override + public int getAD_Client_ID() { + return clientId; + } + + @Override + public String login(int AD_Org_ID, int AD_Role_ID, int AD_User_ID) { + log.info("AD_User_ID=" + AD_User_ID); + return null; + } + + @Override + public String modelChange(PO entity, int type) throws Exception { + if(type == TYPE_BEFORE_NEW + || type == TYPE_BEFORE_CHANGE) { + if(entity.get_TableName().equals(I_C_OrderLine.Table_Name)) { + // For Sales Orders + if(entity.is_new() + || entity.is_ValueChanged(I_C_OrderLine.COLUMNNAME_M_Product_ID)) { + + } + } + } + return null; + } + + @Override + public String docValidate(PO entity, int timing) { + if(timing == TIMING_BEFORE_COMPLETE) { + if(entity.get_TableName().equals(I_C_Order.Table_Name)) { + MOrder order = (MOrder) entity; + MDocType documentType = MDocType.get(entity.getCtx(), order.getC_DocTypeTarget_ID()); + if(order.isSOTrx() + && !order.isReturnOrder() + && documentType.get_ValueAsBoolean(Changes.COLUMNNAME_ColumAddedToCore)) { + + } + } + } + return null; + } +} diff --git a/dashboard/src/main/java/base/org/spin/eca50/setup/DeployChart.java b/dashboard/src/main/java/base/org/spin/eca50/setup/DeployChart.java new file mode 100644 index 0000000000..0d035c3d8c --- /dev/null +++ b/dashboard/src/main/java/base/org/spin/eca50/setup/DeployChart.java @@ -0,0 +1,75 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca50.setup; + +import java.util.Properties; + +import org.compiere.model.Query; +import org.adempiere.core.domains.models.X_AD_ModelValidator; +import org.spin.eca50.model.validator.Chart; +import org.spin.util.ISetupDefinition; + +/** + * Add here your setup class + * Please rename this class and package + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class DeployChart implements ISetupDefinition { + + private static final String DESCRIPTION = "(*Created from Setup Automatically*)"; + private static final String UUID = "(*AutomaticSetup*)"; + private static final String NAME = "Template Setup"; + private static final String ENTITY_TYPE = null; + private static final int DEFAULT_SEQUENCE = 300; + + @Override + public String doIt(Properties context, String transactionName) { + // Add Model Validator + createModelValidator(context, transactionName); + // financial management + return "@AD_SetupDefinition_ID@ @Ok@"; + } + + /** + * Create Model Vaidator + * @param context + * @param transactionName + * @return + */ + private X_AD_ModelValidator createModelValidator(Properties context, String transactionName) { + X_AD_ModelValidator modelValidator = new Query(context, X_AD_ModelValidator.Table_Name, X_AD_ModelValidator.COLUMNNAME_ModelValidationClass + " = ?", transactionName) + .setParameters(Chart.class.getName()) + .setClient_ID() + .first(); + // Validate + if(modelValidator != null + && modelValidator.getAD_ModelValidator_ID() > 0) { + return modelValidator; + } + // + modelValidator = new X_AD_ModelValidator(context, 0, transactionName); + modelValidator.setName(NAME); + modelValidator.setEntityType(ENTITY_TYPE); + modelValidator.setDescription(DESCRIPTION); + modelValidator.setSeqNo(DEFAULT_SEQUENCE); + modelValidator.setModelValidationClass(Chart.class.getName()); + modelValidator.setUUID(UUID); + modelValidator.setIsDirectLoad(true); + modelValidator.saveEx(); + return modelValidator; + } +} diff --git a/dashboard/src/main/java/base/org/spin/eca50/util/Changes.java b/dashboard/src/main/java/base/org/spin/eca50/util/Changes.java new file mode 100644 index 0000000000..2b3ee39017 --- /dev/null +++ b/dashboard/src/main/java/base/org/spin/eca50/util/Changes.java @@ -0,0 +1,28 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2019 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca50.util; + +/** + * Add here all changes for core and static methods + * Please rename this class and package + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Changes { + /** Colum added to core */ + public static final String COLUMNNAME_ColumAddedToCore = "ColumAddedToCore"; +} diff --git a/dashboard/src/main/java/base/org/spin/eca50/util/ChartQueryDefinition.java b/dashboard/src/main/java/base/org/spin/eca50/util/ChartQueryDefinition.java new file mode 100644 index 0000000000..1ea479b7aa --- /dev/null +++ b/dashboard/src/main/java/base/org/spin/eca50/util/ChartQueryDefinition.java @@ -0,0 +1,48 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2012-2023 E.R.P. Consultores y Asociados, S.A. All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *************************************************************************************/ +package org.spin.eca50.util; + +import java.util.List; + +/** + * Query Definition + * @author Yamel Senih at www.erpya.com + * + */ +public class ChartQueryDefinition { + + private List parameters; + private String query; + private String name; + + public ChartQueryDefinition(String name, String query, List parameters) { + this.name = name; + this.parameters = parameters; + this.query = query; + } + + public String getName() { + return name; + } + + public String getQuery() { + return query; + } + + public List getParameters() { + return parameters; + } +} diff --git a/jwt/build.gradle b/jwt/build.gradle new file mode 100644 index 0000000000..42529c2c2f --- /dev/null +++ b/jwt/build.gradle @@ -0,0 +1,82 @@ +plugins { + id 'java-library' + id 'maven-publish' + id 'signing' +} + +java { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_17 +} + +repositories { + mavenLocal() + mavenCentral() +} + +dependencies { + api "io.jsonwebtoken:jjwt-api:0.12.6" + api "io.jsonwebtoken:jjwt-impl:0.12.6" + api "io.jsonwebtoken:jjwt-jackson:0.12.6" + // Local + api project(path: ':base') +} + +sourceSets { + main { + java { + srcDirs = ['src/main/java/base'] + } + } +} + +def entityType = 'ECA52' + +jar { + manifest { + attributes( + "Implementation-Title": "JWT Tool", + "Implementation-Version": publishVersion, + "EntityType": entityType + ) + } +} + +publishing { + repositories { + mavenLocal() + maven { + url = publishLibraryRepo + credentials { + username = publishUsername + password = publishPassword + } + } + } + publications { + mavenJava(MavenPublication) { + groupId publishGroupId + artifactId 'jwt' + version publishVersion + from components.java + pom { + name = 'JWT' + description = 'Generate JWT for Login from third party access' + url = 'http://adempiere.io/' + licenses { + license { + name = 'GNU General Public License, version 2' + url = 'https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt' + } + } + developers { + developer { + id = 'yamelsenih' + name = 'Yamel Senih' + email = 'ysenih@erpya.com' + } + } + } + } + } +} \ No newline at end of file diff --git a/jwt/src/main/java/base/org/spin/eca52/security/JWT.java b/jwt/src/main/java/base/org/spin/eca52/security/JWT.java new file mode 100644 index 0000000000..bf1366ec14 --- /dev/null +++ b/jwt/src/main/java/base/org/spin/eca52/security/JWT.java @@ -0,0 +1,276 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca52.security; + +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import java.security.NoSuchAlgorithmException; +import java.sql.Timestamp; +import java.util.Base64; +import java.util.Date; +import java.util.Map; +import java.util.Optional; + +import javax.crypto.SecretKey; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MSysConfig; +import org.compiere.model.Query; +import org.compiere.util.Env; +import org.compiere.util.SecureEngine; +import org.compiere.util.Util; +import org.spin.eca52.util.JWTUtil; +import org.spin.model.MADToken; +import org.spin.model.MADTokenDefinition; +import org.spin.util.IThirdPartyAccessGenerator; + +import com.fasterxml.jackson.databind.ObjectMapper; + +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jws; +import io.jsonwebtoken.JwtBuilder; +import io.jsonwebtoken.JwtParser; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.security.Keys; + +/** + * A simple token generator for third party access + * Note: You should generate your own token generator + * @author Yamel Senih, ySenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class JWT implements IThirdPartyAccessGenerator { + + /** Default Token */ + private MADToken token = null; + /** User Token value */ + private String userTokenValue = null; + /** Language */ + private String language; + /** Session ID */ + private int sessionId; + + public JWT() { + // + } + + @Override + public String generateToken(String tokenType, int userId) { + throw new AdempiereException("@Unsupported@"); + } + + + @Override + public boolean validateToken(String token, int userId) { + return false; + } + + @Override + public MADToken getToken() { + return token; + } + + @Override + public String getTokenValue() { + return userTokenValue; + } + + /** + * Get JWT Secrect Key generates with HMAC-SHA algorithms + * @return + */ + private static String getJWT_SecretKeyAsString(int clientId) { + // get by SysConfig client + String secretKey = MSysConfig.getValue( + JWTUtil.ECA52_JWT_SECRET_KEY, + clientId + ); + if(Util.isEmpty(secretKey, true)) { + throw new AdempiereException( + "@ECA52_JWT_SECRET_KEY@ @NotFound@" + ); + } + return secretKey; + } + private static SecretKey getJWT_SecretKey(int clientId) { + byte[] keyBytes = Base64.getDecoder().decode( + getJWT_SecretKeyAsString(clientId) + ); + SecretKey secretKey = Keys.hmacShaKeyFor(keyBytes); + return secretKey; + } + + + @Override + public String generateToken(int userId, int roleId) { + // Validate user + if(userId < 0) { + throw new AdempiereException("@AD_User_ID@ @NotFound@"); + } + // Validate Role + if(roleId < 0) { + throw new AdempiereException("@AD_Role_ID@ @NotFound@"); + } + MADToken token = new MADToken(Env.getCtx(), 0, null); + token.setTokenType(MADTokenDefinition.TOKENTYPE_ThirdPartyAccess); + if(token.getAD_TokenDefinition_ID() <= 0) { + // TODO: Change message translation + throw new AdempiereException("@AD_TokenDefinition_ID@ @NotFound@"); + } + + MADTokenDefinition definition = MADTokenDefinition.getById(Env.getCtx(), token.getAD_TokenDefinition_ID(), null); + if (definition == null || definition.getAD_TokenDefinition_ID() <= 0) { + throw new AdempiereException("@AD_TokenDefinition_ID@ @NotFound@"); + } + + // Create default session + // TODO: Create session with created from parameter + int clientId = Env.getAD_Client_ID(Env.getCtx()); + SecretKey secretKey = getJWT_SecretKey(clientId); + long currentTimeMillis = System.currentTimeMillis(); + JwtBuilder jwtBuilder = Jwts.builder() + // .id(String.valueOf(session.getAD_Session_ID())) + .claim("AD_Client_ID", clientId) + .claim("AD_Org_ID", Env.getAD_Org_ID(Env.getCtx())) + .claim("AD_Role_ID", roleId) + .claim("AD_User_ID", userId) + .claim("M_Warehouse_ID", Env.getContextAsInt(Env.getCtx(), "#M_Warehouse_ID")) + .claim("AD_Language", Env.getAD_Language(Env.getCtx())) + .issuedAt( + new Date(currentTimeMillis) + ) + .signWith(secretKey, Jwts.SIG.HS256) + ; + + // Validate + if(definition.isHasExpireDate()) { + BigDecimal expirationTime = Optional.ofNullable( + definition.getExpirationTime() + ).orElse( + new BigDecimal(5 * 60 * 1000) + ) + ; + token.setExpireDate( + new Timestamp(currentTimeMillis + expirationTime.longValue()) + ); + jwtBuilder.expiration( + new Date(currentTimeMillis + expirationTime.longValue()) + ); + } + userTokenValue = jwtBuilder.compact(); + String tokenValue = null; + try { + // + byte[] saltValue = new byte[8]; + // Digest computation + tokenValue = SecureEngine.getSHA512Hash(1000, userTokenValue, saltValue); + } catch (NoSuchAlgorithmException e) { + new AdempiereException(e); + } catch (UnsupportedEncodingException e) { + new AdempiereException(e); + } + if(Util.isEmpty(userTokenValue)) { + throw new AdempiereException("@TokenValue@ @NotFound@"); + } + token.setTokenValue(tokenValue); + token.setAD_User_ID(userId); + token.setAD_Role_ID(roleId); + token.saveEx(); + return userTokenValue; + } + + @Override + public boolean validateToken(String tokenValue) { + String encryptedValue = null; + try { + Base64.Decoder decoder = Base64.getUrlDecoder(); + String[] chunks = tokenValue.split("\\."); + if(chunks == null || chunks.length < 3) { + throw new AdempiereException("@TokenValue@ @NotFound@"); + } + String payload = new String(decoder.decode(chunks[1])); + ObjectMapper mapper = new ObjectMapper(); + @SuppressWarnings("unchecked") + Map dataAsMap = mapper.readValue(payload, Map.class); + Object clientAsObject = dataAsMap.get("AD_Client_ID"); + if(clientAsObject == null + || !clientAsObject.getClass().isAssignableFrom(Integer.class)) { + throw new AdempiereException("@Invalid@ @AD_Client_ID@"); + } + + SecretKey secretKey = getJWT_SecretKey( + (int) clientAsObject + ); + // Validate if is token based + JwtParser parser = Jwts.parser() + .verifyWith(secretKey) + .build() + ; + Jws claims = parser.parseSignedClaims(tokenValue); + if(!Util.isEmpty(claims.getPayload().getId(), true)) { + sessionId = Integer.parseInt( + claims.getPayload().getId() + ); + } else { + sessionId = 0; + } + + byte[] saltValue = new byte[8]; + encryptedValue = SecureEngine.getSHA512Hash(1000, tokenValue, saltValue); + } catch (Exception e) { + new AdempiereException(e); + } + token = getToken(encryptedValue); + if(token == null + || token.getAD_Token_ID() <= 0) { + return false; + } + MADTokenDefinition definition = MADTokenDefinition.getById(Env.getCtx(), token.getAD_TokenDefinition_ID(), null); + if(definition.isHasExpireDate()) { + Timestamp current = new Timestamp(System.currentTimeMillis()); + if(token != null && token.getExpireDate().compareTo(current) > 0) { + return true; + } else { + return false; + } + } + // Is Ok + return true; + } + + /** + * Get system token based on encrypted user token + * @param encryptedValue + * @return + */ + private MADToken getToken(String encryptedValue) { + return new Query(Env.getCtx(), MADToken.Table_Name, "TokenValue = ? " + + "AND EXISTS(SELECT 1 FROM AD_User_Roles ur WHERE ur.AD_User_ID = AD_Token.AD_User_ID AND ur.AD_Role_ID = AD_Token.AD_Role_ID AND ur.IsActive = 'Y') " + + "AND EXISTS(SELECT 1 FROM AD_User u WHERE u.AD_User_ID = AD_Token.AD_User_ID AND u.IsActive = 'Y' AND u.IsLoginUser = 'Y') " + + "AND EXISTS(SELECT 1 FROM AD_Role r WHERE r.AD_Role_ID = AD_Token.AD_Role_ID AND r.IsActive = 'Y')", null) + .setParameters(encryptedValue) + .setOnlyActiveRecords(true) + .first(); + } + + public String getLanguage() { + return language; + } + + public int getSessionId() { + return sessionId; + } +} diff --git a/jwt/src/main/java/base/org/spin/eca52/setup/CreateTokenDefinition.java b/jwt/src/main/java/base/org/spin/eca52/setup/CreateTokenDefinition.java new file mode 100644 index 0000000000..df4fd27cb1 --- /dev/null +++ b/jwt/src/main/java/base/org/spin/eca52/setup/CreateTokenDefinition.java @@ -0,0 +1,99 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca52.setup; + +import java.util.Properties; + +import org.compiere.model.MSysConfig; +import org.compiere.model.Query; +import org.compiere.util.Env; +import org.spin.eca52.security.JWT; +import org.spin.eca52.util.JWTUtil; +import org.spin.model.MADTokenDefinition; +import org.spin.util.ISetupDefinition; + +/** + * A JWT Definition for generate ADempiere Token + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class CreateTokenDefinition implements ISetupDefinition { + + private static final String DESCRIPTION = "A JWT definition for Third Party Access, see https://jwt.io/"; + private static final String VALUE = "JWT"; + private static final String NAME = "JWT Definition"; + + @Override + public String doIt(Properties context, String transactionName) { + // Add Token Definition + createTokenDefinition(context, transactionName); + + // Add System Configurator + createSystemConfigurator(context, transactionName); + + // token definition + return "@AD_SetupDefinition_ID@ @Ok@"; + } + + /** + * Create Token Definition + * @param context + * @param transactionName + * @return + */ + private MADTokenDefinition createTokenDefinition(Properties context, String transactionName) { + MADTokenDefinition tokenDefinition = new Query(context, MADTokenDefinition.Table_Name, MADTokenDefinition.COLUMNNAME_Classname + " = ?", transactionName) + .setParameters(JWT.class.getName()) + .setClient_ID() + .first(); + // Validate + if(tokenDefinition != null + && tokenDefinition.getAD_TokenDefinition_ID() > 0) { + return tokenDefinition; + } + // + tokenDefinition = new MADTokenDefinition(context, 0, transactionName); + tokenDefinition.setAD_Org_ID(0); + tokenDefinition.setTokenType(MADTokenDefinition.TOKENTYPE_ThirdPartyAccess); + tokenDefinition.setValue(VALUE); + tokenDefinition.setName(NAME); + tokenDefinition.setDescription(DESCRIPTION); + tokenDefinition.setClassname(JWT.class.getName()); + tokenDefinition.setIsHasExpireDate(false); + tokenDefinition.setExpirationTime(Env.ZERO); + tokenDefinition.saveEx(); + return tokenDefinition; + } + + + private MSysConfig createSystemConfigurator(Properties context, String transactionName) { + MSysConfig secretKey = MSysConfig.get(context, JWTUtil.ECA52_JWT_SECRET_KEY, transactionName); + if (secretKey != null) { + return secretKey; + } + // + secretKey = new MSysConfig(context, 0, transactionName); + secretKey.setEntityType(JWTUtil.ECA52_EntityType); + secretKey.setAD_Org_ID(0); + secretKey.setConfigurationLevel(MSysConfig.CONFIGURATIONLEVEL_Client); + secretKey.setValue(""); + secretKey.setName(JWTUtil.ECA52_JWT_SECRET_KEY); + secretKey.setDescription("A Secret Key for generate JWT based token, fill it"); + secretKey.saveEx(); + return secretKey; + } + +} diff --git a/jwt/src/main/java/base/org/spin/eca52/util/JWTUtil.java b/jwt/src/main/java/base/org/spin/eca52/util/JWTUtil.java new file mode 100644 index 0000000000..50e9c186ed --- /dev/null +++ b/jwt/src/main/java/base/org/spin/eca52/util/JWTUtil.java @@ -0,0 +1,36 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2019 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca52.util; + +/** + * Here all need for thus functionality of JWT + * Please rename this class and package + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class JWTUtil { + + /** Entity Type Spin Contribution (JWT Token Generator) */ + public static final String ECA52_EntityType = "ECA52"; + + /** Default key for JWT */ + public static final String ECA52_JWT_SECRET_KEY = "ECA52_JWT_SECRET_KEY"; + + /** Default expiration time for JWT */ + public static final String ECA52_JWT_EXPIRATION_TIME = "ECA52_JWT_EXPIRATION_TIME"; + +} diff --git a/jwt/xml/migration/10300_ECA52_Add_Entity_Type.xml b/jwt/xml/migration/10300_ECA52_Add_Entity_Type.xml new file mode 100644 index 0000000000..bdc54c29d8 --- /dev/null +++ b/jwt/xml/migration/10300_ECA52_Add_Entity_Type.xml @@ -0,0 +1,28 @@ + + + + + + + 50514a9b-f22c-48ff-8c5f-9c91814c1aef + 100 + 2023-05-20 10:26:54.862 + false + Spin Contribution (JWT Token Generator) + org.spin.eca52.model + true + Contribution by E.R.P Consultores y Asociados, C.A +https://erpya.com/ +See: https://jwt.io/ for JWT references + ECA52 + A contribution for Generate JWT Token for Third Party Access + 100 + 2023-05-20 10:26:54.862 + + 0 + 50153 + 0 + + + + diff --git a/jwt/xml/migration/10310_ECA52_Add_Setup_for_Token_Definition.xml b/jwt/xml/migration/10310_ECA52_Add_Setup_for_Token_Definition.xml new file mode 100644 index 0000000000..c5a9589fed --- /dev/null +++ b/jwt/xml/migration/10310_ECA52_Add_Setup_for_Token_Definition.xml @@ -0,0 +1,23 @@ + + + + + + ab3b58b3-7f7a-4945-b6da-39d368ae8e37 + 100 + 2023-05-20 10:30:26.568 + Create a Definition for JWT + true + + ECA52 + Use this setup for create a Token based on JWT, see https://jwt.io/ + 100 + 2023-05-20 10:30:26.568 + org.spin.eca52.setup.CreateTokenDefinition + 50079 + 0 + 0 + + + + diff --git a/jwt/xml/migration/10320_ECA52_Add_Error_Message.xml b/jwt/xml/migration/10320_ECA52_Add_Error_Message.xml new file mode 100644 index 0000000000..2035e80c93 --- /dev/null +++ b/jwt/xml/migration/10320_ECA52_Add_Error_Message.xml @@ -0,0 +1,47 @@ + + + + + + ECA52_JWT_SECRET_KEY + 665f9689-8381-486a-ae7c-8845c404f287 + 100 + 2023-05-20 11:09:33.424 + E + + Secret Key not found, please fill it before generate + true + ECA52 + 100 + 2023-05-20 11:09:33.424 + 0 + 53757 + 0 + + + + + 1cdd2a0e-1a7d-4a41-8389-cffd43401cfb + 100 + 2023-05-20 11:09:34.566 + + Secret Key not found, please fill it before generate + false + true + 100 + 2023-05-20 11:09:34.566 + 0 + 53757 + es_MX + 0 + + + + + CLave secreta no encontrada, por favor llene la misma antes de generar un nuevo token + 53757 + es_MX + + + + diff --git a/kafka/build.gradle b/kafka/build.gradle new file mode 100644 index 0000000000..b9fed34420 --- /dev/null +++ b/kafka/build.gradle @@ -0,0 +1,81 @@ +plugins { + id 'java-library' + id 'maven-publish' + id 'signing' +} + +java { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_17 +} + +repositories { + mavenLocal() + mavenCentral() +} + +dependencies { + api 'org.apache.kafka:kafka_2.13:2.8.2' + api 'io.vavr:vavr:0.10.4' + // Local + api project(path: ':base') +} + +sourceSets { + main { + java { + srcDirs = ['src/main/java/base'] + } + } +} + +def entityType = 'ECA56' + +jar { + manifest { + attributes( + "Implementation-Title": "Kafka Connector", + "Implementation-Version": publishVersion, + "EntityType": entityType + ) + } +} + +publishing { + repositories { + mavenLocal() + maven { + url = publishLibraryRepo + credentials { + username = publishUsername + password = publishPassword + } + } + } + publications { + mavenJava(MavenPublication) { + groupId publishGroupId + artifactId 'kafka' + version publishVersion + from components.java + pom { + name = 'Kafka Connector' + description = 'A Queue manager for send records from ADempiere to queue, this implementation was created with kafka queue' + url = 'http://adempiere.io/' + licenses { + license { + name = 'GNU General Public License, version 2' + url = 'https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt' + } + } + developers { + developer { + id = 'yamelsenih' + name = 'Yamel Senih' + email = 'ysenih@erpya.com' + } + } + } + } + } +} \ No newline at end of file diff --git a/kafka/src/main/java/base/org/spin/eca56/model/validator/EngineAsQueue.java b/kafka/src/main/java/base/org/spin/eca56/model/validator/EngineAsQueue.java new file mode 100644 index 0000000000..20982638ff --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/model/validator/EngineAsQueue.java @@ -0,0 +1,101 @@ +/************************************************************************************ + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.eca56.model.validator; + +import org.adempiere.core.domains.models.I_AD_Form; +import org.adempiere.core.domains.models.I_AD_Process; +import org.adempiere.core.domains.models.I_AD_Table; +import org.compiere.model.MClient; +import org.compiere.model.MTable; +import org.compiere.model.ModelValidationEngine; +import org.compiere.model.ModelValidator; +import org.compiere.model.PO; +import org.compiere.model.Query; +import org.compiere.util.CLogger; +import org.compiere.util.Env; +import org.spin.eca56.util.queue.ApplicationDictionary; +import org.spin.eca56.util.queue.DocumentManagement; +import org.spin.queue.util.QueueLoader; + +/** + * Convert the current engines to queue, this allows process all functionalities as external engines and async + * @author Yamel Senih ysenih@erpya.com + * + */ +public class EngineAsQueue implements ModelValidator { + + /** Logger */ + private static CLogger log = CLogger.getCLogger(EngineAsQueue.class); + /** Client */ + private int clientId = -1; + + @Override + public void initialize(ModelValidationEngine engine, MClient client) { + // client = null for global validator + if (client != null) { + clientId = client.getAD_Client_ID(); + log.info(client.toString()); + } else { + log.info("Initializing global validator: " + this.toString()); + } + // Add Persistence for IsDefault values + new Query(Env.getCtx(), I_AD_Table.Table_Name, I_AD_Table.COLUMNNAME_IsDocument + " = 'Y'", null) + .setOnlyActiveRecords(true) + .list().forEach(table -> { + engine.addDocValidate(table.getTableName(), this); + }); + } + + @Override + public int getAD_Client_ID() { + return clientId; + } + + @Override + public String login(int AD_Org_ID, int AD_Role_ID, int AD_User_ID) { + log.info("AD_User_ID=" + AD_User_ID); + return null; + } + + @Override + public String modelChange(PO entity, int type) throws Exception { + if(type == TYPE_BEFORE_NEW + || type == TYPE_BEFORE_CHANGE) { + if(entity.get_TableName().equals(I_AD_Process.Table_Name)) { + // For Sales Orders + if(entity.is_new() + || (!entity.is_ValueChanged(I_AD_Process.COLUMNNAME_Statistic_Count) + && !entity.is_ValueChanged(I_AD_Process.COLUMNNAME_Statistic_Seconds))) { + QueueLoader.getInstance().getQueueManager(ApplicationDictionary.CODE).withEntity(entity); + } + } else if (entity.get_TableName().equals(I_AD_Form.Table_Name) + || entity.get_TableName().equals(I_AD_Form.Table_Name + "_Trl")) { + QueueLoader.getInstance().getQueueManager(ApplicationDictionary.CODE).withEntity(entity); + } + } + return null; + } + + @Override + public String docValidate(PO entity, int timing) { + if(timing == TIMING_AFTER_COMPLETE + || timing == TIMING_AFTER_REVERSECORRECT + || timing == TIMING_AFTER_REVERSEACCRUAL + || timing == TIMING_AFTER_VOID) { + QueueLoader.getInstance().getQueueManager(DocumentManagement.CODE).withEntity(entity).addToQueue(); + } + return null; + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/process/ExportCurrentDictionaryDefinition.java b/kafka/src/main/java/base/org/spin/eca56/process/ExportCurrentDictionaryDefinition.java new file mode 100644 index 0000000000..f2376879c4 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/process/ExportCurrentDictionaryDefinition.java @@ -0,0 +1,190 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2024 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca56.process; + +import org.adempiere.core.domains.models.I_AD_Browse; +import org.adempiere.core.domains.models.I_AD_Form; +import org.adempiere.core.domains.models.I_AD_Menu; +import org.adempiere.core.domains.models.I_AD_Process; +import org.adempiere.core.domains.models.I_AD_Tree; +import org.adempiere.core.domains.models.I_AD_Window; +import org.adempiere.exceptions.AdempiereException; +import org.adempiere.model.MBrowse; +import org.compiere.model.MForm; +import org.compiere.model.MMenu; +import org.compiere.model.MProcess; +import org.compiere.model.MTree; +import org.compiere.model.MWindow; +import org.compiere.model.Query; +import org.spin.eca56.util.queue.ApplicationDictionary; +import org.spin.queue.util.QueueLoader; + +/** Generated Process for (Export Current Dictionary Definition) + * @author Edwin Betancourt + * @version Release 3.9.4 + */ +public class ExportCurrentDictionaryDefinition extends ExportCurrentDictionaryDefinitionAbstract +{ + + @Override + protected void prepare() + { + super.prepare(); + + // Valid Record Identifier + if (this.getRecord_ID() <= 0) { + throw new AdempiereException("@FillMandatory@ @Record_ID@"); + } + + if(this.getTable_ID() <= 0) { + throw new AdempiereException("@FillMandatory@ @AD_Table@"); + } + } + + @Override + protected String doIt() throws Exception { + // For menu + if (this.getTable_ID() == I_AD_Menu.Table_ID) { + exportMenuItemDefinition(); + exportTree(); + } + + // For Window Definition + if(this.getTable_ID() == I_AD_Window.Table_ID) { + exportWindowDefinition(); + } + + // For Process Definition + if(this.getTable_ID() == I_AD_Process.Table_ID) { + exportProcessDefinition(); + } + + // For Browser Definition + if(this.getTable_ID() == I_AD_Browse.Table_ID) { + exportBrowserDefinition(); + } + + // For Form Definition + if(this.getTable_ID() == I_AD_Form.Table_ID) { + exportFormDefinition(); + } + + return "Ok"; + } + + + private void exportMenuItemDefinition() { + addLog("@AD_Menu_ID@"); + // For only specific Menu Item + MMenu menuItem = new Query( + getCtx(), + I_AD_Menu.Table_Name, + I_AD_Menu.COLUMNNAME_AD_Menu_ID + " = ?", + get_TrxName() + ) + .setParameters(this.getRecord_ID()) + .first() + ; + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(menuItem) + .addToQueue() + ; + addLog(menuItem.getAD_Menu_ID() + " - " + menuItem.getName()); + } + + private void exportTree() { + new Query( + getCtx(), + I_AD_Tree.Table_Name, + // I_AD_Tree.COLUMNNAME_AD_Tree_ID + " = ? ", + I_AD_Tree.COLUMNNAME_TreeType + " = ? AND " + I_AD_Tree.COLUMNNAME_AD_Table_ID + " = ? ", + get_TrxName() + ) + .setOnlyActiveRecords(true) + .setParameters(MTree.TREETYPE_Menu, MMenu.Table_ID) + // .setParameters(menuItem.getAD_Tree_ID()) + .getIDsAsList() + .forEach(treeId -> { + MTree tree = new MTree(getCtx(), treeId, false, false, null, null); + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(tree) + .addToQueue() + ; + addLog(tree.getAD_Tree_ID() + " - " + tree.getName()); + }) + ; + } + + private void exportWindowDefinition() { + addLog("@AD_Window_ID@"); + + // Add filter a specific Window + MWindow window = new MWindow(getCtx(), this.getRecord_ID(), get_TrxName()); + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(window) + .addToQueue() + ; + addLog(window.getAD_Window_ID() + " - " + window.getName()); + } + + + private void exportProcessDefinition() { + addLog("@AD_Process_ID@"); + + // Add filter a specific Process + MProcess process = new MProcess(getCtx(), this.getRecord_ID(), get_TrxName()); + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(process) + .addToQueue() + ; + addLog(process.getValue() + " - " + process.getName()); + } + + private void exportBrowserDefinition() { + addLog("@AD_Browse_ID@"); + + // Add filter a specific Browse + MBrowse browser = new MBrowse(getCtx(), this.getRecord_ID(), get_TrxName()); + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(browser) + .addToQueue() + ; + addLog(browser.getValue() + " - " + browser.getName()); + } + + + private void exportFormDefinition() { + addLog("@AD_Form_ID@"); + + // Add filter a specific Form + MForm form = new MForm(getCtx(), this.getRecord_ID(), get_TrxName()); + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(form) + .addToQueue() + ; + addLog(form.getClassname() + " - " + form.getName()); + } + +} diff --git a/kafka/src/main/java/base/org/spin/eca56/process/ExportCurrentDictionaryDefinitionAbstract.java b/kafka/src/main/java/base/org/spin/eca56/process/ExportCurrentDictionaryDefinitionAbstract.java new file mode 100644 index 0000000000..d3b3cd19af --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/process/ExportCurrentDictionaryDefinitionAbstract.java @@ -0,0 +1,53 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca56.process; + +import org.compiere.process.SvrProcess; + +/** Generated Process for (Export Current Dictionary Definition) + * @author Edwin Betancourt + * @version Release 3.9.4 + */ +public abstract class ExportCurrentDictionaryDefinitionAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "ECA56_ExportCurrentDictionaryDefinition"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Export Current Dictionary Definition"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54728; + + @Override + protected void prepare() { + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/kafka/src/main/java/base/org/spin/eca56/process/ExportCurrentRoleAccesses.java b/kafka/src/main/java/base/org/spin/eca56/process/ExportCurrentRoleAccesses.java new file mode 100644 index 0000000000..8521e83fe6 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/process/ExportCurrentRoleAccesses.java @@ -0,0 +1,79 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca56.process; + +import org.adempiere.core.domains.models.I_AD_Role; +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MRole; +import org.compiere.model.Query; +import org.compiere.util.Env; +import org.spin.eca56.util.queue.ApplicationDictionary; +import org.spin.queue.util.QueueLoader; + +/** Generated Process for (Export Current Role Accesses) + * @author Edwin Betancourt, EdwinBetanc0urt@outlook.com, https://github.com/EdwinBetanc0urt + * @version Release 3.9.4 + */ +public class ExportCurrentRoleAccesses extends ExportCurrentRoleAccessesAbstract +{ + @Override + protected void prepare() + { + // Valid Record Identifier + if (this.getRecord_ID() < 0) { + throw new AdempiereException("@FillMandatory@ @AD_Role_ID@"); + } + + super.prepare(); + } + + @Override + protected String doIt() throws Exception + { + exportCurrentRoleAccesses(); + return "Ok"; + } + + private void exportCurrentRoleAccesses() { + addLog("@AD_Role_ID@"); + + MRole role = new Query( + getCtx(), + I_AD_Role.Table_Name, + I_AD_Role.COLUMNNAME_AD_Role_ID + " = ?", + get_TrxName() + ) + .setParameters(this.getRecord_ID()) + .first() + ; + + final int clientId = Env.getAD_Client_ID(getCtx()); + if (clientId != role.getAD_Client_ID()) { + throw new AdempiereException("@AD_Role_ID@ @RecordOfAnotherClient@"); + } + + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(role) + .addToQueue() + ; + addLog(role.getAD_Role_ID() + " - " + role.getName()); + } + +} diff --git a/kafka/src/main/java/base/org/spin/eca56/process/ExportCurrentRoleAccessesAbstract.java b/kafka/src/main/java/base/org/spin/eca56/process/ExportCurrentRoleAccessesAbstract.java new file mode 100644 index 0000000000..9096d0b261 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/process/ExportCurrentRoleAccessesAbstract.java @@ -0,0 +1,54 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca56.process; + +import org.compiere.process.SvrProcess; + +/** Generated Process for (Export Current Role Accesses) + * @author ADempiere (generated) + * @version Release 3.9.4 + */ +public abstract class ExportCurrentRoleAccessesAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "ECA56_ExportCurrentRoleAccesses"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Export Current Role Accesses"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54759; + + @Override + protected void prepare() { + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } + +} diff --git a/kafka/src/main/java/base/org/spin/eca56/process/ExportDictionaryDefinition.java b/kafka/src/main/java/base/org/spin/eca56/process/ExportDictionaryDefinition.java new file mode 100644 index 0000000000..fb1f23bc05 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/process/ExportDictionaryDefinition.java @@ -0,0 +1,313 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca56.process; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; + +import org.adempiere.core.domains.models.I_AD_Browse; +import org.adempiere.core.domains.models.I_AD_Form; +import org.adempiere.core.domains.models.I_AD_Menu; +import org.adempiere.core.domains.models.I_AD_Process; +import org.adempiere.core.domains.models.I_AD_Role; +import org.adempiere.core.domains.models.I_AD_Tree; +import org.adempiere.core.domains.models.I_AD_Window; +import org.adempiere.model.MBrowse; +import org.compiere.model.MForm; +import org.compiere.model.MMenu; +import org.compiere.model.MProcess; +import org.compiere.model.MRole; +import org.compiere.model.MTree; +import org.compiere.model.MWindow; +import org.compiere.model.Query; +import org.spin.eca56.util.queue.ApplicationDictionary; +import org.spin.queue.util.QueueLoader; + +/** + * Generated Process for (Export Dictionary Definition) + * @author Yamel Senih + * @author Edwin Betancourt + * @version Release 3.9.4 + */ +public class ExportDictionaryDefinition extends ExportDictionaryDefinitionAbstract { + + private AtomicInteger counter = new AtomicInteger(); + + @Override + protected String doIt() throws Exception { + // For Roless Access + if(isExportRoles()) { + exportRolesDefinition(); + } + + // For menu + if(isExportMenu()) { + exportMenuDefinition(); + } + + // For Windows Definition + if(isExportWindows()) { + exportWindowsDefinition(); + } + + // For Processes Definition + if(isExportProcess()) { + exportProcessesDefinition(); + } + + // For Browsers Definition + if(isExportBrowsers()) { + exportBrowsersDefinition(); + } + + // For Forms Definition + if(isExportForms()) { + exportFormsDefinition(); + } + + // + return "@Created@ " + counter.get(); + } + + + private void exportMenuDefinition() { + exportTree(); + exportMenuItemDefinition(); + } + + private void exportTree() { + addLog("@AD_Tree_ID@"); + new Query( + getCtx(), + I_AD_Tree.Table_Name, + I_AD_Tree.COLUMNNAME_TreeType + " = ?", + get_TrxName() + ) + .setOnlyActiveRecords(true) + .setParameters(MTree.TREETYPE_Menu) + .getIDsAsList() + .forEach(treeId -> { + MTree tree = new MTree(getCtx(), treeId, false, false, null, null); + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(tree) + .addToQueue() + ; + addLog(tree.getAD_Tree_ID() + " - " + tree.getName()); + counter.incrementAndGet(); + }) + ; + } + + private void exportRolesDefinition() { + addLog("@AD_Role_ID@"); + + // Add filter a specific Role + String whereClause = ""; + List filtersList = new ArrayList<>(); + if (this.getRoleId() > 0) { + whereClause = "AD_Role_ID = ?"; + filtersList.add(this.getRoleId()); + } + new Query( + getCtx(), + I_AD_Role.Table_Name, + whereClause, + get_TrxName() + ) + .setOnlyActiveRecords(true) + .setParameters(filtersList) + .getIDsAsList() + .forEach(roleId -> { + MRole role = MRole.get(getCtx(), roleId); + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(role) + .addToQueue() + ; + addLog(role.getAD_Role_ID() + " - " + role.getName()); + counter.incrementAndGet(); + }) + ; + } + + private void exportMenuItemDefinition() { + addLog("@AD_Menu_ID@"); + + // Add filter a specific Menu + String whereClause = ""; + List filtersList = new ArrayList<>(); + if (this.getMenuId() > 0) { + whereClause = "AD_Menu_ID = ?"; + filtersList.add(this.getMenuId()); + } + new Query( + getCtx(), + I_AD_Menu.Table_Name, + whereClause, + get_TrxName() + ) + .setOnlyActiveRecords(true) + .setParameters(filtersList) + .getIDsAsList() + .forEach(menuId -> { + MMenu menu = new MMenu(getCtx(), menuId, get_TrxName()); + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(menu) + .addToQueue() + ; + addLog(menu.getAD_Menu_ID() + " - " + menu.getName()); + counter.incrementAndGet(); + }) + ; + } + + + private void exportWindowsDefinition() { + addLog("@AD_Window_ID@"); + + // Add filter a specific Window + String whereClause = ""; + List filtersList = new ArrayList<>(); + if (this.getWindowId() > 0) { + whereClause = "AD_Window_ID = ?"; + filtersList.add(this.getWindowId()); + } + new Query( + getCtx(), + I_AD_Window.Table_Name, + whereClause, + get_TrxName() + ) + .setOnlyActiveRecords(true) + .setParameters(filtersList) + .getIDsAsList() + .forEach(windowId -> { + MWindow window = new MWindow(getCtx(), windowId, get_TrxName()); + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(window) + .addToQueue() + ; + addLog(window.getAD_Window_ID() + " - " + window.getName()); + counter.incrementAndGet(); + }) + ; + } + + + private void exportProcessesDefinition() { + addLog("@AD_Process_ID@"); + + // Add filter a specific Process + String whereClause = ""; + List filtersList = new ArrayList<>(); + if (this.getADProcessId() > 0) { + whereClause = "AD_Process_ID = ?"; + filtersList.add(this.getADProcessId()); + } + new Query( + getCtx(), + I_AD_Process.Table_Name, + whereClause, + get_TrxName() + ) + .setOnlyActiveRecords(true) + .setParameters(filtersList) + .getIDsAsList() + .forEach(processId -> { + MProcess process = new MProcess(getCtx(), processId, get_TrxName()); + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(process) + .addToQueue() + ; + addLog(process.getValue() + " - " + process.getName()); + counter.incrementAndGet(); + }); + } + + private void exportBrowsersDefinition() { + addLog("@AD_Browse_ID@"); + + // Add filter a specific Browse + String whereClause = ""; + List filtersList = new ArrayList<>(); + if (this.getBrowseId() > 0) { + whereClause = "AD_Browse_ID = ?"; + filtersList.add(this.getBrowseId()); + } + new Query( + getCtx(), + I_AD_Browse.Table_Name, + whereClause, + get_TrxName() + ) + .setOnlyActiveRecords(true) + .setParameters(filtersList) + .getIDsAsList() + .forEach(browseId -> { + MBrowse browser = new MBrowse(getCtx(), browseId, get_TrxName()); + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(browser) + .addToQueue() + ; + addLog(browser.getValue() + " - " + browser.getName()); + counter.incrementAndGet(); + }) + ; + } + + + private void exportFormsDefinition() { + addLog("@AD_Form_ID@"); + + // Add filter a specific Form + String whereClause = ""; + List filtersList = new ArrayList<>(); + if (this.getFormId() > 0) { + whereClause = "AD_Form_ID = ?"; + filtersList.add(this.getFormId()); + } + new Query( + getCtx(), + I_AD_Form.Table_Name, + whereClause, + get_TrxName() + ) + .setOnlyActiveRecords(true) + .setParameters(filtersList) + .getIDsAsList() + .forEach(formId -> { + MForm form = new MForm(getCtx(), formId, get_TrxName()); + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(form) + .addToQueue() + ; + addLog(form.getClassname() + " - " + form.getName()); + counter.incrementAndGet(); + }) + ; + } + +} diff --git a/kafka/src/main/java/base/org/spin/eca56/process/ExportDictionaryDefinitionAbstract.java b/kafka/src/main/java/base/org/spin/eca56/process/ExportDictionaryDefinitionAbstract.java new file mode 100644 index 0000000000..3d7bd8cce2 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/process/ExportDictionaryDefinitionAbstract.java @@ -0,0 +1,233 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca56.process; + +import org.compiere.process.SvrProcess; + +/** Generated Process for (Export Dictionary Definition) + * @author ADempiere (generated) + * @version Release 3.9.4 + */ +public abstract class ExportDictionaryDefinitionAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "ECA56_ExportDictionaryDefinition"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Export Dictionary Definition"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54692; + /** Parameter Name for Export Menu */ + public static final String ECA56_EXPORTMENU = "ECA56_ExportMenu"; + /** Parameter Name for Menu */ + public static final String AD_MENU_ID = "AD_Menu_ID"; + /** Parameter Name for Export Windows */ + public static final String ECA56_EXPORTWINDOWS = "ECA56_ExportWindows"; + /** Parameter Name for Window */ + public static final String AD_WINDOW_ID = "AD_Window_ID"; + /** Parameter Name for Export Process */ + public static final String ECA56_EXPORTPROCESS = "ECA56_ExportProcess"; + /** Parameter Name for Process */ + public static final String AD_PROCESS_ID = "AD_Process_ID"; + /** Parameter Name for Export Browsers */ + public static final String ECA56_EXPORTBROWSERS = "ECA56_ExportBrowsers"; + /** Parameter Name for Smart Browse */ + public static final String AD_BROWSE_ID = "AD_Browse_ID"; + /** Parameter Name for Export Forms */ + public static final String ECA56_EXPORTFORMS = "ECA56_ExportForms"; + /** Parameter Name for Special Form */ + public static final String AD_FORM_ID = "AD_Form_ID"; + /** Parameter Name for Export Roles */ + public static final String ECA56_EXPORTROLES = "ECA56_ExportRoles"; + /** Parameter Name for Role */ + public static final String AD_ROLE_ID = "AD_Role_ID"; + /** Parameter Value for Export Menu */ + private boolean isExportMenu; + /** Parameter Value for Menu */ + private int menuId; + /** Parameter Value for Export Windows */ + private boolean isExportWindows; + /** Parameter Value for Window */ + private int windowId; + /** Parameter Value for Export Process */ + private boolean isExportProcess; + /** Parameter Value for Process */ + private int aDProcessId; + /** Parameter Value for Export Browsers */ + private boolean isExportBrowsers; + /** Parameter Value for Smart Browse */ + private int browseId; + /** Parameter Value for Export Forms */ + private boolean isExportForms; + /** Parameter Value for Special Form */ + private int formId; + /** Parameter Value for Export Roles */ + private boolean isExportRoles; + /** Parameter Value for Role */ + private int roleId; + + @Override + protected void prepare() { + isExportMenu = getParameterAsBoolean(ECA56_EXPORTMENU); + menuId = getParameterAsInt(AD_MENU_ID); + isExportWindows = getParameterAsBoolean(ECA56_EXPORTWINDOWS); + windowId = getParameterAsInt(AD_WINDOW_ID); + isExportProcess = getParameterAsBoolean(ECA56_EXPORTPROCESS); + aDProcessId = getParameterAsInt(AD_PROCESS_ID); + isExportBrowsers = getParameterAsBoolean(ECA56_EXPORTBROWSERS); + browseId = getParameterAsInt(AD_BROWSE_ID); + isExportForms = getParameterAsBoolean(ECA56_EXPORTFORMS); + formId = getParameterAsInt(AD_FORM_ID); + isExportRoles = getParameterAsBoolean(ECA56_EXPORTROLES); + roleId = getParameterAsInt(AD_ROLE_ID); + } + + /** Getter Parameter Value for Export Menu */ + protected boolean isExportMenu() { + return isExportMenu; + } + + /** Setter Parameter Value for Export Menu */ + protected void setExportMenu(boolean isExportMenu) { + this.isExportMenu = isExportMenu; + } + + /** Getter Parameter Value for Menu */ + protected int getMenuId() { + return menuId; + } + + /** Setter Parameter Value for Menu */ + protected void setMenuId(int menuId) { + this.menuId = menuId; + } + + /** Getter Parameter Value for Export Windows */ + protected boolean isExportWindows() { + return isExportWindows; + } + + /** Setter Parameter Value for Export Windows */ + protected void setExportWindows(boolean isExportWindows) { + this.isExportWindows = isExportWindows; + } + + /** Getter Parameter Value for Window */ + protected int getWindowId() { + return windowId; + } + + /** Setter Parameter Value for Window */ + protected void setWindowId(int windowId) { + this.windowId = windowId; + } + + /** Getter Parameter Value for Export Process */ + protected boolean isExportProcess() { + return isExportProcess; + } + + /** Setter Parameter Value for Export Process */ + protected void setExportProcess(boolean isExportProcess) { + this.isExportProcess = isExportProcess; + } + + /** Getter Parameter Value for Process */ + protected int getADProcessId() { + return aDProcessId; + } + + /** Setter Parameter Value for Process */ + protected void setADProcessId(int aDProcessId) { + this.aDProcessId = aDProcessId; + } + + /** Getter Parameter Value for Export Browsers */ + protected boolean isExportBrowsers() { + return isExportBrowsers; + } + + /** Setter Parameter Value for Export Browsers */ + protected void setExportBrowsers(boolean isExportBrowsers) { + this.isExportBrowsers = isExportBrowsers; + } + + /** Getter Parameter Value for Smart Browse */ + protected int getBrowseId() { + return browseId; + } + + /** Setter Parameter Value for Smart Browse */ + protected void setBrowseId(int browseId) { + this.browseId = browseId; + } + + /** Getter Parameter Value for Export Forms */ + protected boolean isExportForms() { + return isExportForms; + } + + /** Setter Parameter Value for Export Forms */ + protected void setExportForms(boolean isExportForms) { + this.isExportForms = isExportForms; + } + + /** Getter Parameter Value for Special Form */ + protected int getFormId() { + return formId; + } + + /** Setter Parameter Value for Special Form */ + protected void setFormId(int formId) { + this.formId = formId; + } + + /** Getter Parameter Value for Export Roles */ + protected boolean isExportRoles() { + return isExportRoles; + } + + /** Setter Parameter Value for Export Roles */ + protected void setExportRoles(boolean isExportRoles) { + this.isExportRoles = isExportRoles; + } + + /** Getter Parameter Value for Role */ + protected int getRoleId() { + return roleId; + } + + /** Setter Parameter Value for Role */ + protected void setRoleId(int roleId) { + this.roleId = roleId; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/kafka/src/main/java/base/org/spin/eca56/process/ExportRoleAccesses.java b/kafka/src/main/java/base/org/spin/eca56/process/ExportRoleAccesses.java new file mode 100644 index 0000000000..9c1c681f63 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/process/ExportRoleAccesses.java @@ -0,0 +1,93 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca56.process; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; + +import org.adempiere.core.domains.models.I_AD_Role; +import org.compiere.model.MRole; +import org.compiere.model.Query; +import org.compiere.util.Env; +import org.spin.eca56.util.queue.ApplicationDictionary; +import org.spin.queue.util.QueueLoader; + +/** Generated Process for (Export Role Accesses) + * @author Edwin Betancourt, EdwinBetanc0urt@outlook.com, https://github.com/EdwinBetanc0urt + * @version Release 3.9.4 + */ +public class ExportRoleAccesses extends ExportRoleAccessesAbstract +{ + private AtomicInteger counter = new AtomicInteger(); + + @Override + protected void prepare() + { + super.prepare(); + } + + @Override + protected String doIt() throws Exception + { + exportRoleAccesses(); + + // + return "@Created@ " + counter.get(); + } + + + private void exportRoleAccesses() { + addLog("@AD_Role_ID@"); + + List filtersList = new ArrayList<>(); + + // Add filter of this client + String whereClause = "AD_Client_ID = ?"; + final int clientId = Env.getAD_Client_ID(getCtx()); + filtersList.add(clientId); + + // Add filter a specific Role + if (this.getRoleId() > 0) { + whereClause += " AND AD_Role_ID = ?"; + filtersList.add(this.getRoleId()); + } + new Query( + getCtx(), + I_AD_Role.Table_Name, + whereClause, + get_TrxName() + ) + .setOnlyActiveRecords(true) + .setParameters(filtersList) + .getIDsAsList() + .forEach(roleId -> { + MRole role = MRole.get(getCtx(), roleId); + QueueLoader.getInstance() + .getQueueManager(ApplicationDictionary.CODE) + .withEntity(role) + .addToQueue() + ; + addLog(role.getAD_Role_ID() + " - " + role.getName()); + counter.incrementAndGet(); + }) + ; + } + +} diff --git a/kafka/src/main/java/base/org/spin/eca56/process/ExportRoleAccessesAbstract.java b/kafka/src/main/java/base/org/spin/eca56/process/ExportRoleAccessesAbstract.java new file mode 100644 index 0000000000..5c1f52403c --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/process/ExportRoleAccessesAbstract.java @@ -0,0 +1,68 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca56.process; + +import org.compiere.process.SvrProcess; + +/** Generated Process for (Export Role Accesses) + * @author ADempiere (generated) + * @version Release 3.9.4 + */ +public abstract class ExportRoleAccessesAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "ECA56_ExportRoleAccesses"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Export Role Accesses"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54758; + /** Parameter Name for Role */ + public static final String AD_ROLE_ID = "AD_Role_ID"; + /** Parameter Value for Role */ + private int roleId; + + @Override + protected void prepare() { + roleId = getParameterAsInt(AD_ROLE_ID); + } + + /** Getter Parameter Value for Role */ + protected int getRoleId() { + return roleId; + } + + /** Setter Parameter Value for Role */ + protected void setRoleId(int roleId) { + this.roleId = roleId; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/kafka/src/main/java/base/org/spin/eca56/setup/CreateConfig.java b/kafka/src/main/java/base/org/spin/eca56/setup/CreateConfig.java new file mode 100644 index 0000000000..161d63e1fe --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/setup/CreateConfig.java @@ -0,0 +1,80 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.setup; + +import java.util.Properties; + +import org.adempiere.core.domains.models.I_AD_AppRegistration; +import org.adempiere.core.domains.models.I_AD_AppSupport; +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.Query; +import org.spin.eca56.util.support.kafka.Sender; +import org.spin.model.MADAppRegistration; +import org.spin.model.MADAppSupport; +import org.spin.util.ISetupDefinition; + +/** + * Create all queues and app registrations + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class CreateConfig implements ISetupDefinition { + + private static final String DESCRIPTION = "(*Created from Setup Automatically*)"; + private static final String APPLICATION_TYPE = "MQS"; + + @Override + public String doIt(Properties context, String transactionName) { + // App registration + createDefaultSender(context, transactionName); + // financial management + return "@AD_SetupDefinition_ID@ @Ok@"; + } + + /** + * Create notifiers as app registration + * @param context + * @param transactionName + */ + private void createDefaultSender(Properties context, String transactionName) { + MADAppRegistration processSender = new Query(context, I_AD_AppRegistration.Table_Name, "EXISTS(SELECT 1 FROM AD_AppSupport s " + + "WHERE s.AD_AppSupport_ID = AD_AppRegistration.AD_AppSupport_ID " + + "AND s.Classname = ?)", transactionName) + .setParameters(Sender.class.getName()) + .setClient_ID() + .first(); + if(processSender == null + || processSender.getAD_AppRegistration_ID() <= 0) { + MADAppSupport queueSupport = new Query(context, I_AD_AppSupport.Table_Name, "Classname = ?", transactionName) + .setParameters(Sender.class.getName()) + .first(); + if(queueSupport == null + || queueSupport.getAD_AppSupport_ID() <= 0) { + throw new AdempiereException("@AD_AppSupport_ID@ @NotFound@"); + } + processSender = new MADAppRegistration(context, 0, transactionName); + processSender.setValue("Engine-Queue"); + processSender.setApplicationType(APPLICATION_TYPE); + processSender.setAD_AppSupport_ID(queueSupport.getAD_AppSupport_ID()); + processSender.setName("Engine as Queue"); + processSender.setDescription(DESCRIPTION); + processSender.setVersionNo("1.0"); + processSender.setHost("localhost"); + processSender.setPort(29092); + processSender.saveEx(); + } + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/setup/DeployValidator.java b/kafka/src/main/java/base/org/spin/eca56/setup/DeployValidator.java new file mode 100644 index 0000000000..9034c32796 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/setup/DeployValidator.java @@ -0,0 +1,76 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.setup; + +import java.util.Properties; + +import org.compiere.model.Query; +import org.adempiere.core.domains.models.X_AD_ModelValidator; +import org.spin.eca56.model.validator.EngineAsQueue; +import org.spin.util.ISetupDefinition; + +/** + * This functionality setup allows add a model validator for catch all changes for: + *
  • Application Dictionary + *
  • Material Management + *
  • Financial Management + *
  • Accounting Management + *
  • Costing Management + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class DeployValidator implements ISetupDefinition { + + private static final String DESCRIPTION = "Allows send all engines to queue"; + private static final String NAME = "Process as Queue"; + private static final String ENTITY_TYPE = "ECA56"; + private static final int DEFAULT_SEQUENCE = 300; + + @Override + public String doIt(Properties context, String transactionName) { + // Add Model Validator + createModelValidator(context, transactionName); + // financial management + return "@AD_SetupDefinition_ID@ @Ok@"; + } + + /** + * Create Model Vaidator + * @param context + * @param transactionName + * @return + */ + private X_AD_ModelValidator createModelValidator(Properties context, String transactionName) { + X_AD_ModelValidator modelValidator = new Query(context, X_AD_ModelValidator.Table_Name, X_AD_ModelValidator.COLUMNNAME_ModelValidationClass + " = ?", transactionName) + .setParameters(EngineAsQueue.class.getName()) + .setClient_ID() + .first(); + // Validate + if(modelValidator != null + && modelValidator.getAD_ModelValidator_ID() > 0) { + return modelValidator; + } + // + modelValidator = new X_AD_ModelValidator(context, 0, transactionName); + modelValidator.setName(NAME); + modelValidator.setEntityType(ENTITY_TYPE); + modelValidator.setDescription(DESCRIPTION); + modelValidator.setSeqNo(DEFAULT_SEQUENCE); + modelValidator.setModelValidationClass(EngineAsQueue.class.getName()); + modelValidator.saveEx(); + return modelValidator; + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/KafkaLoader.java b/kafka/src/main/java/base/org/spin/eca56/util/KafkaLoader.java new file mode 100644 index 0000000000..eb96ee402a --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/KafkaLoader.java @@ -0,0 +1,102 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, S.A. All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *************************************************************************************/ +package org.spin.eca56.util; + +import java.net.InetAddress; +import java.util.Collections; +import java.util.HashMap; +import java.util.Optional; +import java.util.concurrent.ExecutionException; + +import org.apache.kafka.clients.admin.AdminClient; +import org.apache.kafka.clients.admin.NewTopic; +import org.apache.kafka.clients.producer.KafkaProducer; +import org.apache.kafka.clients.producer.ProducerConfig; +import org.apache.kafka.common.config.TopicConfig; +import org.apache.kafka.common.errors.TopicExistsException; + +/** + * Singleton for load kafka client + * @author Yamel Senih, ysenih@erpya.com , http://www.erpya.com + */ +public class KafkaLoader { + /** Instance */ + private static KafkaLoader instance; + + /** Producer */ + private HashMap> producers = new HashMap<>(); + + + /** + * default instance + * @return + */ + public static KafkaLoader getInstance() { + if(instance == null) { + instance = new KafkaLoader(); + } + return instance; + } + + /** + * Create topic if not exist + * @param topic + * @param cloud + */ + private void createTopic(final String topic, final HashMap cloud) { + final NewTopic newTopic = new NewTopic(topic, Optional.empty(), Optional.empty()); + try (final AdminClient adminClient = AdminClient.create(cloud)) { + HashMap topicConfigs = new HashMap<>(); + topicConfigs.put(TopicConfig.MAX_MESSAGE_BYTES_CONFIG, "20971520"); + topicConfigs.put(TopicConfig.MAX_MESSAGE_BYTES_CONFIG, "20971520"); + + newTopic.configs(topicConfigs); + adminClient.createTopics(Collections.singletonList(newTopic)).all().get(); + } catch (final InterruptedException | ExecutionException e) { + // Ignore if TopicExistsException, which may be valid if topic exists + if (!(e.getCause() instanceof TopicExistsException)) { + throw new RuntimeException(e); + } + } + } + + /** + * Get current producer + * @param url + * @return + * @throws Exception + */ + public KafkaProducer getProducer(String url, String topic) throws Exception { + String key = url + "|" + topic; + KafkaProducer producer = producers.get(key); + if (producer == null) { + HashMap producerConfigs = new HashMap<>(); + producerConfigs.put(ProducerConfig.CLIENT_ID_CONFIG, InetAddress.getLocalHost().getHostName()); + producerConfigs.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, url); + producerConfigs.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, org.apache.kafka.common.serialization.StringSerializer.class.getName()); + producerConfigs.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, MapSerializer.class.getName()); + producerConfigs.put(ProducerConfig.ACKS_CONFIG, "all"); + + producerConfigs.put(ProducerConfig.MAX_REQUEST_SIZE_CONFIG, 1024 * 1024 * 3); + + createTopic(topic, producerConfigs); + producer = new KafkaProducer(producerConfigs); + producers.put(key, producer); + } + // + return producer; + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/KafkaTest.java b/kafka/src/main/java/base/org/spin/eca56/util/KafkaTest.java new file mode 100644 index 0000000000..3c4576b895 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/KafkaTest.java @@ -0,0 +1,62 @@ +package org.spin.eca56.util; + +import java.time.Duration; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; + +import org.apache.kafka.clients.consumer.ConsumerConfig; +import org.apache.kafka.clients.consumer.ConsumerRecords; +import org.apache.kafka.clients.consumer.KafkaConsumer; + +public class KafkaTest { + public static void main (String [] args) throws InterruptedException { + String host = "127.0.0.1"; + String port = "29092"; + String topic = "your_topic"; + if (args != null && args.length > 0) { + host = args[0]; + port = args[1]; + topic = args[2]; + } + + String completeUrl = host + ":" + port; + do { + int intents = 4; + if(intents == 0) { + intents = 100; + } + + HashMap consumerConfigs = new HashMap(); + consumerConfigs.put(ConsumerConfig.CLIENT_ID_CONFIG, "erp2"); + consumerConfigs.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, completeUrl); + consumerConfigs.put(ConsumerConfig.GROUP_ID_CONFIG, "foo01"); + consumerConfigs.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, org.apache.kafka.common.serialization.StringDeserializer.class.getName()); + consumerConfigs.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, MapDeserializer.class.getName()); + + try (KafkaConsumer> consumer = new KafkaConsumer>(consumerConfigs)) { + consumer.subscribe(Arrays.asList(topic)); + AtomicInteger iterate = new AtomicInteger(0); + AtomicInteger errors = new AtomicInteger(); + while (iterate.incrementAndGet() < intents) { + System.out.println("Intent: " + iterate.get()); + ConsumerRecords> records = consumer.poll(Duration.ofSeconds(10)); + records.forEach(record -> { + try { + System.out.println(record.value()); + } catch (Exception e) { + errors.addAndGet(1); + } + }); + consumer.commitSync(); + } + consumer.unsubscribe(); + consumer.close(Duration.ofSeconds(1)); + } + // + System.out.println("Waiting......"); + Thread.sleep(1000 * 10); + } while(true); + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/MapDeserializer.java b/kafka/src/main/java/base/org/spin/eca56/util/MapDeserializer.java new file mode 100644 index 0000000000..b0a6350792 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/MapDeserializer.java @@ -0,0 +1,42 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, S.A. All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *************************************************************************************/ +package org.spin.eca56.util; + +import java.util.Map; + +import org.apache.kafka.common.serialization.Deserializer; + +import com.fasterxml.jackson.databind.ObjectMapper; + +/** + * Deserializer for Entity Wrapper + * @author Yamel Senih, ysenih@erpya.com , http://www.erpya.com + */ +public class MapDeserializer implements Deserializer> { + + @SuppressWarnings("unchecked") + @Override + public Map deserialize(String topic, byte[] data) { + ObjectMapper objectMapper = new ObjectMapper(); + Map wrapper = null; + try { + wrapper = objectMapper.readValue(data, Map.class); + } catch (Exception e) { + throw new RuntimeException(e); + } + return wrapper; + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/MapSerializer.java b/kafka/src/main/java/base/org/spin/eca56/util/MapSerializer.java new file mode 100644 index 0000000000..e047aeeab1 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/MapSerializer.java @@ -0,0 +1,45 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, S.A. All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *************************************************************************************/ +package org.spin.eca56.util; + +import java.util.Map; + +import org.apache.kafka.common.serialization.Serializer; + +import com.fasterxml.jackson.databind.ObjectMapper; + +/** + * Serializer for Entity Wrapper + * @author Yamel Senih, ysenih@erpya.com , http://www.erpya.com + */ +public class MapSerializer implements Serializer> { + + public MapSerializer() { + + } + + @Override + public byte[] serialize(String topic, Map data) { + byte[] serializedObject = null; + ObjectMapper objectMapper = new ObjectMapper(); + try { + serializedObject = objectMapper.writeValueAsString(data).getBytes(); + } catch (Exception e) { + throw new RuntimeException(e); + } + return serializedObject; + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/queue/ApplicationDictionary.java b/kafka/src/main/java/base/org/spin/eca56/util/queue/ApplicationDictionary.java new file mode 100644 index 0000000000..8e375519ad --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/queue/ApplicationDictionary.java @@ -0,0 +1,180 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2013 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpcya.com * + *****************************************************************************/ +package org.spin.eca56.util.queue; + +import java.util.List; + +import org.adempiere.core.domains.models.I_AD_Browse; +import org.adempiere.core.domains.models.I_AD_Form; +import org.adempiere.core.domains.models.I_AD_Language; +import org.adempiere.core.domains.models.I_AD_Menu; +import org.adempiere.core.domains.models.I_AD_Process; +import org.adempiere.core.domains.models.I_AD_Role; +import org.adempiere.core.domains.models.I_AD_Tree; +import org.adempiere.core.domains.models.I_AD_Window; +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MClient; +import org.compiere.model.MClientInfo; +import org.compiere.model.MLanguage; +import org.compiere.model.PO; +import org.compiere.model.Query; +import org.compiere.util.Util; +import org.spin.eca56.util.support.IGenericDictionaryDocument; +import org.spin.eca56.util.support.IGenericSender; +import org.spin.eca56.util.support.documents.Browser; +import org.spin.eca56.util.support.documents.Form; +import org.spin.eca56.util.support.documents.MenuItem; +import org.spin.eca56.util.support.documents.MenuTree; +import org.spin.eca56.util.support.documents.Process; +import org.spin.eca56.util.support.documents.Role; +import org.spin.eca56.util.support.documents.Window; +import org.spin.queue.model.MADQueue; +import org.spin.queue.util.QueueManager; + +/** + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + * Just a test for service + */ +public class ApplicationDictionary extends QueueManager implements IEngineDictionaryManager { + + public static final String CODE = "ADM"; + public static final String ECA56_TemplateDictionary = "ECA56_TemplateDictionary"; + public static final String ECA56_DictionaryCode = "ECA56_DictionaryCode"; + + @Override + public void add(int queueId) { + logger.fine("Queue Added: " + queueId); + try { + send(queueId); + MADQueue queue = new MADQueue(getContext(), queueId, getTransactionName()); + queue.setProcessed(true); + queue.saveEx(); + } catch (Throwable e) { + logger.warning(e.getLocalizedMessage()); + } + } + + @Override + public void process(int queueId) { + send(queueId); + } + + private String getDictionaryCode() { + // Only system + MClientInfo clientInfo = MClientInfo.get(getContext(), 0); + String code = clientInfo.get_ValueAsString(ECA56_DictionaryCode); + if(Util.isEmpty(code, true)) { + code = ""; + } + return code.toLowerCase(); + } + + public void send(int queueId) { + PO entity = getEntity(); + if(entity != null) { + IGenericSender sender = DefaultEngineQueueUtil.getEngineManager(); + if(sender != null) { + IGenericDictionaryDocument documentByLanguage = getDocumentManager(entity); + if(documentByLanguage != null) { + sender.send(documentByLanguage, documentByLanguage.getChannel()); + } + getLanguages().forEach(languageId -> { + MLanguage language = new MLanguage(getContext(), languageId, getTransactionName()); + IGenericDictionaryDocument aloneDocument = getDocumentManager(entity, language.getAD_Language()); + if(aloneDocument != null) { + sender.send(aloneDocument, aloneDocument.getChannel()); + } + }); + } else { + throw new AdempiereException("@AD_AppRegistration_ID@ @NotFound@"); + } + logger.fine("Queue Processed: " + queueId); + } + } + + private List getLanguages() { + return new Query(getContext(), I_AD_Language.Table_Name, "(IsBaseLanguage = 'Y' OR IsSystemLanguage = 'Y')", getTransactionName()) + .setOnlyActiveRecords(true) + .getIDsAsList(); + } + + @Override + public IGenericDictionaryDocument getDocumentManager(PO entity) { + String tableName = entity.get_TableName(); + if(Util.isEmpty(tableName)) { + return null; + } + if(MClientInfo.get(getContext()).get_ValueAsBoolean(ECA56_TemplateDictionary)) { + if(tableName.equals(I_AD_Tree.Table_Name)) { + return MenuTree.newInstance().withEntity(entity); + } + } else { + if(tableName.equals(I_AD_Tree.Table_Name)) { + return MenuTree.newInstance().withClientId(getDictionaryCode()).withEntity(entity); + } + } + if(tableName.equals(I_AD_Role.Table_Name)) { + String localClientId = MClient.get(getContext(), entity.getAD_Client_ID()).getUUID(); + return Role.newInstance().withClientId(localClientId).withEntity(entity); + } + return null; + } + + @Override + public IGenericDictionaryDocument getDocumentManager(PO entity, String language) { + String tableName = entity.get_TableName(); + if(Util.isEmpty(tableName)) { + return null; + } + if(MClientInfo.get(getContext()).get_ValueAsBoolean(ECA56_TemplateDictionary)) { + if(tableName.equals(I_AD_Process.Table_Name)) { + return Process.newInstance().withLanguage(language).withEntity(entity); + } else if(tableName.equals(I_AD_Browse.Table_Name)) { + return Browser.newInstance().withLanguage(language).withEntity(entity); + } else if(tableName.equals(I_AD_Window.Table_Name)) { + return Window.newInstance().withLanguage(language).withEntity(entity); + } else if(tableName.equals(I_AD_Menu.Table_Name)) { + return MenuItem.newInstance().withLanguage(language).withEntity(entity); + } else if (tableName.equals(I_AD_Form.Table_Name)) { + return Form.newInstance().withLanguage(language).withEntity(entity); + } + } else { + if(tableName.equals(I_AD_Process.Table_Name)) { + return Process.newInstance().withLanguage(language).withClientId(getDictionaryCode()).withEntity(entity); + } else if(tableName.equals(I_AD_Browse.Table_Name)) { + return Browser.newInstance().withLanguage(language).withClientId(getDictionaryCode()).withEntity(entity); + } else if(tableName.equals(I_AD_Window.Table_Name)) { + return Window.newInstance().withLanguage(language).withClientId(getDictionaryCode()).withEntity(entity); + } else if(tableName.equals(I_AD_Menu.Table_Name)) { + return MenuItem.newInstance().withLanguage(language).withClientId(getDictionaryCode()).withEntity(entity); + } else if (tableName.equals(I_AD_Form.Table_Name)) { + return Form.newInstance().withLanguage(language).withClientId(getDictionaryCode()).withEntity(entity); + } + } + return null; + } + + @Override + public IGenericDictionaryDocument getDocumentManagerByRole(PO entity, String language, int roleId) { + return null; + } + + @Override + public IGenericDictionaryDocument getDocumentManagerByUser(PO entity, String language, int userId) { + return null; + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/queue/DefaultEngineQueueUtil.java b/kafka/src/main/java/base/org/spin/eca56/util/queue/DefaultEngineQueueUtil.java new file mode 100644 index 0000000000..0519bc4d79 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/queue/DefaultEngineQueueUtil.java @@ -0,0 +1,73 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-Present E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpcya.com * + *****************************************************************************/ +package org.spin.eca56.util.queue; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.util.Env; +import org.spin.eca56.util.support.IGenericSender; +import org.spin.model.MADAppRegistration; +import org.spin.util.support.AppSupportHandler; +import org.spin.util.support.IAppSupport; + +/** + * A Default engine queue manager + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class DefaultEngineQueueUtil { + /** Default Connector Type = MQS-Kafka-Connector-Sender */ + public static final String QUEUETYPE_DefaultAppSupportValue = "MQS-Kafka-Connector-Sender"; + /** Default Connector Application Type = MQS*/ + public static final String QUEUETYPE_DefaultAppType = "MQS"; + + /** + * Get notifier from queue definition + * @return + */ + public static IGenericSender getEngineManager() { + try { + MADAppRegistration registeredApplication = getRegistration(); + if(registeredApplication == null) { + throw new AdempiereException("@AD_AppRegistration_ID@ @NotFound@"); + } + // Load support + IAppSupport supportedApplication = AppSupportHandler.getInstance().getAppSupport(registeredApplication); + // Exists an Application available for it? + if(supportedApplication != null && IGenericSender.class.isAssignableFrom(supportedApplication.getClass())) { + // Instance of fiscal printer + return (IGenericSender) supportedApplication; + } + } catch (Exception exception) { + throw new AdempiereException(exception); + } + // default + return null; + } + + /** + * Get registration from cache or search it + * @return + */ + private static MADAppRegistration getRegistration() { + MADAppRegistration registration = MADAppRegistration.getByApplicationType( + Env.getCtx(), + QUEUETYPE_DefaultAppType, + null + ); + // return + return registration; + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/queue/DocumentManagement.java b/kafka/src/main/java/base/org/spin/eca56/util/queue/DocumentManagement.java new file mode 100644 index 0000000000..2cb538e92b --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/queue/DocumentManagement.java @@ -0,0 +1,85 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2013 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpcya.com * + *****************************************************************************/ +package org.spin.eca56.util.queue; + +import org.adempiere.core.domains.models.I_C_Order; +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MOrder; +import org.compiere.model.PO; +import org.compiere.util.Util; +import org.spin.eca56.util.support.IGenericSender; +import org.spin.eca56.util.support.documents.Order; +import org.spin.queue.model.MADQueue; +import org.spin.queue.util.QueueManager; + +/** + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + * Just a test for service + */ +public class DocumentManagement extends QueueManager implements IEngineManager { + + public static final String CODE = "DMM"; + + @Override + public void add(int queueId) { + logger.fine("Queue Added: " + queueId); + try { + send(queueId); + MADQueue queue = new MADQueue(getContext(), queueId, getTransactionName()); + queue.setProcessed(true); + queue.saveEx(); + } catch (Throwable e) { + logger.warning(e.getLocalizedMessage()); + } + } + + @Override + public void process(int queueId) { + send(queueId); + } + + private void send(int queueId) { + PO document = getEntity(); + if(document != null) { + Order entityEngine = getDocumentManager(document); + if(entityEngine != null) { + IGenericSender sender = DefaultEngineQueueUtil.getEngineManager(); + if(sender != null) { + sender.send(entityEngine, entityEngine.getChannel()); + } else { + throw new AdempiereException("@AD_AppRegistration_ID@ @NotFound@"); + } + } + logger.fine("Queue Processed: " + queueId); + } + } + + @Override + public Order getDocumentManager(PO entity) { + if(entity == null) { + return null; + } + String tableName = entity.get_TableName(); + if(Util.isEmpty(tableName)) { + return null; + } + if(tableName.equals(I_C_Order.Table_Name)) { + return Order.newInstance().withOrder((MOrder) entity); + } + return null; + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/queue/IEngineDictionaryManager.java b/kafka/src/main/java/base/org/spin/eca56/util/queue/IEngineDictionaryManager.java new file mode 100644 index 0000000000..dee6207372 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/queue/IEngineDictionaryManager.java @@ -0,0 +1,32 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.eca56.util.queue; + +import org.compiere.model.PO; +import org.spin.eca56.util.support.IGenericDictionaryDocument; + +/** + * A contract that will be implemented for each engine + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public interface IEngineDictionaryManager extends IEngineManager { + + public IGenericDictionaryDocument getDocumentManager(PO entity, String language); + + public IGenericDictionaryDocument getDocumentManagerByRole(PO entity, String language, int roleId); + + public IGenericDictionaryDocument getDocumentManagerByUser(PO entity, String language, int userId); +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/queue/IEngineManager.java b/kafka/src/main/java/base/org/spin/eca56/util/queue/IEngineManager.java new file mode 100644 index 0000000000..7c6ea2e70a --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/queue/IEngineManager.java @@ -0,0 +1,33 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.eca56.util.queue; + +import org.compiere.model.PO; +import org.spin.eca56.util.support.IGenericDocument; + +/** + * A contract that will be implemented for each engine + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public interface IEngineManager { + + /** + * Get the document manager from table name + * @param entity + * @return + */ + public IGenericDocument getDocumentManager(PO entity); +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/DictionaryDocument.java b/kafka/src/main/java/base/org/spin/eca56/util/support/DictionaryDocument.java new file mode 100644 index 0000000000..7f18f43d26 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/DictionaryDocument.java @@ -0,0 +1,165 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2023 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.util.support; + +import java.util.HashMap; +import java.util.Map; + +import org.compiere.model.PO; +import org.compiere.util.Env; +import org.compiere.util.Util; + +/** + * Interface for determinate if is a document to send, note that this is a mapping of values. + * For Dictionary exists some variants like Client, Role, User and Language + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public abstract class DictionaryDocument implements IGenericDictionaryDocument { + + private String clientId; + private String clientCode; + private String roleId; + private String userId; + private String language; + private static final String KEY = "new"; + private String channel = "none"; + private Map document; + + public DictionaryDocument() { + withLanguage(Env.getAD_Language(Env.getCtx())); + document = new HashMap<>(); + } + + @Override + public String getKey() { + return KEY; + } + + @Override + public String getChannel() { + return channel; + } + + @Override + public Map getValues() { + return document; + } + + public void putDocument(Map document) { + // Generic Detail + if(!Util.isEmpty(getLanguage())) { + document.put("language", getLanguage()); + } + if(!Util.isEmpty(getClientId())) { + document.put("client_id", getClientId()); + } + if(!Util.isEmpty(getRoleId())) { + document.put("role_id", getRoleId()); + } + if(!Util.isEmpty(getUserId())) { + document.put("user_id", getUserId()); + } + document.put("index_value", getIndexValue()); + this.document.put("document", document); + } + + public DictionaryDocument withClientId(String clientId) { + this.clientId = clientId; + return this; + } + + public DictionaryDocument withClientCode(String clientCode) { + if(Util.isEmpty(clientCode)) { + clientCode = ""; + } + return this; + } + + public DictionaryDocument withRoleId(String roleId) { + this.roleId = roleId; + return this; + } + + public DictionaryDocument withUserId(String userId) { + this.userId = userId; + return this; + } + + public DictionaryDocument withLanguage(String language) { + this.language = language; + return this; + } + + public String getClientId() { + return clientId; + } + + public String getClientCode() { + return clientCode; + } + + public String getValidClientCode() { + String validClientCode = getClientCode(); + if(Util.isEmpty(validClientCode)) { + validClientCode = ""; + } + return validClientCode.replaceAll("[^a-zA-Z0-9-_]", "").trim(); + } + + public String getRoleId() { + return roleId; + } + + public String getUserId() { + return userId; + } + + public String getLanguage() { + return language; + } + + private String getIndexValue() { + StringBuffer channel = new StringBuffer(getChannel()); + if(!Util.isEmpty(getLanguage())) { + channel.append("_").append(getLanguage()); + } + if(!Util.isEmpty(getValidClientCode())) { + channel.append("_").append(getValidClientCode()); + } else if(!Util.isEmpty(getClientId())) { + channel.append("_").append(getClientId()); + } + if(!Util.isEmpty(getRoleId())) { + channel.append("_").append(getRoleId()); + } + if(!Util.isEmpty(getUserId())) { + channel.append("_").append(getUserId()); + } + return channel.toString().toLowerCase(); + } + + public DictionaryDocument withEntity(PO entity) { + channel = entity.get_TableName().toLowerCase(); + Map documentDetail = new HashMap<>(); + documentDetail.put("id", entity.get_UUID()); + documentDetail.put("uuid", entity.get_UUID()); + documentDetail.put("display_value", entity.getDisplayValue()); + putDocument(documentDetail); + return this; + } + +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/IGenericDictionaryDocument.java b/kafka/src/main/java/base/org/spin/eca56/util/support/IGenericDictionaryDocument.java new file mode 100644 index 0000000000..fa85a2123d --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/IGenericDictionaryDocument.java @@ -0,0 +1,34 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2023 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.util.support; + +/** + * Interface for determinate if is a document to send, note that this is a mapping of values. + * For Dictionary exists some variants like Client, Role, User and Language + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public interface IGenericDictionaryDocument extends IGenericDocument { + + public IGenericDictionaryDocument withClientId(String clientId); + + public IGenericDictionaryDocument withRoleId(String roleId); + + public IGenericDictionaryDocument withUserId(String userId); + + public IGenericDictionaryDocument withLanguage(String language); +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/IGenericDocument.java b/kafka/src/main/java/base/org/spin/eca56/util/support/IGenericDocument.java new file mode 100644 index 0000000000..8bebf4831a --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/IGenericDocument.java @@ -0,0 +1,49 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2023 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.util.support; + +import java.util.Map; + +/** + * Interface for determinate if is a document to send, note that this is a mapping of values + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public interface IGenericDocument { + + // Some default documents key + public static final String WINDOW = "window"; + + /** + * Get Command Key + * @return + */ + public String getKey(); + + + /*** + * get channel for document + * @return + */ + public String getChannel(); + + /** + * Get Values to Send + * @return + */ + public Map getValues(); +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/IGenericSender.java b/kafka/src/main/java/base/org/spin/eca56/util/support/IGenericSender.java new file mode 100644 index 0000000000..156e3238e2 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/IGenericSender.java @@ -0,0 +1,37 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.eca56.util.support; + +import org.spin.util.support.IAppSupport; + +/** + * A contract that will be implemented for each sender + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public interface IGenericSender extends IAppSupport { + + // Some default topics + /** Dictionary topic for send all changes from Dictionary */ + public static final String DICTIONARY = "dictionary"; + /** All related to storage and warehouses */ + public static final String DOCUMENT_MANAGEMENT = "document_management"; + + /** + * Send command to device + * @param document + */ + public void send(IGenericDocument document, String channel); +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Browser.java b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Browser.java new file mode 100644 index 0000000000..8ce5a5fc18 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Browser.java @@ -0,0 +1,306 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2023 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.util.support.documents; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Collectors; + +import org.adempiere.core.domains.models.I_AD_Browse; +import org.adempiere.core.domains.models.I_AD_Browse_Field; +import org.adempiere.core.domains.models.I_AD_Element; +import org.adempiere.core.domains.models.I_AD_View_Column; +import org.adempiere.model.MBrowse; +import org.adempiere.model.MBrowseField; +import org.adempiere.model.MViewColumn; +import org.compiere.model.MColumn; +import org.compiere.model.MProcess; +import org.compiere.model.MTable; +import org.compiere.model.MWindow; +import org.compiere.model.PO; +import org.compiere.model.Query; +import org.compiere.util.Util; +import org.spin.eca56.util.support.DictionaryDocument; + +/** + * the document class for Browse senders + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Browser extends DictionaryDocument { + + // Some default documents key + public static final String KEY = "new"; + public static final String CHANNEL = "browser"; + + @Override + public String getKey() { + return KEY; + } + + private Map parseDictionaryEntity(PO entity) { + Map documentEntity = new HashMap<>(); + documentEntity.put("internal_id", entity.get_ID()); + documentEntity.put("id", entity.get_UUID()); + documentEntity.put("uuid", entity.get_UUID()); + documentEntity.put("name", entity.get_Translation(I_AD_Element.COLUMNNAME_Name, getLanguage())); + documentEntity.put("description", entity.get_Translation(I_AD_Element.COLUMNNAME_Description, getLanguage())); + documentEntity.put("help", entity.get_Translation(I_AD_Element.COLUMNNAME_Help, getLanguage())); + return documentEntity; + } + + @Override + public DictionaryDocument withEntity(PO entity) { + MBrowse browser = (MBrowse) entity; + Map documentDetail = new HashMap<>(); + documentDetail.put("internal_id", browser.getAD_Browse_ID()); + documentDetail.put("id", browser.getUUID()); + documentDetail.put("uuid", browser.getUUID()); + documentDetail.put("code", browser.getValue()); + documentDetail.put("name", browser.get_Translation(I_AD_Browse.COLUMNNAME_Name, getLanguage())); + documentDetail.put("description", browser.get_Translation(I_AD_Browse.COLUMNNAME_Description, getLanguage())); + documentDetail.put("help", browser.get_Translation(I_AD_Browse.COLUMNNAME_Help, getLanguage())); + documentDetail.put("is_active", browser.isActive()); + documentDetail.put("is_beta_functionality", browser.isBetaFunctionality()); + + documentDetail.put("is_execute_query_by_default", browser.isExecutedQueryByDefault()); + documentDetail.put("is_collapsible_by_default", browser.isCollapsibleByDefault()); + documentDetail.put("is_selected_by_default", browser.isSelectedByDefault()); + documentDetail.put("is_show_total", browser.isShowTotal()); + + MBrowseField fieldKey = browser.getFieldKey(); + if (fieldKey != null && fieldKey.getAD_Browse_Field_ID() > 0) { + MViewColumn viewColumn = MViewColumn.getById(browser.getCtx(), fieldKey.getAD_View_Column_ID(), null); + documentDetail.put("field_key", viewColumn.getColumnName()); + } + + // Record Attributes + documentDetail.put("access_level", browser.getAccessLevel()); + documentDetail.put("is_updateable", browser.isUpdateable()); + documentDetail.put("is_deleteable", browser.isUpdateable()); + if(browser.getAD_Table_ID() > 0) { + MTable table = MTable.get(browser.getCtx(), browser.getAD_Table_ID()); + documentDetail.put("table_name", table.getTableName()); + + Map tableDetil = new HashMap<>(); + tableDetil.put("internal_id", table.getAD_Table_ID()); + tableDetil.put("id", table.getUUID()); + tableDetil.put("uuid", table.getUUID()); + tableDetil.put("table_name", table.getTableName()); + tableDetil.put("access_level", table.getAccessLevel()); + List keyColumnsList = Arrays.asList( + table.getKeyColumns() + ); + tableDetil.put("key_columns", keyColumnsList); + tableDetil.put("is_view", table.isView()); + tableDetil.put("is_document", table.isDocument()); + tableDetil.put("is_deleteable", table.isDeleteable()); + tableDetil.put("is_change_log", table.isChangeLog()); + List identifierColumns = table.getColumnsAsList(false).stream() + .filter(column -> { + return column.isIdentifier(); + }) + .sorted(Comparator.comparing(MColumn::getSeqNo)) + .map(column -> { + return column.getColumnName(); + }) + .collect(Collectors.toList()) + ; + tableDetil.put("identifier_columns", identifierColumns); + documentDetail.put("table", tableDetil); + } + + // External Reference + documentDetail.put("process_id", browser.getAD_Process_ID()); + if(browser.getAD_Process_ID() > 0) { + MProcess process = MProcess.get(browser.getCtx(), browser.getAD_Process_ID()); + documentDetail.put("process_uuid", process.getUUID()); + Map referenceDetail = parseDictionaryEntity(process); + documentDetail.put("process", referenceDetail); + } + + documentDetail.put("window_id", browser.getAD_Window_ID()); + if(browser.getAD_Window_ID() > 0) { + MWindow window = MWindow.get(browser.getCtx(), browser.getAD_Window_ID()); + Map referenceDetail = parseDictionaryEntity(window); + documentDetail.put("window", referenceDetail); + } + + String queryClause = new Query( + browser.getCtx(), + I_AD_View_Column.Table_Name, + "AD_View_ID = ? AND ColumnSQL LIKE '%@%' ", + null + ) + .setParameters(browser.getAD_View_ID()) + .setOnlyActiveRecords(true) + .list() + .stream() + .map(viewColumn -> { + return viewColumn.getColumnSQL(); + }) + .collect(Collectors.joining(" ")) + ; + + documentDetail.put("context_column_names", ReferenceUtil.getContextColumnNames( + Optional.ofNullable(queryClause).orElse("") + + Optional.ofNullable(browser.getWhereClause()).orElse("") + ) + ); + + // Browse Fields + List browseFields = new Query( + browser.getCtx(), + I_AD_Browse_Field.Table_Name, + I_AD_Browse_Field.COLUMNNAME_AD_Browse_ID + "=?", + null + ) + .setParameters(browser.getAD_Browse_ID()) + .setOnlyActiveRecords(true) + .setOrderBy(MBrowseField.COLUMNNAME_SeqNo) + .list() + ; + documentDetail.put("fields", convertFields(browseFields)); + // documentDetail.put("display_fields", convertFields(browser.getDisplayFields())); + // documentDetail.put("criteria_fields", convertFields(browser.getCriteriaFields())); + // documentDetail.put("identifier_fields", convertFields(browser.getIdentifierFields())); + // documentDetail.put("order_fields", convertFields(browser.getOrderByFields())); + // documentDetail.put("editable_fields", convertFields(browser.getNotReadOnlyFields())); + + putDocument(documentDetail); + return this; + } + + private List> convertFields(List fields) { + List> fieldsDetail = new ArrayList<>(); + if(fields == null) { + return fieldsDetail; + } + fields.forEach(field -> { + fieldsDetail.add(parseField(field)); + }); + return fieldsDetail; + } + + private Map parseField(MBrowseField field) { + Map detail = new HashMap<>(); + + detail.put("internal_id", field.getAD_Browse_Field_ID()); + detail.put("id", field.getUUID()); + detail.put("uuid", field.getUUID()); + detail.put("name", field.get_Translation(I_AD_Browse_Field.COLUMNNAME_Name, getLanguage())); + detail.put("description", field.get_Translation(I_AD_Browse_Field.COLUMNNAME_Description, getLanguage())); + detail.put("help", field.get_Translation(I_AD_Browse_Field.COLUMNNAME_Help, getLanguage())); + detail.put("is_active", field.isActive()); + detail.put("display_type", field.getAD_Reference_ID()); + detail.put("callout", field.getCallout()); + + // + detail.put("is_order_by", field.isOrderBy()); + detail.put("sort_sequence", field.getSortNo()); + detail.put("is_key", field.isKey()); + detail.put("is_identifier", field.isIdentifier()); + + MViewColumn viewColumn = MViewColumn.getById(field.getCtx(), field.getAD_View_Column_ID(), null); + String columnName = viewColumn.getColumnName(); + detail.put("column_name", columnName); + + // Value Properties + detail.put("is_range", field.isRange()); + detail.put("default_value", field.getDefaultValue()); + detail.put("default_value_to", field.getDefaultValue2()); + detail.put("value_format", field.getVFormat()); + detail.put("min_value", field.getValueMin()); + detail.put("max_value", field.getValueMax()); + + // Display Properties + detail.put("is_displayed", field.isDisplayed()); + detail.put("is_query_criteria", field.isQueryCriteria()); + detail.put("display_logic", field.getDisplayLogic()); + detail.put("sequence", field.getSeqNo()); + detail.put("grid_sequence", field.getSeqNoGrid()); + // Custom display + detail.put("is_displayed_as_panel", field.isActive() && field.isQueryCriteria() ? "Y" : "N"); + detail.put("is_displayed_as_table", field.isActive() && field.isDisplayed() ? 'Y' : 'N'); + + // Editable Properties + detail.put("is_read_only", field.isReadOnly()); + detail.put("read_only_logic", field.getReadOnlyLogic()); + detail.put("is_info_only", field.isInfoOnly()); + + // Mandatory Properties + detail.put("is_mandatory", field.isMandatory()); + + // External Info + String elementName = null; + if(viewColumn.getAD_Column_ID() > 0) { + MColumn column = MColumn.get(field.getCtx(), viewColumn.getAD_Column_ID()); + elementName = column.getColumnName(); + } + if(Util.isEmpty(elementName)) { + elementName = field.getAD_Element().getColumnName(); + } + detail.put("element_name", elementName); + ReferenceValues referenceValues = ReferenceUtil.getReferenceDefinition( + elementName, + field.getAD_Reference_ID(), + field.getAD_Reference_Value_ID(), + field.getAD_Val_Rule_ID() + ); + if(referenceValues != null) { + Map referenceDetail = new HashMap<>(); + referenceDetail.put("table_name", referenceValues.getTableName()); + referenceDetail.put("reference_id", referenceValues.getReferenceId()); + referenceDetail.put("reference_value_id", field.getAD_Reference_Value_ID()); + referenceDetail.put("context_column_names", ReferenceUtil.getContextColumnNames( + referenceValues.getEmbeddedContextColumn() + ) + ); + detail.put("reference", referenceDetail); + } + detail.put("context_column_names", ReferenceUtil.getContextColumnNames( + Optional.ofNullable(field.getDefaultValue()).orElse("") + + Optional.ofNullable(field.getDefaultValue2()).orElse("") + ) + ); + List> dependentFieldsList = DependenceUtil.generateDependentBrowseFields(field); + detail.put("dependent_fields", dependentFieldsList); + return detail; + } + + private Browser() { + super(); + } + + /** + * Default instance + * @return + */ + public static Browser newInstance() { + return new Browser(); + } + + @Override + public String getChannel() { + return CHANNEL; + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/documents/DependenceUtil.java b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/DependenceUtil.java new file mode 100644 index 0000000000..2837c19cf8 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/DependenceUtil.java @@ -0,0 +1,346 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2023 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.util.support.documents; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.adempiere.model.MBrowse; +import org.adempiere.model.MBrowseField; +import org.adempiere.model.MViewColumn; +import org.compiere.model.MColumn; +import org.compiere.model.MField; +import org.compiere.model.MProcess; +import org.compiere.model.MProcessPara; +import org.compiere.model.MTab; +import org.compiere.model.MValRule; +import org.compiere.model.MWindow; +import org.compiere.util.Util; + +/** + * The util class for all documents + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class DependenceUtil { + + /** + * Determinate if columnName is used on context values + * @param columnName + * @param context + * @return boolean + */ + public static boolean isUseParentColumnOnContext(String columnName, String context) { + if (Util.isEmpty(columnName, true)) { + return false; + } + if (Util.isEmpty(context, true)) { + return false; + } + + // @ColumnName@ , @#ColumnName@ , @$ColumnName@ + StringBuffer patternValue = new StringBuffer() + .append("@") + .append("($|#|\\d\\|){0,1}") + .append(columnName) + .append("(@)") + ; + + Pattern pattern = Pattern.compile( + patternValue.toString(), + Pattern.CASE_INSENSITIVE | Pattern.DOTALL + ); + Matcher matcher = pattern.matcher(context); + boolean isUsedParentColumn = matcher.find(); + + // TODO: Delete this condition when fix evaluator (readonlyLogic on Client Info) + // TODO: https://github.com/adempiere/adempiere/pull/4124 + if (!isUsedParentColumn) { + // @ColumnName , @#ColumnName , @$ColumnName + patternValue.append("{0,1}"); + Pattern pattern2 = Pattern.compile( + patternValue.toString(), + Pattern.CASE_INSENSITIVE | Pattern.DOTALL + ); + Matcher matcher2 = pattern2.matcher(context); + isUsedParentColumn = matcher2.find(); + } + + return isUsedParentColumn; + } + + + public static List> generateDependentProcessParameters(MProcessPara processParameter) { + List> depenentFieldsList = new ArrayList<>(); + if (processParameter == null) { + return depenentFieldsList; + } + + final String parentColumnName = processParameter.getColumnName(); + + MProcess process = MProcess.get(processParameter.getCtx(), processParameter.getAD_Process_ID()); + List parametersList = process.getParametersAsList(); + if (parametersList == null || parametersList.isEmpty()) { + return depenentFieldsList; + } + + parametersList.stream() + .filter(currentParameter -> { + if (currentParameter == null || !currentParameter.isActive()) { + return false; + } + // Display Logic + if (isUseParentColumnOnContext(parentColumnName, currentParameter.getDisplayLogic())) { + return true; + } + // Default Value of Column + if (isUseParentColumnOnContext(parentColumnName, currentParameter.getDefaultValue())) { + return true; + } + // TODO: Validate range with `_To` suffix + if (isUseParentColumnOnContext(parentColumnName, currentParameter.getDefaultValue2())) { + return true; + } + // ReadOnly Logic + if (isUseParentColumnOnContext(parentColumnName, currentParameter.getReadOnlyLogic())) { + return true; + } + // Dynamic Validation + if (currentParameter.getAD_Val_Rule_ID() > 0) { + MValRule validationRule = MValRule.get( + currentParameter.getCtx(), + currentParameter.getAD_Val_Rule_ID() + ); + if (isUseParentColumnOnContext(parentColumnName, validationRule.getCode())) { + return true; + } + } + return false; + }) + .forEach(currentParameter -> { + final String currentColumnName = currentParameter.getColumnName(); + Map detail = new HashMap<>(); + detail.put("internal_id", currentParameter.getAD_Process_Para_ID()); + detail.put("id", currentParameter.getUUID()); + detail.put("uuid", currentParameter.getUUID()); + detail.put("column_name", currentColumnName); + // Process + detail.put("parent_id", process.getAD_Process_ID()); + detail.put("parent_uuid", process.getUUID()); + detail.put("parent_name", process.getName()); + depenentFieldsList.add(detail); + }); + + return depenentFieldsList; + } + + + public static List> generateDependentWindowFields(MField field) { + List> depenentFieldsList = new ArrayList<>(); + if (field == null) { + return depenentFieldsList; + } + MColumn column = MColumn.get(field.getCtx(), field.getAD_Column_ID()); + final String parentColumnName = column.getColumnName(); + MTab parentTab = MTab.get(field.getCtx(), field.getAD_Tab_ID()); + List tabsList = Arrays.asList(MWindow.get(field.getCtx(), parentTab.getAD_Window_ID()).getTabs(false, null)); + if (tabsList == null || tabsList.isEmpty()) { + return depenentFieldsList; + } + tabsList.stream() + .filter(currentTab -> { + // transaltion tab is not rendering on client + return currentTab.isActive() && !currentTab.isTranslationTab() && !currentTab.isSortTab(); + }) + .forEach(tab -> { + List fieldsList = Arrays.asList(tab.getFields(false, null)); + if (fieldsList == null || fieldsList.isEmpty()) { + return; + } + + fieldsList.stream() + .filter(currentField -> { + if (currentField == null || !currentField.isActive()) { + return false; + } + // Display Logic + if (isUseParentColumnOnContext(parentColumnName, currentField.getDisplayLogic())) { + return true; + } + // Default Value of Field + if (isUseParentColumnOnContext(parentColumnName, currentField.getDefaultValue())) { + return true; + } + // Dynamic Validation + if (currentField.getAD_Val_Rule_ID() > 0) { + MValRule validationRule = MValRule.get( + currentField.getCtx(), + currentField.getAD_Val_Rule_ID() + ); + if (isUseParentColumnOnContext(parentColumnName, validationRule.getCode())) { + return true; + } + } + + MColumn currentColumn = MColumn.get( + currentField.getCtx(), + currentField.getAD_Column_ID() + ); + // Default Value of Column + if (isUseParentColumnOnContext(parentColumnName, currentColumn.getDefaultValue())) { + return true; + } + // ReadOnly Logic + if (isUseParentColumnOnContext(parentColumnName, currentColumn.getReadOnlyLogic())) { + return true; + } + // Mandatory Logic + if (isUseParentColumnOnContext(parentColumnName, currentColumn.getMandatoryLogic())) { + return true; + } + // Dynamic Validation + if (currentColumn.getAD_Val_Rule_ID() > 0) { + MValRule validationRule = MValRule.get( + currentColumn.getCtx(), + currentColumn.getAD_Val_Rule_ID() + ); + if (isUseParentColumnOnContext(parentColumnName, validationRule.getCode())) { + return true; + } + } + return false; + }) + .forEach(currentField -> { + final String currentColumnName = MColumn.getColumnName( + currentField.getCtx(), + currentField.getAD_Column_ID() + ); + Map detail = new HashMap<>(); + detail.put("internal_id", currentField.getAD_Field_ID()); + detail.put("id", currentField.getUUID()); + detail.put("uuid", currentField.getUUID()); + detail.put("column_name", currentColumnName); + // Tab + detail.put("parent_id", tab.getAD_Tab_ID()); + detail.put("parent_uuid", tab.getUUID()); + detail.put("parent_name", tab.getName()); + depenentFieldsList.add(detail); + }); + }); + return depenentFieldsList; + } + + + public static List> generateDependentBrowseFields(MBrowseField browseField) { + List> depenentFieldsList = new ArrayList<>(); + if (browseField == null) { + return depenentFieldsList; + } + + MViewColumn viewColumn = MViewColumn.getById( + browseField.getCtx(), + browseField.getAD_View_Column_ID(), + null + ); + String parentColumnName = viewColumn.getColumnName(); + + String elementName = null; + if(viewColumn.getAD_Column_ID() != 0) { + MColumn column = MColumn.get( + browseField.getCtx(), + viewColumn.getAD_Column_ID() + ); + elementName = column.getColumnName(); + } + if(Util.isEmpty(elementName, true)) { + elementName = browseField.getAD_Element().getColumnName(); + } + String parentElementName = elementName; + + MBrowse browse = MBrowse.get(browseField.getCtx(), browseField.getAD_Browse_ID()); + List browseFieldsList = browse.getFields(); + if (browseFieldsList == null || browseFieldsList.isEmpty()) { + return depenentFieldsList; + } + + browseFieldsList.stream() + .filter(currentBrowseField -> { + if(currentBrowseField == null || !currentBrowseField.isActive()) { + return false; + } + // Display Logic + if (isUseParentColumnOnContext(parentColumnName, currentBrowseField.getDisplayLogic()) + || isUseParentColumnOnContext(parentElementName, currentBrowseField.getDisplayLogic())) { + return true; + } + // Default Value + if (isUseParentColumnOnContext(parentColumnName, currentBrowseField.getDefaultValue()) + || isUseParentColumnOnContext(parentElementName, currentBrowseField.getDefaultValue())) { + return true; + } + // Default Value 2 (range) + // TODO: Validate range with `_To` suffix + if (isUseParentColumnOnContext(parentColumnName, currentBrowseField.getDefaultValue2()) + || isUseParentColumnOnContext(parentElementName, currentBrowseField.getDefaultValue2())) { + return true; + } + // ReadOnly Logic + if (isUseParentColumnOnContext(parentColumnName, currentBrowseField.getReadOnlyLogic()) + || isUseParentColumnOnContext(parentElementName, currentBrowseField.getReadOnlyLogic())) { + return true; + } + // Dynamic Validation + if (currentBrowseField.getAD_Val_Rule_ID() > 0) { + MValRule validationRule = MValRule.get( + currentBrowseField.getCtx(), + currentBrowseField.getAD_Val_Rule_ID() + ); + if (isUseParentColumnOnContext(parentColumnName, validationRule.getCode()) + || isUseParentColumnOnContext(parentElementName, validationRule.getCode())) { + return true; + } + } + return false; + }) + .forEach(currentBrowseField -> { + MViewColumn currentViewColumn = MViewColumn.getById( + currentBrowseField.getCtx(), + currentBrowseField.getAD_View_Column_ID(), + null + ); + final String currentColumnName = currentViewColumn.getColumnName(); + Map detail = new HashMap<>(); + detail.put("id", currentBrowseField.getAD_Browse_Field_ID()); + detail.put("id", currentBrowseField.getUUID()); + detail.put("uuid", currentBrowseField.getUUID()); + detail.put("column_name", currentColumnName); + // Browse + detail.put("parent_id", browse.getAD_Browse_ID()); + detail.put("parent_uuid", browse.getUUID()); + detail.put("parent_name", browse.getName()); + depenentFieldsList.add(detail); + }); + + return depenentFieldsList; + } + +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Form.java b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Form.java new file mode 100644 index 0000000000..ec76551508 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Form.java @@ -0,0 +1,91 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2024 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Edwin Betancourt, EdwinBetanc0urt@outlook.com * + *****************************************************************************/ +package org.spin.eca56.util.support.documents; + +import java.util.HashMap; +import java.util.Map; + +import org.adempiere.core.domains.models.I_AD_Form; +import org.compiere.model.MForm; +import org.compiere.model.PO; +import org.compiere.util.Util; +import org.spin.eca56.util.support.DictionaryDocument; + +/** + * the document class for Process senders + * @author Edwin Betancourt, EdwinBetanc0urt@outlook.com, https://github.com/EdwinBetanc0urt + */ +public class Form extends DictionaryDocument { + + // Some default documents key + public static final String KEY = "new"; + public static final String CHANNEL = "form"; + + + @Override + public String getKey() { + return KEY; + } + + + @Override + public DictionaryDocument withEntity(PO entity) { + MForm form = (MForm) entity; + Map documentDetail = new HashMap<>(); + documentDetail.put("internal_id", form.getAD_Form_ID()); + documentDetail.put("id", form.getUUID()); + documentDetail.put("uuid", form.getUUID()); + documentDetail.put("name", form.get_Translation(I_AD_Form.COLUMNNAME_Name, getLanguage())); + documentDetail.put("description", form.get_Translation(I_AD_Form.COLUMNNAME_Description, getLanguage())); + documentDetail.put("help", form.get_Translation(I_AD_Form.COLUMNNAME_Help, getLanguage())); + documentDetail.put("is_active", form.isActive()); + documentDetail.put("is_beta_functionality", form.isBetaFunctionality()); + + String fileName = form.getClassname(); + if (!Util.isEmpty(fileName, true)) { + int beginIndex = fileName.lastIndexOf("."); + if (beginIndex == -1) { + beginIndex = 0; + } else { + beginIndex++; + } + fileName = form.getClassname().substring(beginIndex, fileName.length()); + documentDetail.put("file_name", fileName); + } + + putDocument(documentDetail); + return this; + } + + private Form() { + super(); + } + + /** + * Default instance + * @return + */ + public static Form newInstance() { + return new Form(); + } + + @Override + public String getChannel() { + return CHANNEL; + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/documents/MenuItem.java b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/MenuItem.java new file mode 100644 index 0000000000..2b4e8c0ea9 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/MenuItem.java @@ -0,0 +1,166 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2023 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.util.support.documents; + +import java.util.HashMap; +import java.util.Map; + +import org.adempiere.core.domains.models.I_AD_Browse; +import org.adempiere.core.domains.models.I_AD_Form; +import org.adempiere.core.domains.models.I_AD_Menu; +import org.adempiere.core.domains.models.I_AD_Process; +import org.adempiere.core.domains.models.I_AD_Window; +import org.adempiere.core.domains.models.I_AD_Workflow; +import org.adempiere.model.MBrowse; +import org.compiere.model.MForm; +import org.compiere.model.MMenu; +import org.compiere.model.MProcess; +import org.compiere.model.MWindow; +import org.compiere.model.PO; +import org.compiere.util.Util; +import org.compiere.wf.MWorkflow; +import org.spin.eca56.util.support.DictionaryDocument; + +/** + * The document class for Menu sender + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class MenuItem extends DictionaryDocument { + + public static final String CHANNEL = "menu_item"; + public static final String KEY = "new"; + + @Override + public String getKey() { + return KEY; + } + + private Map convertMenu(MMenu menu) { + Map detail = new HashMap<>(); + detail.put("internal_id", menu.getAD_Menu_ID()); + detail.put("id", menu.getUUID()); + detail.put("uuid", menu.getUUID()); + detail.put("name", menu.get_Translation(I_AD_Menu.COLUMNNAME_Name, getLanguage())); + detail.put("description", menu.get_Translation(I_AD_Menu.COLUMNNAME_Description, getLanguage())); + detail.put("is_read_only", menu.isReadOnly()); + detail.put("is_sales_transaction", menu.isSOTrx()); + detail.put("is_summary", menu.isSummary()); + detail.put("action", menu.getAction()); + // + if(!Util.isEmpty(menu.getAction())) { + if(menu.getAction().equals(MMenu.ACTION_Form)) { + if(menu.getAD_Form_ID() > 0) { + MForm form = new MForm(menu.getCtx(), menu.getAD_Form_ID(), null); + Map referenceDetail = new HashMap<>(); + referenceDetail.put("internal_id", form.getAD_Form_ID()); + referenceDetail.put("id", form.getUUID()); + referenceDetail.put("uuid", form.getUUID()); + referenceDetail.put("name", form.get_Translation(I_AD_Form.COLUMNNAME_Name, getLanguage())); + referenceDetail.put("description", form.get_Translation(I_AD_Form.COLUMNNAME_Description, getLanguage())); + referenceDetail.put("help", form.get_Translation(I_AD_Form.COLUMNNAME_Help, getLanguage())); + detail.put("form", referenceDetail); + detail.put("action_id", form.getAD_Form_ID()); + detail.put("action_uuid", form.getUUID()); + } + } else if(menu.getAction().equals(MMenu.ACTION_Window)) { + if(menu.getAD_Window_ID() > 0) { + MWindow window = new MWindow(menu.getCtx(), menu.getAD_Window_ID(), null); + Map referenceDetail = new HashMap<>(); + referenceDetail.put("internal_id", window.getAD_Window_ID()); + referenceDetail.put("id", window.getUUID()); + referenceDetail.put("uuid", window.getUUID()); + referenceDetail.put("name", window.get_Translation(I_AD_Window.COLUMNNAME_Name, getLanguage())); + referenceDetail.put("description", window.get_Translation(I_AD_Window.COLUMNNAME_Description, getLanguage())); + referenceDetail.put("help", window.get_Translation(I_AD_Window.COLUMNNAME_Help, getLanguage())); + detail.put("window", referenceDetail); + detail.put("action_id", window.getAD_Window_ID()); + detail.put("action_uuid", window.getUUID()); + } + } else if(menu.getAction().equals(MMenu.ACTION_Process) + || menu.getAction().equals(MMenu.ACTION_Report)) { + if(menu.getAD_Process_ID() > 0) { + MProcess process = MProcess.get(menu.getCtx(), menu.getAD_Process_ID()); + Map referenceDetail = new HashMap<>(); + referenceDetail.put("internal_id", process.getAD_Process_ID()); + referenceDetail.put("id", process.getUUID()); + referenceDetail.put("uuid", process.getUUID()); + referenceDetail.put("name", process.get_Translation(I_AD_Process.COLUMNNAME_Name, getLanguage())); + referenceDetail.put("description", process.get_Translation(I_AD_Process.COLUMNNAME_Description, getLanguage())); + referenceDetail.put("help", process.get_Translation(I_AD_Process.COLUMNNAME_Help, getLanguage())); + detail.put("process", referenceDetail); + detail.put("action_id", process.getAD_Process_ID()); + detail.put("action_uuid", process.getUUID()); + } + } else if(menu.getAction().equals(MMenu.ACTION_SmartBrowse)) { + if(menu.getAD_Browse_ID() > 0) { + MBrowse smartBrowser = MBrowse.get(menu.getCtx(), menu.getAD_Browse_ID()); + Map referenceDetail = new HashMap<>(); + referenceDetail.put("internal_id", smartBrowser.getAD_Browse_ID()); + referenceDetail.put("id", smartBrowser.getUUID()); + referenceDetail.put("uuid", smartBrowser.getUUID()); + referenceDetail.put("name", smartBrowser.get_Translation(I_AD_Browse.COLUMNNAME_Name, getLanguage())); + referenceDetail.put("description", smartBrowser.get_Translation(I_AD_Browse.COLUMNNAME_Description, getLanguage())); + referenceDetail.put("help", smartBrowser.get_Translation(I_AD_Browse.COLUMNNAME_Help, getLanguage())); + detail.put("browser", referenceDetail); + detail.put("action_id", smartBrowser.getAD_Browse_ID()); + detail.put("action_uuid", smartBrowser.getUUID()); + } + } else if(menu.getAction().equals(MMenu.ACTION_WorkFlow)) { + if(menu.getAD_Workflow_ID() > 0) { + MWorkflow workflow = MWorkflow.get(menu.getCtx(), menu.getAD_Workflow_ID()); + Map referenceDetail = new HashMap<>(); + referenceDetail.put("internal_id", workflow.getAD_Workflow_ID()); + referenceDetail.put("id", workflow.getUUID()); + referenceDetail.put("uuid", workflow.getUUID()); + referenceDetail.put("name", workflow.get_Translation(I_AD_Workflow.COLUMNNAME_Name, getLanguage())); + referenceDetail.put("description", workflow.get_Translation(I_AD_Workflow.COLUMNNAME_Description, getLanguage())); + referenceDetail.put("help", workflow.get_Translation(I_AD_Workflow.COLUMNNAME_Help, getLanguage())); + detail.put("workflow", referenceDetail); + detail.put("action_id", workflow.getAD_Workflow_ID()); + detail.put("action_uuid", workflow.getUUID()); + } + } + } + return detail; + } + + @Override + public DictionaryDocument withEntity(PO entity) { + MMenu menu = (MMenu) entity; + Map documentDetail = convertMenu(menu); + putDocument(documentDetail); + return this; + } + + private MenuItem() { + super(); + } + + /** + * Default instance + * @return + */ + public static MenuItem newInstance() { + return new MenuItem(); + } + + @Override + public String getChannel() { + return CHANNEL; + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/documents/MenuTree.java b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/MenuTree.java new file mode 100644 index 0000000000..d78f82df86 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/MenuTree.java @@ -0,0 +1,148 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2023 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.util.support.documents; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MTree; +import org.compiere.model.PO; +import org.compiere.util.DB; +import org.spin.eca56.util.support.DictionaryDocument; + +/** + * The document class for Menu Tree sender + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class MenuTree extends DictionaryDocument { + + public static final String CHANNEL = "menu_tree"; + public static final String KEY = "new"; + + @Override + public String getKey() { + return KEY; + } + + private Map convertNode(TreeNodeReference node) { + Map detail = new HashMap<>(); + detail.put("node_id", node.getNodeId()); + detail.put("internal_id", node.getNodeId()); + detail.put("parent_id", node.getParentId()); + detail.put("sequence", node.getSequence()); + return detail; + } + + @Override + public DictionaryDocument withEntity(PO entity) { + MTree tree = (MTree) entity; + return withNode(tree); + } + + private List getChildren(int treeId, int parentId) { + String tableName = MTree.getNodeTableName(MTree.TREETYPE_Menu); + final String sql = "SELECT tn.Node_ID, tn.SeqNo " + + "FROM " + tableName + " tn " + + "WHERE tn.AD_Tree_ID = ? " + + "AND COALESCE(tn.Parent_ID, 0) = ?" + ; + List parameters = new ArrayList(); + parameters.add(treeId); + parameters.add(parentId); + List nodeIds = new ArrayList(); + DB.runResultSet(null, sql, parameters, resulset -> { + while (resulset.next()) { + nodeIds.add(TreeNodeReference.newInstance() + .withNodeId( + resulset.getInt("Node_ID") + ) + .withParentId(parentId) + .withSequence( + resulset.getInt("SeqNo")) + ) + ; + } + }).onFailure(throwable -> { + throw new AdempiereException(throwable); + }); + return nodeIds; + } + + public MenuTree withNode(MTree tree) { + List children = getChildren(tree.getAD_Tree_ID(), 0); + Map documentDetail = convertNode(TreeNodeReference.newInstance()); + documentDetail.put("internal_id", tree.getAD_Tree_ID()); + documentDetail.put("id", tree.getUUID()); + documentDetail.put("uuid", tree.getUUID()); + documentDetail.put("name", tree.getName()); + List> childrenAsMap = new ArrayList<>(); + children.forEach(child -> { + Map nodeAsMap = convertNode(child); + // Explode child + addChildren(tree.getAD_Tree_ID(), child, nodeAsMap); + childrenAsMap.add(nodeAsMap); + }); + documentDetail.put("children", childrenAsMap); + putDocument(documentDetail); + return this; + } + + /** + * Add children to menu + * @param context + * @param builder + * @param node + */ + private void addChildren(int treeId, TreeNodeReference node, Map parent) { + List children = getChildren(treeId, node.getNodeId()); + List> childrenAsMap = new ArrayList<>(); + children.forEach(child -> { + Map nodeAsMap = convertNode(child); + // Explode child + addChildren(treeId, child, nodeAsMap); + childrenAsMap.add(nodeAsMap); + }); + parent.put("children", childrenAsMap); + } + + private MenuTree() { + super(); + } + + /** + * Default instance + * @return + */ + public static MenuTree newInstance() { + return new MenuTree(); + } + + @Override + public String getLanguage() { + return null; + } + + @Override + public String getChannel() { + return CHANNEL; + } + +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Order.java b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Order.java new file mode 100644 index 0000000000..cd5a0b67bb --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Order.java @@ -0,0 +1,103 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2023 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.util.support.documents; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.adempiere.core.domains.models.I_C_OrderLine; +import org.compiere.model.MOrder; +import org.compiere.model.MOrderLine; +import org.spin.eca56.util.support.IGenericDocument; + +/** + * the document class for Process senders + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Order implements IGenericDocument { + + // Some default documents key + public static final String KEY = "new"; + public static final String CHANNEL = "order"; + private Map document; + + @Override + public String getKey() { + return KEY; + } + + @Override + public Map getValues() { + return document; + } + + public Order withOrder(MOrder order) { + document = new HashMap<>(); + Map documentDetail = new HashMap<>(); + documentDetail.put("id", order.getC_Order_ID()); + documentDetail.put("uuid", order.getUUID()); + documentDetail.put("document_no", order.getDocumentNo()); + documentDetail.put("document_type_id", order.getC_DocTypeTarget_ID()); + documentDetail.put("description", order.getDescription()); + documentDetail.put("business_partner_id", order.getC_BPartner_ID()); + documentDetail.put("total_lines", order.getTotalLines()); + documentDetail.put("grand_total", order.getGrandTotal()); + + // Parameters + List orderLines = Arrays.asList(order.getLines(true, I_C_OrderLine.COLUMNNAME_Line)); + List> orderLinesDetail = new ArrayList<>(); + if(orderLines != null) { + orderLines.forEach(orderLine -> { + Map detail = new HashMap<>(); + detail.put("id", orderLine.getC_OrderLine_ID()); + detail.put("uuid", orderLine.getUUID()); + detail.put("name", orderLine.getName()); + detail.put("description", orderLine.getDescription()); + detail.put("product_id", orderLine.getM_Product_ID()); + detail.put("quantity_entered", orderLine.getQtyEntered()); + detail.put("quantity_ordered", orderLine.getQtyOrdered()); + detail.put("price_entered", orderLine.getPriceEntered()); + detail.put("price_actual", orderLine.getPriceLimit()); + detail.put("price_list", orderLine.getPriceList()); + detail.put("uom_id", orderLine.getC_UOM_ID()); + orderLinesDetail.add(detail); + }); + } + documentDetail.put("lines", orderLinesDetail); + document.put(KEY, documentDetail); + return this; + } + + /** + * Default instance + * @return + */ + public static Order newInstance() { + return new Order(); + } + + @Override + public String getChannel() { + return CHANNEL; + } + + +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Process.java b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Process.java new file mode 100644 index 0000000000..7357107463 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Process.java @@ -0,0 +1,229 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2023 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.util.support.documents; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; + +import org.adempiere.core.domains.models.I_AD_Element; +import org.adempiere.core.domains.models.I_AD_Process; +import org.adempiere.core.domains.models.I_AD_Process_Para; +import org.adempiere.model.MBrowse; +import org.compiere.model.MForm; +import org.compiere.model.MProcess; +import org.compiere.model.MProcessPara; +import org.compiere.model.MReportView; +import org.compiere.model.PO; +import org.compiere.model.Query; +import org.compiere.util.Util; +import org.compiere.wf.MWorkflow; +import org.spin.eca56.util.support.DictionaryDocument; +import org.spin.util.AbstractExportFormat; +import org.spin.util.ReportExportHandler; + +/** + * the document class for Process senders + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Process extends DictionaryDocument { + + // Some default documents key + public static final String KEY = "new"; + public static final String CHANNEL = "process"; + + @Override + public String getKey() { + return KEY; + } + + private Map parseDictionaryEntity(PO entity) { + Map documentEntity = new HashMap<>(); + documentEntity.put("internal_id", entity.get_ID()); + documentEntity.put("id", entity.get_UUID()); + documentEntity.put("uuid", entity.get_UUID()); + documentEntity.put("name", entity.get_Translation(I_AD_Element.COLUMNNAME_Name, getLanguage())); + documentEntity.put("description", entity.get_Translation(I_AD_Element.COLUMNNAME_Description, getLanguage())); + documentEntity.put("help", entity.get_Translation(I_AD_Element.COLUMNNAME_Help, getLanguage())); + return documentEntity; + } + + + @Override + public DictionaryDocument withEntity(PO entity) { + MProcess process = (MProcess) entity; + Map documentDetail = new HashMap<>(); + documentDetail.put("internal_id", process.getAD_Process_ID()); + documentDetail.put("id", process.getUUID()); + documentDetail.put("uuid", process.getUUID()); + documentDetail.put("code", process.getValue()); + documentDetail.put("name", process.get_Translation(I_AD_Process.COLUMNNAME_Name, getLanguage())); + documentDetail.put("description", process.get_Translation(I_AD_Process.COLUMNNAME_Description, getLanguage())); + documentDetail.put("help", process.get_Translation(I_AD_Process.COLUMNNAME_Help, getLanguage())); + documentDetail.put("is_active", process.isActive()); + documentDetail.put("show_help", process.getShowHelp()); + documentDetail.put("is_beta_functionality", process.isBetaFunctionality()); + + boolean isMultiSelection = false; + if (process.get_ColumnIndex("SP003_IsMultiSelection") >= 0) { + isMultiSelection = process.get_ValueAsBoolean("SP003_IsMultiSelection"); + } + documentDetail.put("is_multi_selection", isMultiSelection); + + // Report + documentDetail.put("is_report", process.isReport()); + if(process.isReport()) { + documentDetail.put("is_process_before_launch", !Util.isEmpty(process.getClassname(), true)); + documentDetail.put("is_jasper_report", !Util.isEmpty(process.getJasperReport(), true)); + documentDetail.put("report_view_id", process.getAD_ReportView_ID()); + documentDetail.put("print_format_id", process.getAD_PrintFormat_ID()); + MReportView reportView = null; + if(process.getAD_ReportView_ID() > 0) { + reportView = MReportView.get(entity.getCtx(), process.getAD_ReportView_ID()); + } + ReportExportHandler exportHandler = new ReportExportHandler(entity.getCtx(), reportView); + List> reportExportsList = new ArrayList<>(); + for(AbstractExportFormat reportType : exportHandler.getExportFormatList()) { + Map reportExportReference = new HashMap<>(); + reportExportReference.put("name", reportType.getName()); + reportExportReference.put("type", reportType.getExtension()); + reportExportsList.add(reportExportReference); + } + documentDetail.put("report_export_types", reportExportsList); + } else { + // Linked to Process + documentDetail.put("browser_id", process.getAD_Browse_ID()); + documentDetail.put("form_id", process.getAD_Form_ID()); + documentDetail.put("workflow_id", process.getAD_Workflow_ID()); + if (process.getAD_Browse_ID() > 0) { + MBrowse browse = MBrowse.get(process.getCtx(), process.getAD_Browse_ID()); + documentDetail.put("browser", parseDictionaryEntity(browse)); + } else if (process.getAD_Form_ID() > 0) { + MForm form = new MForm(process.getCtx(), process.getAD_Form_ID(), null); + documentDetail.put("form", parseDictionaryEntity(form)); + } else if (process.getAD_Workflow_ID() > 0) { + MWorkflow workflow = MWorkflow.get(process.getCtx(), process.getAD_Workflow_ID()); + documentDetail.put("workflow", parseDictionaryEntity(workflow)); + } + } + + // Process Parameters + List parameters = new Query( + process.getCtx(), + I_AD_Process_Para.Table_Name, + I_AD_Process_Para.COLUMNNAME_AD_Process_ID + "=?", + null + ) + .setParameters(process.getAD_Process_ID()) + .setOnlyActiveRecords(true) + .setOrderBy(I_AD_Process_Para.COLUMNNAME_SeqNo) + .list() + ; + + boolean hasParameters = parameters != null && !parameters.isEmpty(); + documentDetail.put("has_parameters", hasParameters); + + List> parametersDetail = new ArrayList<>(); + if(hasParameters) { + parameters.forEach(parameter -> { + Map detail = parseProcessParameter(parameter); + parametersDetail.add(detail); + }); + } + documentDetail.put("parameters", parametersDetail); + putDocument(documentDetail); + return this; + } + + Map parseProcessParameter(MProcessPara parameter) { + Map detail = new HashMap<>(); + + detail.put("internal_id", parameter.getAD_Process_Para_ID()); + detail.put("id", parameter.getUUID()); + detail.put("uuid", parameter.getUUID()); + detail.put("column_name", parameter.getColumnName()); + detail.put("name", parameter.get_Translation(I_AD_Process_Para.COLUMNNAME_Name, getLanguage())); + detail.put("description", parameter.get_Translation(I_AD_Process_Para.COLUMNNAME_Description, getLanguage())); + detail.put("help", parameter.get_Translation(I_AD_Process_Para.COLUMNNAME_Help, getLanguage())); + detail.put("is_active", parameter.isActive()); + detail.put("display_type", parameter.getAD_Reference_ID()); + + // Value Properties + detail.put("is_range", parameter.isRange()); + detail.put("default_value", parameter.getDefaultValue()); + detail.put("default_value_to", parameter.getDefaultValue2()); + detail.put("field_length", parameter.getFieldLength()); + detail.put("value_format", parameter.getVFormat()); + detail.put("min_value", parameter.getValueMin()); + detail.put("max_value", parameter.getValueMax()); + + // Display Properties + detail.put("display_logic", parameter.getDisplayLogic()); + detail.put("sequence", parameter.getSeqNo()); + // Custom display + detail.put("is_displayed_as_panel", parameter.isActive() ? "Y" : "N"); + + // Mandatory Properties + detail.put("is_mandatory", parameter.isMandatory()); + + // Editable Properties + detail.put("read_only_logic", parameter.getReadOnlyLogic()); + detail.put("is_info_only", parameter.isInfoOnly()); + + // External Info + ReferenceValues referenceValues = ReferenceUtil.getReferenceDefinition(parameter.getColumnName(), parameter.getAD_Reference_ID(), parameter.getAD_Reference_Value_ID(), parameter.getAD_Val_Rule_ID()); + if(referenceValues != null) { + Map referenceDetail = new HashMap<>(); + referenceDetail.put("table_name", referenceValues.getTableName()); + referenceDetail.put("reference_id", referenceValues.getReferenceId()); + referenceDetail.put("reference_value_id", parameter.getAD_Reference_Value_ID()); + referenceDetail.put("context_column_names", ReferenceUtil.getContextColumnNames( + referenceValues.getEmbeddedContextColumn() + ) + ); + detail.put("reference", referenceDetail); + } + detail.put("context_column_names", ReferenceUtil.getContextColumnNames( + Optional.ofNullable(parameter.getDefaultValue()).orElse("") + + Optional.ofNullable(parameter.getDefaultValue2()).orElse("") + ) + ); + List> dependentFieldsList = DependenceUtil.generateDependentProcessParameters(parameter); + detail.put("dependent_fields", dependentFieldsList); + return detail; + } + + private Process() { + super(); + } + + /** + * Default instance + * @return + */ + public static Process newInstance() { + return new Process(); + } + + @Override + public String getChannel() { + return CHANNEL; + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/documents/ReferenceUtil.java b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/ReferenceUtil.java new file mode 100644 index 0000000000..d6ad23a226 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/ReferenceUtil.java @@ -0,0 +1,189 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2023 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.util.support.documents; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.adempiere.core.domains.models.I_AD_Chart; +import org.adempiere.core.domains.models.I_AD_Image; +import org.adempiere.core.domains.models.I_AD_Ref_List; +import org.adempiere.core.domains.models.I_C_ElementValue; +import org.adempiere.core.domains.models.I_C_Location; +import org.adempiere.core.domains.models.I_M_AttributeSetInstance; +import org.adempiere.core.domains.models.I_M_Locator; +import org.adempiere.core.domains.models.I_S_ResourceAssignment; +import org.adempiere.core.domains.models.X_AD_Reference; +import org.compiere.model.MRefTable; +import org.compiere.model.MValRule; +import org.compiere.util.DisplayType; +import org.compiere.util.Env; +import org.compiere.util.Util; + +/** + * The util class for all documents + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class ReferenceUtil { + + /** + * Validate reference + * @param displayTypeId + * @return + */ + public static boolean isLookupReference(int displayTypeId) { + if (DisplayType.isLookup(displayTypeId) + || DisplayType.Account == displayTypeId + || DisplayType.Assignment == displayTypeId + || DisplayType.ID == displayTypeId + || DisplayType.Location == displayTypeId + || DisplayType.Locator == displayTypeId + || DisplayType.Image == displayTypeId + || DisplayType.PAttribute == displayTypeId) { + return true; + } + return false; + } + + /** + * Get Context column names from context + * @param context + * @return + * @return List + */ + public static List getContextColumnNames(String context) { + if (Util.isEmpty(context, true)) { + return new ArrayList(); + } + String START = "\\@"; // A literal "(" character in regex + String END = "\\@"; // A literal ")" character in regex + + // Captures the word(s) between the above two character(s) + final String COLUMN_NAME_PATTERN = START + "(#|$|\\d\\|){0,1}(\\w+)" + END; + + Pattern pattern = Pattern.compile( + COLUMN_NAME_PATTERN, + Pattern.CASE_INSENSITIVE | Pattern.DOTALL + ); + Matcher matcher = pattern.matcher(context); + Map columnNamesMap = new HashMap(); + while(matcher.find()) { + final String columnContext = matcher.group().replace("@", "").replace("@", ""); + columnNamesMap.put(columnContext, true); + } + return new ArrayList(columnNamesMap.keySet()); + } + + public static ReferenceValues getReferenceDefinition(String columnName, int displayTypeId, int referenceValueId, int validationRuleId) { + String embeddedContextColumn = null; + + if (DisplayType.Button == displayTypeId) { + // Reference Value + if (referenceValueId > 0) { + X_AD_Reference reference = new X_AD_Reference(Env.getCtx(), referenceValueId, null); + if (reference != null && reference.getAD_Reference_ID() > 0) { + // overwrite display type to Table or List + if (X_AD_Reference.VALIDATIONTYPE_TableValidation.equals(reference.getValidationType())) { + displayTypeId = DisplayType.Table; + } else { + displayTypeId = DisplayType.List; + } + } + } + } + + if(displayTypeId > 0 && ReferenceUtil.isLookupReference(displayTypeId)) { +// X_AD_Reference reference = new X_AD_Reference(Env.getCtx(), displayTypeId, null); +// MLookupInfo lookupInformation = null; + String tableName = getTableNameFromReference(columnName, displayTypeId); +// // Special references +// if(Util.isEmpty(tableName)) { +// lookupInformation = MLookupFactory.getLookupInfo(Env.getCtx(), 0, 0, referenceId, Language.getBaseLanguage(), columnName, referenceValueId, false, null, false); +// if(lookupInformation != null) { +// String validationRuleValue = null; +// if(validationRuleId > 0) { +// MValRule validationRule = MValRule.get(Env.getCtx(), validationRuleId); +// validationRuleValue = validationRule.getCode(); +// } +// tableName = lookupInformation.TableName; +// embeddedContextColumn = Optional.ofNullable(lookupInformation.Query).orElse("") +// + Optional.ofNullable(lookupInformation.QueryDirect).orElse("") +// + Optional.ofNullable(lookupInformation.ValidationCode).orElse("") +// + Optional.ofNullable(validationRuleValue).orElse(""); +// } +// } + String whereClauseReference = null; + String validationRuleValue = null; + if(validationRuleId > 0) { + MValRule validationRule = MValRule.get(Env.getCtx(), validationRuleId); + validationRuleValue = validationRule.getCode(); + } + if ((displayTypeId == DisplayType.Table || displayTypeId == DisplayType.Search) && referenceValueId > 0) { + MRefTable tableReference = MRefTable.getById(Env.getCtx(), referenceValueId); + if(tableReference != null) { + whereClauseReference = tableReference.getWhereClause(); + } + } + embeddedContextColumn = Optional.ofNullable(whereClauseReference).orElse("") + + Optional.ofNullable(validationRuleValue).orElse("") + ; + return ReferenceValues.newInstance(displayTypeId, tableName, embeddedContextColumn); + } + return null; + } + + /** + * Get Table Name for special tables + * @param columnName + * @param referenceId + * @return + */ + public static String getTableNameFromReference(String columnName, int referenceId) { + String tableName = null; + if(DisplayType.ID == referenceId || DisplayType.Search == referenceId + || DisplayType.Table == referenceId || DisplayType.TableDir == referenceId) { + tableName = columnName.replaceAll("(_ID_To|_To_ID|_ID)$", ""); + if (columnName.endsWith("_Acct")) { + tableName = I_C_ElementValue.Table_Name; + } + } else if (DisplayType.List == referenceId) { + tableName = I_AD_Ref_List.Table_Name; + } else if (DisplayType.Location == referenceId) { + tableName = I_C_Location.Table_Name; + } else if (DisplayType.Locator == referenceId) { + tableName = I_M_Locator.Table_Name; + } else if (DisplayType.PAttribute == referenceId) { + tableName = I_M_AttributeSetInstance.Table_Name; + } else if(DisplayType.Image == referenceId) { + tableName = I_AD_Image.Table_Name; + } else if(DisplayType.Assignment == referenceId) { + tableName = I_S_ResourceAssignment.Table_Name; + } else if(DisplayType.Chart == referenceId) { + tableName = I_AD_Chart.Table_Name; + } else if(DisplayType.Account == referenceId) { + tableName = I_C_ElementValue.Table_Name; + } + return tableName; + } + +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/documents/ReferenceValues.java b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/ReferenceValues.java new file mode 100644 index 0000000000..cfac891638 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/ReferenceValues.java @@ -0,0 +1,51 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2023 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.util.support.documents; + +/** + * The Stub class for reference + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class ReferenceValues { + private String tableName; + private String embeddedContextColumn; + private int referenceId; + + private ReferenceValues(int referenceId, String tableName, String embeddedContextColumn) { + this.referenceId = referenceId; + this.tableName = tableName; + this.embeddedContextColumn = embeddedContextColumn; + } + + public static ReferenceValues newInstance(int referenceId, String tableName, String embeddedContextColumn) { + return new ReferenceValues(referenceId, tableName, embeddedContextColumn); + } + + public String getTableName() { + return tableName; + } + + public String getEmbeddedContextColumn() { + return embeddedContextColumn; + } + + public int getReferenceId() { + return referenceId; + } + +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Role.java b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Role.java new file mode 100644 index 0000000000..738ea56169 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Role.java @@ -0,0 +1,227 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2023 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.util.support.documents; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import org.adempiere.core.domains.models.I_AD_Browse; +import org.adempiere.core.domains.models.I_AD_Form; +import org.adempiere.core.domains.models.I_AD_Process; +import org.adempiere.core.domains.models.I_AD_Window; +import org.adempiere.core.domains.models.I_AD_Workflow; +import org.adempiere.model.MBrowse; +// import org.adempiere.core.domains.models.I_PA_DashboardContent; +import org.compiere.model.MClientInfo; +// import org.compiere.model.MDashboardContent; +import org.compiere.model.MForm; +import org.compiere.model.MProcess; +import org.compiere.model.MRole; +import org.compiere.model.MTree; +import org.compiere.model.MWindow; +import org.compiere.model.PO; +import org.compiere.model.Query; +import org.compiere.wf.MWorkflow; +import org.spin.eca56.util.support.DictionaryDocument; + +/** + * The document class for Role sender + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Role extends DictionaryDocument { + + public static final String CHANNEL = "role"; + public static final String KEY = "new"; + + @Override + public String getKey() { + return KEY; + } + + private Map convertRole(MRole role) { + Map detail = new HashMap<>(); + detail.put("internal_id", role.getAD_Role_ID()); + detail.put("id", role.getUUID()); + detail.put("uuid", role.getUUID()); + detail.put("name", role.getName()); + detail.put("description", role.getDescription()); + MClientInfo clientInfo = MClientInfo.get(role.getCtx()); + int treeId = role.getAD_Tree_Menu_ID(); + if(treeId == 0) { + treeId = clientInfo.getAD_Tree_Menu_ID(); + } + MTree tree = MTree.get(role.getCtx(), treeId, null); + detail.put("tree_id", treeId); + detail.put("tree_uuid", tree.getUUID()); + detail.put("window_access", getWindowAccess(role)); + detail.put("process_access", getProcessAccess(role)); + detail.put("form_access", getFormAccess(role)); + detail.put("browser_access", getBrowserAccess(role)); + detail.put("workflow_access", getWorkflowAccess(role)); + detail.put("dashboard_access", getDashboardAccess(role)); + return detail; + } + + private List getWindowAccess(MRole role) { + return new Query( + role.getCtx(), + I_AD_Window.Table_Name, + "EXISTS(SELECT 1 FROM AD_Window_Access AS wa WHERE wa.IsActive = 'Y' AND wa.AD_Window_ID = AD_Window.AD_Window_ID AND wa.AD_Role_ID = ?)", + null + ) + .setParameters(role.getAD_Role_ID()) + .setOnlyActiveRecords(true) + .getIDsAsList() + .stream() + .map(windowId -> { + MWindow window = MWindow.get(role.getCtx(), windowId); + return window.getUUID(); + }) + .collect(Collectors.toList()) + ; + } + + private List getProcessAccess(MRole role) { + return new Query( + role.getCtx(), + I_AD_Process.Table_Name, + "EXISTS(SELECT 1 FROM AD_Process_Access AS pa WHERE pa.IsActive = 'Y' AND pa.AD_Process_ID = AD_Process.AD_Process_ID AND pa.AD_Role_ID = ?)", + null + ) + .setParameters(role.getAD_Role_ID()) + .setOnlyActiveRecords(true) + .getIDsAsList() + .stream() + .map(processId -> { + MProcess process = MProcess.get(role.getCtx(), processId); + return process.getUUID(); + }) + .collect(Collectors.toList()) + ; + } + + private List getFormAccess(MRole role) { + return new Query( + role.getCtx(), + I_AD_Form.Table_Name, + "EXISTS(SELECT 1 FROM AD_Form_Access AS fa WHERE fa.IsActive = 'Y' AND fa.AD_Form_ID = AD_Form.AD_Form_ID AND fa.AD_Role_ID = ?)", + null + ) + .setParameters(role.getAD_Role_ID()) + .setOnlyActiveRecords(true) + .getIDsAsList() + .stream() + .map(formId -> { + MForm form = new MForm(role.getCtx(), formId, null); + return form.getUUID(); + }) + .collect(Collectors.toList()) + ; + } + + private List getBrowserAccess(MRole role) { + return new Query( + role.getCtx(), + I_AD_Browse.Table_Name, + "EXISTS(SELECT 1 FROM AD_Browse_Access AS ba WHERE ba.IsActive = 'Y' AND ba.AD_Browse_ID = AD_Browse.AD_Browse_ID AND ba.AD_Role_ID = ?)", + null + ) + .setParameters(role.getAD_Role_ID()) + .setOnlyActiveRecords(true) + .getIDsAsList() + .stream() + .map(browserId -> { + MBrowse browse = MBrowse.get(role.getCtx(), browserId); + return browse.getUUID(); + }) + .collect(Collectors.toList()) + ; + } + + private List getWorkflowAccess(MRole role) { + return new Query( + role.getCtx(), + I_AD_Workflow.Table_Name, + "EXISTS(SELECT 1 FROM AD_Workflow_Access AS wa WHERE wa.IsActive = 'Y' AND wa.AD_Workflow_ID = AD_Workflow.AD_Workflow_ID AND wa.AD_Role_ID = ?)", + null + ) + .setParameters(role.getAD_Role_ID()) + .setOnlyActiveRecords(true) + .getIDsAsList() + .stream() + .map(workflowId -> { + MWorkflow workflow = MWorkflow.get(role.getCtx(), workflowId); + return workflow.getUUID(); + }) + .collect(Collectors.toList()) + ; + } + + private List getDashboardAccess(MRole role) { + // return new Query( + // role.getCtx(), + // I_PA_DashboardContent.Table_Name, + // "EXISTS(SELECT 1 FROM AD_Dashboard_Access AS da WHERE da.IsActive = 'Y' AND da.PA_DashboardContent_ID = PA_DashboardContent.PA_DashboardContent_ID AND da.AD_Role_ID = ?)", + // null + // ) + // .setParameters(role.getAD_Role_ID()) + // .setOnlyActiveRecords(true) + // .getIDsAsList() + // .stream() + // .map(dashboardId -> { + // MDashboardContent dashboard = new MDashboardContent(role.getCtx(), dashboardId, null); + // return dashboard.getUUID(); + // }) + // .collect(Collectors.toList()) + // ; + return new ArrayList<>(); + } + + @Override + public DictionaryDocument withEntity(PO entity) { + MRole role = (MRole) entity; + Map documentDetail = convertRole(role); + putDocument(documentDetail); + return this; + } + + private Role() { + super(); + } + + /** + * Default instance + * @return + */ + public static Role newInstance() { + return new Role(); + } + + @Override + public String getLanguage() { + return null; + } + + @Override + public String getChannel() { + return CHANNEL; + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/documents/TreeNodeReference.java b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/TreeNodeReference.java new file mode 100644 index 0000000000..93a872371a --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/TreeNodeReference.java @@ -0,0 +1,58 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2024 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Edwin Betancourt, EdwinBetanc0urt@outlook.com * + *****************************************************************************/ +package org.spin.eca56.util.support.documents; + +/** + * A stub class for nodes + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class TreeNodeReference { + private int nodeId; + private int parentId; + private int sequence; + + public static TreeNodeReference newInstance() { + return new TreeNodeReference(); + } + + public int getNodeId() { + return nodeId; + } + public TreeNodeReference withNodeId(int nodeId) { + this.nodeId = nodeId; + return this; + + } + + public int getParentId() { + return parentId; + } + public TreeNodeReference withParentId(int parentId) { + this.parentId = parentId; + return this; + } + + public int getSequence() { + return sequence; + } + public TreeNodeReference withSequence(int sequence) { + this.sequence = sequence; + return this; + } + +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Window.java b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Window.java new file mode 100644 index 0000000000..a017b82bf5 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/documents/Window.java @@ -0,0 +1,518 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2023 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.util.support.documents; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Collectors; + +import org.adempiere.core.domains.models.I_AD_Element; +import org.adempiere.core.domains.models.I_AD_Field; +import org.adempiere.core.domains.models.I_AD_Process; +import org.adempiere.core.domains.models.I_AD_Tab; +import org.adempiere.core.domains.models.I_AD_Window; +import org.adempiere.model.MBrowse; +import org.compiere.model.MColumn; +import org.compiere.model.MField; +import org.compiere.model.MForm; +import org.compiere.model.MProcess; +import org.compiere.model.MTab; +import org.compiere.model.MTable; +import org.compiere.model.MWindow; +import org.compiere.model.PO; +import org.compiere.model.Query; +import org.compiere.wf.MWorkflow; +import org.spin.eca56.util.support.DictionaryDocument; + +/** + * the document class for Window senders + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Window extends DictionaryDocument { + + // Some default documents key + public static final String KEY = "new"; + public static final String CHANNEL = "window"; + + @Override + public String getKey() { + return KEY; + } + + @Override + public DictionaryDocument withEntity(PO entity) { + MWindow window = (MWindow) entity; + Map documentDetail = new HashMap<>(); + documentDetail.put("internal_id", window.getAD_Window_ID()); + documentDetail.put("id", window.getUUID()); + documentDetail.put("uuid", window.getUUID()); + documentDetail.put("name", window.get_Translation(I_AD_Window.COLUMNNAME_Name, getLanguage())); + documentDetail.put("description", window.get_Translation(I_AD_Window.COLUMNNAME_Description, getLanguage())); + documentDetail.put("help", window.get_Translation(I_AD_Window.COLUMNNAME_Help, getLanguage())); + documentDetail.put("window_type", window.getWindowType()); + documentDetail.put("is_sales_transaction", window.isSOTrx()); + documentDetail.put("is_active", window.isActive()); + documentDetail.put("is_beta_functionality", window.isBetaFunctionality()); + + // Tabs + documentDetail.put("tabs", convertTabs(Arrays.asList(window.getTabs(false, null)))); + putDocument(documentDetail); + return this; + } + + private Map parseDictionaryEntity(PO entity) { + Map documentEntity = new HashMap<>(); + documentEntity.put("internal_id", entity.get_ID()); + documentEntity.put("id", entity.get_UUID()); + documentEntity.put("uuid", entity.get_UUID()); + documentEntity.put("name", entity.get_Translation(I_AD_Element.COLUMNNAME_Name, getLanguage())); + documentEntity.put("description", entity.get_Translation(I_AD_Element.COLUMNNAME_Description, getLanguage())); + documentEntity.put("help", entity.get_Translation(I_AD_Element.COLUMNNAME_Help, getLanguage())); + return documentEntity; + } + + private List> convertTabs(List tabs) { + List> tabsDetail = new ArrayList<>(); + if(tabs == null || tabs.isEmpty()) { + return tabsDetail; + } + tabs.forEach(tab -> { + if (!tab.isActive()) { + return; + } + tabsDetail.add(parseTab(tab)); + }); + return tabsDetail; + } + + private Map parseTab(MTab tab) { + Map detail = new HashMap<>(); + detail.put("internal_id", tab.getAD_Tab_ID()); + detail.put("id", tab.getUUID()); + detail.put("uuid", tab.getUUID()); + detail.put("name", tab.get_Translation(I_AD_Tab.COLUMNNAME_Name, getLanguage())); + detail.put("description", tab.get_Translation(I_AD_Tab.COLUMNNAME_Description, getLanguage())); + detail.put("help", tab.get_Translation(I_AD_Tab.COLUMNNAME_Help, getLanguage())); + detail.put("is_active", tab.isActive()); + + // Record attributes + detail.put("is_insert_record", tab.isInsertRecord()); + detail.put("commit_warning", tab.get_Translation(I_AD_Tab.COLUMNNAME_CommitWarning, getLanguage())); + // Attributes + detail.put("display_logic", tab.getDisplayLogic()); + detail.put("sequence", tab.getSeqNo()); + detail.put("tab_level", tab.getTabLevel()); + detail.put("is_read_only", tab.isReadOnly()); + detail.put("read_only_logic", tab.getReadOnlyLogic()); + detail.put("is_single_row", tab.isSingleRow()); + detail.put("is_advanced_tab", tab.isAdvancedTab()); + detail.put("is_has_tree", tab.isHasTree()); + detail.put("is_info_tab", tab.isInfoTab()); + detail.put("is_translation_tab", tab.isTranslationTab()); + + // Table attributes + MTable table = MTable.get(tab.getCtx(), tab.getAD_Table_ID()); + detail.put("table_name", table.getTableName()); + + Map tableDetil = new HashMap<>(); + tableDetil.put("internal_id", table.getAD_Table_ID()); + tableDetil.put("id", table.getUUID()); + tableDetil.put("uuid", table.getUUID()); + tableDetil.put("table_name", table.getTableName()); + tableDetil.put("access_level", table.getAccessLevel()); + List keyColumnsList = Arrays.asList( + table.getKeyColumns() + ); + tableDetil.put("key_columns", keyColumnsList); + tableDetil.put("is_view", table.isView()); + tableDetil.put("is_document", table.isDocument()); + tableDetil.put("is_deleteable", table.isDeleteable()); + tableDetil.put("is_change_log", table.isChangeLog()); + List identifierColumns = table.getColumnsAsList(false).stream() + .filter(column -> { + return column.isIdentifier(); + }) + .sorted(Comparator.comparing(MColumn::getSeqNo)) + .map(column -> { + return column.getColumnName(); + }) + .collect(Collectors.toList()) + ; + tableDetil.put("identifier_columns", identifierColumns); + List selectionColums = table.getColumnsAsList(false).stream() + .filter(column -> { + return column.isSelectionColumn(); + }) + .map(column -> { + return column.getColumnName(); + }) + .collect(Collectors.toList()) + ; + tableDetil.put("selection_colums", selectionColums); + detail.put("table", tableDetil); + + // Link attributes + List contextColumnsList = new ArrayList(); + contextColumnsList.addAll( + ReferenceUtil.getContextColumnNames( + Optional.ofNullable(tab.getWhereClause()).orElse("") + + Optional.ofNullable(tab.getOrderByClause()).orElse("") + ) + ); + + // Parent Link Column Name + if(tab.getParent_Column_ID() > 0) { + MColumn column = MColumn.get(tab.getCtx(), tab.getParent_Column_ID()); + detail.put("parent_column_name", column.getColumnName()); + if (!contextColumnsList.contains(column.getColumnName())) { + contextColumnsList.add( + column.getColumnName() + ); + } + } + + // Link Column Name + if(tab.getAD_Column_ID() > 0) { + MColumn column = MColumn.get(tab.getCtx(), tab.getAD_Column_ID()); + detail.put("link_column_name", column.getColumnName()); + if (!contextColumnsList.contains(column.getColumnName())) { + contextColumnsList.add( + column.getColumnName() + ); + } + } + + // Add parent columns + if (tab.getTabLevel() > 0) { + for (MColumn column: table.getColumns(false)) { + if (column.isParent() && !contextColumnsList.contains(column.getColumnName())) { + contextColumnsList.add( + column.getColumnName() + ); + } + } + } + + detail.put("context_column_names", contextColumnsList); + + // Sort attributes + detail.put("is_sort_tab", tab.isSortTab()); + if (tab.isSortTab()) { + // Sort Column + if(tab.getAD_ColumnSortOrder_ID() > 0) { + MColumn column = MColumn.get(tab.getCtx(), tab.getAD_ColumnSortOrder_ID()); + detail.put("sort_order_column_name", column.getColumnName()); + } + // Sort Yes / No + if(tab.getAD_ColumnSortYesNo_ID() > 0) { + MColumn column = MColumn.get(tab.getCtx(), tab.getAD_ColumnSortYesNo_ID()); + detail.put("sort_yes_no_column_name", column.getColumnName()); + } + + // Parent Column from parent tab + MTab parentTab = new Query( + tab.getCtx(), + I_AD_Tab.Table_Name, + "AD_Window_ID = ? AND AD_Table_ID = ? AND IsSortTab = ?", + null + ) + .setParameters(tab.getAD_Window_ID(), table.getAD_Table_ID(), false) + .first() + ; + if (parentTab != null && parentTab.getAD_Tab_ID() > 0) { + // is same table and columns + List columnsList = table.getColumnsAsList(); + MColumn parentColumn = columnsList.parallelStream() + .filter(column -> { + return column.isParent(); + }) + .findFirst() + .orElse(null) + ; + if (parentColumn != null && parentColumn.getAD_Column_ID() > 0) { + detail.put("filter_column_name", parentColumn.getColumnName()); + } + } + } + + // External info + detail.put("window_id", tab.getAD_Window_ID()); + detail.put("process_id", tab.getAD_Process_ID()); + if(tab.getAD_Process_ID() > 0) { + MProcess process = MProcess.get(tab.getCtx(), tab.getAD_Process_ID()); + detail.put("process_uuid", process.getUUID()); + if (process.isActive()) { + Map referenceDetail = parseProcess(process); + detail.put("process", referenceDetail); + } + } + List processesList = getProcessFromTab(tab); + detail.put("processes", convertProcesses( + processesList + ) + ); + detail.put("processes_uuid", + processesList.stream() + .map(process -> { + return process.getUUID(); + }) + .collect(Collectors.toList()) + ); + + // Fields + List fields = new Query( + tab.getCtx(), + I_AD_Field.Table_Name, + I_AD_Field.COLUMNNAME_AD_Tab_ID + "=?", + null + ) + .setParameters(tab.getAD_Tab_ID()) + .setOnlyActiveRecords(true) + .setOrderBy(I_AD_Field.COLUMNNAME_SeqNo) + .list() + ; + detail.put("fields", convertFields(fields)); + // detail.put("row_fields", convertFields(fields.stream().filter(field -> field.isDisplayed()).collect(Collectors.toList()))); + // detail.put("grid_fields", convertFields(fields.stream().filter(field -> field.isDisplayedGrid()).collect(Collectors.toList()))); + // Processes + return detail; + } + + private List getProcessFromTab(MTab tab) { + final String whereClause = "IsActive = 'Y' AND (" + // first process on tab + + "AD_Process_ID = ? " // #1 + // process on column + + "OR EXISTS(" + + "SELECT 1 FROM AD_Field f " + + "INNER JOIN AD_Column c ON(c.AD_Column_ID = f.AD_Column_ID) " + + "WHERE c.AD_Process_ID = AD_Process.AD_Process_ID " + + "AND f.IsDisplayed = 'Y' " + + "AND f.AD_Tab_ID = ? " // #2 + + "AND f.IsActive = 'Y'" + + ") " + // process on table + + "OR EXISTS(" + + "SELECT 1 FROM AD_Table_Process AS tp " + + "WHERE tp.AD_Process_ID = AD_Process.AD_Process_ID " + + "AND tp.AD_Table_ID = ? " // #3 + + "AND tp.IsActive = 'Y'" + + ")" + + ")" + ; + + List filterList = new ArrayList<>(); + filterList.add(tab.getAD_Process_ID()); + filterList.add(tab.getAD_Tab_ID()); + filterList.add(tab.getAD_Table_ID()); + + return new Query( + tab.getCtx(), + I_AD_Process.Table_Name, + whereClause, + null + ) + .setParameters(filterList) + .list(); + } + + private List> convertFields(List fields) { + List> fieldsDetail = new ArrayList<>(); + if(fields == null) { + return fieldsDetail; + } + fields.forEach(field -> { + fieldsDetail.add(parseField(field)); + }); + return fieldsDetail; + } + + private List> convertProcesses(List processesList) { + List> processesDetail = new ArrayList<>(); + if(processesList == null || processesList.isEmpty()) { + return processesDetail; + } + processesList.parallelStream().forEach(process -> { + processesDetail.add( + parseProcess(process) + ); + }); + return processesDetail; + } + + private Map parseProcess(MProcess process) { + Map detail = new HashMap<>(); + detail.put("internal_id", process.getAD_Process_ID()); + detail.put("id", process.getUUID()); + detail.put("uuid", process.getUUID()); + detail.put("name", process.get_Translation(I_AD_Process.COLUMNNAME_Name, getLanguage())); + detail.put("description", process.get_Translation(I_AD_Process.COLUMNNAME_Description, getLanguage())); + detail.put("help", process.get_Translation(I_AD_Process.COLUMNNAME_Help, getLanguage())); + detail.put("is_report", process.isReport()); + + boolean isMultiSelection = false; + if (process.get_ColumnIndex("SP003_IsMultiSelection") >= 0) { + isMultiSelection = process.get_ValueAsBoolean("SP003_IsMultiSelection"); + } + detail.put("is_multi_selection", isMultiSelection); + + // Linked + detail.put("browser_id", process.getAD_Browse_ID()); + detail.put("form_id", process.getAD_Form_ID()); + detail.put("workflow_id", process.getAD_Workflow_ID()); + if (process.getAD_Browse_ID() > 0) { + MBrowse browse = MBrowse.get(process.getCtx(), process.getAD_Browse_ID()); + detail.put("browser", parseDictionaryEntity(browse)); + } else if (process.getAD_Form_ID() > 0) { + MForm form = new MForm(process.getCtx(), process.getAD_Form_ID(), null); + detail.put("form", parseDictionaryEntity(form)); + } else if (process.getAD_Workflow_ID() > 0) { + MWorkflow workflow = MWorkflow.get(process.getCtx(), process.getAD_Workflow_ID()); + detail.put("workflow", parseDictionaryEntity(workflow)); + } + return detail; + } + + private Map parseField(MField field) { + Map detail = new HashMap<>(); + detail.put("internal_id", field.getAD_Field_ID()); + detail.put("id", field.getUUID()); + detail.put("uuid", field.getUUID()); + detail.put("name", field.get_Translation(I_AD_Field.COLUMNNAME_Name, getLanguage())); + detail.put("description", field.get_Translation(I_AD_Field.COLUMNNAME_Description, getLanguage())); + detail.put("help", field.get_Translation(I_AD_Field.COLUMNNAME_Help, getLanguage())); + detail.put("is_active", field.isActive()); + + // + detail.put("is_allow_copy", field.isAllowCopy()); + detail.put("is_heading", field.isHeading()); + detail.put("is_field_only", field.isFieldOnly()); + detail.put("is_quick_entry", field.isQuickEntry()); + + // Column Properties + MColumn column = MColumn.get(field.getCtx(), field.getAD_Column_ID()); + detail.put("column_name", column.getColumnName()); + detail.put("column_sql", column.getColumnSQL()); + detail.put("is_key", column.isKey()); + detail.put("is_parent", column.isParent()); + detail.put("is_translated", column.isTranslated()); + detail.put("is_identifier", column.isIdentifier()); + detail.put("identifier_sequence", column.getSeqNo()); + detail.put("is_selection_column", column.isSelectionColumn()); + detail.put("callout", column.getCallout()); + + int displayTypeId = field.getAD_Reference_ID(); + if(displayTypeId <= 0) { + displayTypeId = column.getAD_Reference_ID(); + } + detail.put("display_type", displayTypeId); + + // Value Properties + detail.put("default_value", Optional.ofNullable(field.getDefaultValue()).orElse(column.getDefaultValue())); + detail.put("field_length", column.getFieldLength()); + detail.put("v_format", column.getVFormat()); + detail.put("format_pattern", column.getFormatPattern()); + detail.put("value_min", column.getValueMin()); + detail.put("value_max", column.getValueMax()); + detail.put("is_encrypted", field.isEncrypted()); + + // Display Properties + detail.put("is_displayed", field.isDisplayed()); + detail.put("display_logic", field.getDisplayLogic()); + detail.put("sequence", field.getSeqNo()); + detail.put("is_displayed_grid", field.isDisplayedGrid()); + detail.put("grid_sequence", field.getSeqNoGrid()); + // Custom display + detail.put("is_displayed_as_panel", field.isActive() && field.isDisplayed() ? "Y" : "N"); + detail.put("is_displayed_as_table", field.isActive() && field.isDisplayedGrid() ? 'Y' : 'N'); + + // Editable Properties + detail.put("is_read_only", field.isReadOnly()); + detail.put("read_only_logic", column.getReadOnlyLogic()); + detail.put("is_updateable", column.isUpdateable()); + detail.put("is_always_updateable", column.isAlwaysUpdateable()); + + // Mandatory Properties + boolean isMandatory = (field.getIsMandatory() != null && field.getIsMandatory().equals("Y") ? true: column.isMandatory()); + detail.put("is_mandatory", isMandatory); + detail.put("mandatory_logic", column.getMandatoryLogic()); + + // External Info + int referenceValueId = field.getAD_Reference_Value_ID(); + if(referenceValueId <= 0) { + referenceValueId = column.getAD_Reference_Value_ID(); + } + int validationRuleId = field.getAD_Val_Rule_ID(); + if(validationRuleId <= 0) { + validationRuleId = column.getAD_Val_Rule_ID(); + } + + ReferenceValues referenceValues = ReferenceUtil.getReferenceDefinition( + column.getColumnName(), + displayTypeId, + referenceValueId, + validationRuleId + ); + if(referenceValues != null) { + Map referenceDetail = new HashMap<>(); + referenceDetail.put("table_name", referenceValues.getTableName()); + referenceDetail.put("reference_id", referenceValues.getReferenceId()); + referenceDetail.put("reference_value_id", referenceValueId); + referenceDetail.put("context_column_names", ReferenceUtil.getContextColumnNames( + referenceValues.getEmbeddedContextColumn() + ) + ); + detail.put("reference", referenceDetail); + } + detail.put("context_column_names", ReferenceUtil.getContextColumnNames( + Optional.ofNullable(field.getDefaultValue()).orElse(column.getDefaultValue()) + ) + ); + List> dependentFieldsList = DependenceUtil.generateDependentWindowFields(field); + detail.put("dependent_fields", dependentFieldsList); + detail.put("process_id", column.getAD_Process_ID()); + if (column.getAD_Process_ID() > 0) { + detail.put("process", parseProcess( + MProcess.get(field.getCtx(), column.getAD_Process_ID()) + )); + } + return detail; + } + + private Window() { + super(); + } + + /** + * Default instance + * @return + */ + public static Window newInstance() { + return new Window(); + } + + @Override + public String getChannel() { + return CHANNEL; + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/kafka/Sender.java b/kafka/src/main/java/base/org/spin/eca56/util/support/kafka/Sender.java new file mode 100644 index 0000000000..14d04636fc --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/kafka/Sender.java @@ -0,0 +1,98 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.eca56.util.support.kafka; + +import java.util.Map; + +import org.adempiere.exceptions.AdempiereException; +import org.apache.kafka.clients.producer.KafkaProducer; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.compiere.util.CLogger; +import org.compiere.util.Env; +import org.compiere.util.Util; +import org.spin.eca56.util.support.IGenericSender; +import org.spin.eca56.util.KafkaLoader; +import org.spin.eca56.util.support.IGenericDocument; +import org.spin.model.MADAppRegistration; + +/** + * A implementation for kafka queue + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Sender implements IGenericSender { + /** Static Logger */ + private CLogger log = CLogger.getCLogger (Sender.class); + /** Host */ + private String host = null; + /** Port */ + private int port; + /** ADempier Token */ + private String defaultQueueName = null; + /** Registration Id */ + private int registrationId = 0; + + /** + * Validate connection + */ + private void validate() { + if(getAppRegistrationId() <= 0) { + throw new AdempiereException("@AD_AppRegistration_ID@ @NotFound@"); + } + MADAppRegistration registration = MADAppRegistration.getById(Env.getCtx(), getAppRegistrationId(), null); + defaultQueueName = registration.getValue().replaceAll("[^a-zA-Z0-9 -]", "").toLowerCase().trim(); + port = registration.getPort(); + host = registration.getHost(); + } + + @Override + public String testConnection() { + // set time + IGenericDocument defaultTestDocument = TestDocument.newInstance(); + send(defaultTestDocument, defaultQueueName); + return defaultTestDocument.getValues().toString(); + } + + @Override + public void setAppRegistrationId(int registrationId) { + this.registrationId = registrationId; + validate(); + } + + @Override + public int getAppRegistrationId() { + return registrationId; + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Override + public void send(IGenericDocument document, String channel) { + String topicName = channel; + if(Util.isEmpty(topicName)) { + topicName = defaultQueueName; + } + if(Util.isEmpty(document.getKey())) { + throw new AdempiereException("@Key@ @NotFound@"); + } + log.fine("Command to Send: " + document); + try { + KafkaProducer producer = KafkaLoader.getInstance().getProducer(host + ":" + port, topicName); + final ProducerRecord record = new ProducerRecord>(topicName, document.getKey(), document.getValues()); + producer.send(record); + } catch (Exception e) { + throw new AdempiereException(e); + } + } +} diff --git a/kafka/src/main/java/base/org/spin/eca56/util/support/kafka/TestDocument.java b/kafka/src/main/java/base/org/spin/eca56/util/support/kafka/TestDocument.java new file mode 100644 index 0000000000..e2d6028109 --- /dev/null +++ b/kafka/src/main/java/base/org/spin/eca56/util/support/kafka/TestDocument.java @@ -0,0 +1,62 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2023 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca56.util.support.kafka; + +import java.util.HashMap; +import java.util.Map; + +import org.spin.eca56.util.support.IGenericDocument; + +/** + * Default test document used for test connection + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class TestDocument implements IGenericDocument { + + // Some default documents key + public static final String KEY = "test"; + + @Override + public String getKey() { + return KEY; + } + + @Override + public Map getValues() { + Map document = new HashMap<>(); + Map documentDetail = new HashMap<>(); + documentDetail.put("id", 1000000); + documentDetail.put("code", "code-001"); + documentDetail.put("name", "A test for queue"); + document.put("test", documentDetail); + return document; + } + + /** + * Default instance + * @return + */ + public static TestDocument newInstance() { + return new TestDocument(); + } + + @Override + public String getChannel() { + return "Test"; + } +} diff --git a/pos/build.gradle b/pos/build.gradle new file mode 100644 index 0000000000..454573339b --- /dev/null +++ b/pos/build.gradle @@ -0,0 +1,80 @@ +plugins { + id 'java-library' + id 'maven-publish' + id 'signing' +} + +java { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_17 +} + +repositories { + mavenLocal() + mavenCentral() +} + +dependencies { + // Local + api project(path: ':base') + api project(path: ':project') +} + +sourceSets { + main { + java { + srcDirs = ['src/main/java/base'] + } + } +} + +def entityType = 'ECA14' + +jar { + manifest { + attributes( + "Implementation-Title": "POS", + "Implementation-Version": publishVersion, + "EntityType": entityType + ) + } +} + +publishing { + repositories { + mavenLocal() + maven { + url = publishLibraryRepo + credentials { + username = publishUsername + password = publishPassword + } + } + } + publications { + mavenJava(MavenPublication) { + groupId publishGroupId + artifactId 'pos' + version publishVersion + from components.java + pom { + name = 'POS' + description = 'A project to improve all definition of POS for ADempiere' + url = 'http://adempiere.io/' + licenses { + license { + name = 'GNU General Public License, version 2' + url = 'https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt' + } + } + developers { + developer { + id = 'yamelsenih' + name = 'Yamel Senih' + email = 'ysenih@erpya.com' + } + } + } + } + } +} \ No newline at end of file diff --git a/pos/src/main/java/base/org/spin/pos/model/validator/ChangeTax.java b/pos/src/main/java/base/org/spin/pos/model/validator/ChangeTax.java new file mode 100644 index 0000000000..71e77f067c --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/model/validator/ChangeTax.java @@ -0,0 +1,121 @@ +/************************************************************************************ + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.pos.model.validator; + +import java.util.Arrays; + +import org.adempiere.core.domains.models.I_C_Order; +import org.adempiere.core.domains.models.I_C_OrderLine; +import org.compiere.model.MClient; +import org.compiere.model.MDocType; +import org.compiere.model.MOrder; +import org.compiere.model.MOrderLine; +import org.compiere.model.ModelValidationEngine; +import org.compiere.model.ModelValidator; +import org.compiere.model.PO; +import org.compiere.util.CLogger; +import org.spin.pos.util.PointOfSalesImprovementsChanges; + +/** + * Change tax for Sales Order + * @author Yamel Senih ysenih@erpya.com + * + */ +public class ChangeTax implements ModelValidator { + + /** Logger */ + private static CLogger log = CLogger.getCLogger(ChangeTax.class); + /** Client */ + private int clientId = -1; + + @Override + public void initialize(ModelValidationEngine engine, MClient client) { + // client = null for global validator + if (client != null) { + clientId = client.getAD_Client_ID(); + log.info(client.toString()); + } else { + log.info("Initializing global validator: " + this.toString()); + } + // Add Persistence for IsDefault values + engine.addModelChange(I_C_Order.Table_Name, this); + engine.addModelChange(I_C_OrderLine.Table_Name, this); + } + + @Override + public int getAD_Client_ID() { + return clientId; + } + + @Override + public String login(int AD_Org_ID, int AD_Role_ID, int AD_User_ID) { + log.info("AD_User_ID=" + AD_User_ID); + return null; + } + + @Override + public String modelChange(PO entity, int type) throws Exception { + if(type == TYPE_BEFORE_NEW + || type == TYPE_BEFORE_CHANGE) { + if(entity.get_TableName().equals(I_C_OrderLine.Table_Name)) { + // For Sales Orders + if(entity.is_new() + || entity.is_ValueChanged(I_C_OrderLine.COLUMNNAME_M_Product_ID) + || entity.is_ValueChanged(I_C_OrderLine.COLUMNNAME_C_Charge_ID) + || entity.is_ValueChanged(I_C_OrderLine.COLUMNNAME_QtyEntered) + || entity.is_ValueChanged(I_C_OrderLine.COLUMNNAME_PriceEntered) + || entity.is_ValueChanged(I_C_OrderLine.COLUMNNAME_Discount) + || entity.is_ValueChanged(I_C_OrderLine.COLUMNNAME_C_BPartner_ID) + || entity.is_ValueChanged(I_C_OrderLine.COLUMNNAME_C_UOM_ID) + || entity.is_ValueChanged(I_C_OrderLine.COLUMNNAME_C_Tax_ID)) { + MOrderLine orderLine = (MOrderLine) entity; + MOrder salesOrder = orderLine.getParent(); + if(salesOrder.isSOTrx() + && !salesOrder.isReturnOrder()) { + MDocType documentType = MDocType.get(entity.getCtx(), salesOrder.getC_DocTypeTarget_ID()); + boolean isTaxExempt = documentType.get_ValueAsBoolean(PointOfSalesImprovementsChanges.COLUMNNAME_IsTaxExempt); + if(isTaxExempt) { + PointOfSalesImprovementsChanges.changeTax(orderLine, isTaxExempt); + } + } + } + } else if(entity.get_TableName().equals(I_C_Order.Table_Name)) { + if(entity.is_new() + || entity.is_ValueChanged(I_C_Order.COLUMNNAME_C_DocTypeTarget_ID) + || entity.is_ValueChanged(I_C_Order.COLUMNNAME_C_BPartner_ID) + || entity.is_ValueChanged(I_C_Order.COLUMNNAME_M_PriceList_ID) + || entity.is_ValueChanged(I_C_Order.COLUMNNAME_M_Warehouse_ID)) { + MOrder order = (MOrder) entity; + MDocType documentType = MDocType.get(entity.getCtx(), order.getC_DocTypeTarget_ID()); + boolean isTaxExempt = documentType.get_ValueAsBoolean(PointOfSalesImprovementsChanges.COLUMNNAME_IsTaxExempt); + if(order.isSOTrx() + && !order.isReturnOrder()) { + Arrays.asList(order.getLines()) + .forEach(orderLine -> { + PointOfSalesImprovementsChanges.changeTax(orderLine, isTaxExempt); + orderLine.saveEx(); + }); + } + } + } + } + return null; + } + + @Override + public String docValidate(PO entity, int timing) { + return null; + } +} diff --git a/pos/src/main/java/base/org/spin/pos/model/validator/PaymentAppoval.java b/pos/src/main/java/base/org/spin/pos/model/validator/PaymentAppoval.java new file mode 100644 index 0000000000..1b8aed1c6c --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/model/validator/PaymentAppoval.java @@ -0,0 +1,92 @@ +/************************************************************************************ + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.pos.model.validator; + +import org.adempiere.core.domains.models.I_C_Order; +import org.adempiere.core.domains.models.I_C_Payment; +import org.compiere.model.MClient; +import org.compiere.model.MOrder; +import org.compiere.model.MPayment; +import org.compiere.model.ModelValidationEngine; +import org.compiere.model.ModelValidator; +import org.compiere.model.PO; +import org.compiere.util.CLogger; +import org.spin.pos.util.PaymentApprovalUtil; + +/** + * Useful method for Cash Management + * @author Yamel Senih ysenih@erpya.com + * + */ +public class PaymentAppoval implements ModelValidator { + + /** Logger */ + private static CLogger log = CLogger.getCLogger(PaymentAppoval.class); + /** Client */ + private int clientId = -1; + + @Override + public void initialize(ModelValidationEngine engine, MClient client) { + // client = null for global validator + if (client != null) { + clientId = client.getAD_Client_ID(); + log.info(client.toString()); + } else { + log.info("Initializing global validator: " + this.toString()); + } + // Add Persistence for IsDefault values + engine.addModelChange(I_C_Payment.Table_Name, this); + engine.addDocValidate(I_C_Payment.Table_Name, this); + engine.addDocValidate(I_C_Order.Table_Name, this); + } + + @Override + public int getAD_Client_ID() { + return clientId; + } + + @Override + public String login(int AD_Org_ID, int AD_Role_ID, int AD_User_ID) { + log.info("AD_User_ID=" + AD_User_ID); + return null; + } + + @Override + public String modelChange(PO entity, int type) throws Exception { + if(entity.get_TableName().equals(I_C_Payment.Table_Name)) { + MPayment payment = (MPayment) entity; + if(type == TYPE_BEFORE_NEW) { + PaymentApprovalUtil.setDefaultVerificationFromPointOfSales(payment); + } else if(type == TYPE_AFTER_NEW) { + PaymentApprovalUtil.sendPaymentVerificationNotification(payment); + } + } + return null; + } + + @Override + public String docValidate(PO entity, int timing) { + if(timing == TIMING_BEFORE_COMPLETE) { + if(entity.get_TableName().equals(I_C_Order.Table_Name)) { + MOrder order = (MOrder) entity; + PaymentApprovalUtil.validateApprovalforPayment(order); + } else if(entity.get_TableName().equals(I_C_Payment.Table_Name)) { + MPayment payment = (MPayment) entity; + PaymentApprovalUtil.validateApprovalForPayment(payment); + } + } + return null; + } +} diff --git a/pos/src/main/java/base/org/spin/pos/model/validator/ValidateShipment.java b/pos/src/main/java/base/org/spin/pos/model/validator/ValidateShipment.java new file mode 100644 index 0000000000..91129cc21b --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/model/validator/ValidateShipment.java @@ -0,0 +1,82 @@ +/************************************************************************************ + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.pos.model.validator; + +import org.adempiere.core.domains.models.I_C_Payment; +import org.adempiere.core.domains.models.I_M_InOut; +import org.compiere.model.MClient; +import org.compiere.model.MInOut; +import org.compiere.model.MPayment; +import org.compiere.model.ModelValidationEngine; +import org.compiere.model.ModelValidator; +import org.compiere.model.PO; +import org.compiere.util.CLogger; +import org.spin.pos.util.PaymentApprovalUtil; +import org.spin.pos.util.ShipmentValidationUtil; + +/** + * Validate Shipment based on POS flag + * @author Yamel Senih ysenih@erpya.com + * + */ +public class ValidateShipment implements ModelValidator { + + /** Logger */ + private static CLogger log = CLogger.getCLogger(ValidateShipment.class); + /** Client */ + private int clientId = -1; + + @Override + public void initialize(ModelValidationEngine engine, MClient client) { + // client = null for global validator + if (client != null) { + clientId = client.getAD_Client_ID(); + log.info(client.toString()); + } else { + log.info("Initializing global validator: " + this.toString()); + } + // Add Persistence for IsDefault values + engine.addDocValidate(I_M_InOut.Table_Name, this); + } + + @Override + public int getAD_Client_ID() { + return clientId; + } + + @Override + public String login(int AD_Org_ID, int AD_Role_ID, int AD_User_ID) { + log.info("AD_User_ID=" + AD_User_ID); + return null; + } + + @Override + public String modelChange(PO entity, int type) throws Exception { + return null; + } + + @Override + public String docValidate(PO entity, int timing) { + if(timing == TIMING_AFTER_COMPLETE) { + if(entity.get_TableName().equals(I_M_InOut.Table_Name)) { + ShipmentValidationUtil.validateShipmentFromPOS((MInOut) entity); + } else if(entity.get_TableName().equals(I_C_Payment.Table_Name)) { + MPayment payment = (MPayment) entity; + PaymentApprovalUtil.validateApprovalForPayment(payment); + } + } + return null; + } +} diff --git a/pos/src/main/java/base/org/spin/pos/process/GenerateRefundFromPOS.java b/pos/src/main/java/base/org/spin/pos/process/GenerateRefundFromPOS.java new file mode 100644 index 0000000000..300ffa9248 --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/process/GenerateRefundFromPOS.java @@ -0,0 +1,156 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.pos.process; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MInvoice; +import org.compiere.model.MOrder; +import org.compiere.model.MPayment; +import org.compiere.model.MTable; +import org.compiere.model.MUser; +import org.compiere.model.PO; +import org.compiere.util.DisplayType; +import org.compiere.util.Env; +import org.compiere.util.Msg; + +/** + * Generate Refund (From Invoice Customer) + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + * @version Release 3.9.3 + */ +public class GenerateRefundFromPOS extends GenerateRefundFromPOSAbstract { + + /** Created */ + private AtomicInteger created = new AtomicInteger(); + private StringBuffer generatedDocuments = new StringBuffer(); + private List payments = new ArrayList(); + + @Override + protected String doIt() throws Exception { + MTable table = MTable.get(getCtx(), "C_POSPaymentReference"); + if(table == null) { + throw new AdempiereException("@C_POSPaymentReference_ID@ @AD_Table_ID@ @NotFound@"); + } + for(int orderRefundId : getSelectionKeys()) { + PO orderBankAccount = table.getPO(orderRefundId, get_TrxName()); + createPayment(orderBankAccount, getSelectionAsBigDecimal(orderRefundId, "OPB_ConvertedAmt")); + } + processingPayments(); + // Default Ok + return "@Created@ " + created + (generatedDocuments.length() > 0? " [" + generatedDocuments + "]": ""); + } + + + /** + * Add Document Info for message to return + * @param documentInfo + */ + private void addToMessage(String documentInfo) { + if(generatedDocuments.length() > 0) { + generatedDocuments.append(", "); + } + // + generatedDocuments.append(documentInfo); + } + + /** + * Process Invoices + */ + private void processingPayments() { + payments.forEach(payment -> { + if(!payment.processIt(MPayment.DOCACTION_Complete)) { + throw new AdempiereException("@Error@ " + payment.getProcessMsg()); + } + // + payment.saveEx(); + created.incrementAndGet(); + addToMessage(payment.getDocumentNo()); + }); + } + + /** + * Create Payment to Open refund + * @param paymentReference + * @param convertedAmount + * @return + * @return MPayment + */ + private MPayment createPayment(PO paymentReference, BigDecimal convertedAmount) { + int orderId = paymentReference.get_ValueAsInt("C_Order_ID"); + MOrder salesOrder = new MOrder(getCtx(), orderId, get_TrxName()); + List invoices = Arrays.asList(salesOrder.getInvoices()); + MInvoice invoice = null; + if(!invoices.isEmpty()) { + invoice = invoices.stream().findFirst().get(); + } + MPayment payment = new MPayment(getCtx(), 0, get_TrxName()); + int currencyId = paymentReference.get_ValueAsInt("C_Currency_ID"); + int conversionTypeId = paymentReference.get_ValueAsInt("C_ConversionType_ID"); + int paymentMethodId = paymentReference.get_ValueAsInt("C_PaymentMethod_ID"); + int posId = paymentReference.get_ValueAsInt("C_POS_ID"); + String description = paymentReference.get_ValueAsString("Description"); + String tenderType = paymentReference.get_ValueAsString("TenderType"); + // + payment.setC_BPartner_ID(salesOrder.getC_BPartner_ID()); + payment.setC_BankAccount_ID(getBankAccountId()); + payment.setC_ConversionType_ID(conversionTypeId); + payment.setC_Currency_ID(currencyId); + payment.setDateTrx(getPayDate()); + payment.setDateAcct(getPayDate()); + if(getDocTypeTargetId() > 0) { + payment.setC_DocType_ID(getDocTypeTargetId()); + } + payment.setIsReceipt(false); + payment.setC_POS_ID(posId); + if(invoice != null) { + payment.setC_Invoice_ID(invoice.getC_Invoice_ID()); + } else { + payment.setC_Order_ID(salesOrder.getC_Order_ID()); + } + // Add data for payment amount + payment.setPayAmt(convertedAmount); + MUser user = MUser.get(getCtx(), getAD_User_ID()); + String userName = ""; + if(user != null) { + userName = user.getName(); + } + // Set description + payment.addDescription(description); + payment.addDescription(Msg.parseTranslation(Env.getCtx(), "@Created@ @from@") + + " - " + userName + + " - " + DisplayType.getDateFormat(DisplayType.Date).format(getPayDate())); + // Tender Type + payment.set_ValueOfColumn("C_PaymentMethod_ID", paymentMethodId); + payment.setTenderType(tenderType); + payment.setDocumentNo(getDocumentNo()); + payment.setCheckNo(getDocumentNo()); + // Save + payment.saveEx(); + paymentReference.set_ValueOfColumn("IsPaid", true); + paymentReference.set_ValueOfColumn("Processed", true); + paymentReference.saveEx(); + payments.add(payment); + return payment; + } +} \ No newline at end of file diff --git a/pos/src/main/java/base/org/spin/pos/process/GenerateRefundFromPOSAbstract.java b/pos/src/main/java/base/org/spin/pos/process/GenerateRefundFromPOSAbstract.java new file mode 100644 index 0000000000..04dd444a0c --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/process/GenerateRefundFromPOSAbstract.java @@ -0,0 +1,113 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.pos.process; + +import java.sql.Timestamp; +import org.compiere.process.SvrProcess; + +/** Generated Process for (Generate Refund from (POS)) + * @author ADempiere (generated) + * @version Release 3.9.3 + */ +public abstract class GenerateRefundFromPOSAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "P_POS_GenerateRefundFromPOS"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Generate Refund from (POS)"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54594; + /** Parameter Name for Payment date */ + public static final String PAYDATE = "PayDate"; + /** Parameter Name for Target Document Type */ + public static final String C_DOCTYPETARGET_ID = "C_DocTypeTarget_ID"; + /** Parameter Name for Bank Account */ + public static final String C_BANKACCOUNT_ID = "C_BankAccount_ID"; + /** Parameter Name for Document No */ + public static final String DOCUMENTNO = "DocumentNo"; + /** Parameter Value for Payment date */ + private Timestamp payDate; + /** Parameter Value for Target Document Type */ + private int docTypeTargetId; + /** Parameter Value for Bank Account */ + private int bankAccountId; + /** Parameter Value for Document No */ + private String documentNo; + + @Override + protected void prepare() { + payDate = getParameterAsTimestamp(PAYDATE); + docTypeTargetId = getParameterAsInt(C_DOCTYPETARGET_ID); + bankAccountId = getParameterAsInt(C_BANKACCOUNT_ID); + documentNo = getParameterAsString(DOCUMENTNO); + } + + /** Getter Parameter Value for Payment date */ + protected Timestamp getPayDate() { + return payDate; + } + + /** Setter Parameter Value for Payment date */ + protected void setPayDate(Timestamp payDate) { + this.payDate = payDate; + } + + /** Getter Parameter Value for Target Document Type */ + protected int getDocTypeTargetId() { + return docTypeTargetId; + } + + /** Setter Parameter Value for Target Document Type */ + protected void setDocTypeTargetId(int docTypeTargetId) { + this.docTypeTargetId = docTypeTargetId; + } + + /** Getter Parameter Value for Bank Account */ + protected int getBankAccountId() { + return bankAccountId; + } + + /** Setter Parameter Value for Bank Account */ + protected void setBankAccountId(int bankAccountId) { + this.bankAccountId = bankAccountId; + } + + /** Getter Parameter Value for Document No */ + protected String getDocumentNo() { + return documentNo; + } + + /** Setter Parameter Value for Document No */ + protected void setDocumentNo(String documentNo) { + this.documentNo = documentNo; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/pos/src/main/java/base/org/spin/pos/process/VerifyPayments.java b/pos/src/main/java/base/org/spin/pos/process/VerifyPayments.java new file mode 100644 index 0000000000..1dc77c3312 --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/process/VerifyPayments.java @@ -0,0 +1,63 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.pos.process; + +import java.util.Optional; +import java.util.concurrent.atomic.AtomicInteger; + +import org.compiere.model.MPayment; +import org.compiere.util.Util; +import org.spin.pos.util.PaymentApprovalUtil; + +/** Generated Process for (Verify Payments to Approve) + * @author ADempiere (generated) + * @version Release 3.9.3 + */ +public class VerifyPayments extends VerifyPaymentsAbstract { + @Override + protected void prepare() { + super.prepare(); + } + + @Override + protected String doIt() throws Exception { + AtomicInteger verifiedcounter = new AtomicInteger(); + if(Optional.ofNullable(getIsPaymentVerified()).orElse("N").equals("Y")) { + getSelectionKeys() + .stream() + .map(paymentId -> new MPayment(getCtx(), paymentId, get_TrxName())) + .forEach(payment -> { + String documentNo = getSelectionAsString(payment.getC_Payment_ID(), "P_DocumentNo"); + String description = getSelectionAsString(payment.getC_Payment_ID(), "P_Description"); + if(!Util.isEmpty(documentNo)) { + payment.setDocumentNo(documentNo); + } + if(!Util.isEmpty(description)) { + payment.setDescription(description); + } + payment.set_ValueOfColumn(PaymentApprovalUtil.COLUMNNAME_IsPaymentVerified, true); + if(!Util.isEmpty(getDescription())) { + payment.addDescription(getDescription()); + } + payment.saveEx(); + verifiedcounter.incrementAndGet(); + }); + } + return "@Updated@: " + verifiedcounter.get(); + } +} \ No newline at end of file diff --git a/pos/src/main/java/base/org/spin/pos/process/VerifyPaymentsAbstract.java b/pos/src/main/java/base/org/spin/pos/process/VerifyPaymentsAbstract.java new file mode 100644 index 0000000000..0b6eda50cd --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/process/VerifyPaymentsAbstract.java @@ -0,0 +1,82 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.pos.process; + +import org.compiere.process.SvrProcess; + +/** Generated Process for (Verify Payments to Approve) + * @author ADempiere (generated) + * @version Release 3.9.3 + */ +public abstract class VerifyPaymentsAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "POSVerifyPayments_Process"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Verify Payments to Approve"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54573; + /** Parameter Name for Payment Verified */ + public static final String ISPAYMENTVERIFIED = "IsPaymentVerified"; + /** Parameter Name for Description */ + public static final String DESCRIPTION = "Description"; + /** Parameter Value for Payment Verified */ + private String isPaymentVerified; + /** Parameter Value for Description */ + private String description; + + @Override + protected void prepare() { + isPaymentVerified = getParameterAsString(ISPAYMENTVERIFIED); + description = getParameterAsString(DESCRIPTION); + } + + /** Getter Parameter Value for Payment Verified */ + protected String getIsPaymentVerified() { + return isPaymentVerified; + } + + /** Setter Parameter Value for Payment Verified */ + protected void setIsPaymentVerified(String isPaymentVerified) { + this.isPaymentVerified = isPaymentVerified; + } + + /** Getter Parameter Value for Description */ + protected String getDescription() { + return description; + } + + /** Setter Parameter Value for Description */ + protected void setDescription(String description) { + this.description = description; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/pos/src/main/java/base/org/spin/pos/setup/AddPaymentApproval.java b/pos/src/main/java/base/org/spin/pos/setup/AddPaymentApproval.java new file mode 100644 index 0000000000..25362c5ecc --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/setup/AddPaymentApproval.java @@ -0,0 +1,74 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.pos.setup; + +import java.util.Properties; + +import org.compiere.model.Query; +import org.adempiere.core.domains.models.X_AD_ModelValidator; +import org.spin.pos.model.validator.PaymentAppoval; +import org.spin.util.ISetupDefinition; + +/** + * Add here your setup class + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class AddPaymentApproval implements ISetupDefinition { + + private static final String DESCRIPTION = "(*Created from Setup Automatically*)"; + private static final String UUID = "(*AutomaticSetup*)"; + private static final String NAME = "PAyment Verification Functionality"; + private static final String ENTITY_TYPE = "ECA14"; + private static final int DEFAULT_SEQUENCE = 200; + + @Override + public String doIt(Properties context, String transactionName) { + // Add Model Validator + createModelValidator(context, transactionName); + // financial management + return "@AD_SetupDefinition_ID@ @Ok@"; + } + + /** + * Create Model Vaidator + * @param context + * @param transactionName + * @return + */ + private X_AD_ModelValidator createModelValidator(Properties context, String transactionName) { + X_AD_ModelValidator modelValidator = new Query(context, X_AD_ModelValidator.Table_Name, X_AD_ModelValidator.COLUMNNAME_ModelValidationClass + " = ?", transactionName) + .setParameters(PaymentAppoval.class.getName()) + .setClient_ID() + .first(); + // Validate + if(modelValidator != null + && modelValidator.getAD_ModelValidator_ID() > 0) { + return modelValidator; + } + // + modelValidator = new X_AD_ModelValidator(context, 0, transactionName); + modelValidator.setName(NAME); + modelValidator.setEntityType(ENTITY_TYPE); + modelValidator.setDescription(DESCRIPTION); + modelValidator.setSeqNo(DEFAULT_SEQUENCE); + modelValidator.setModelValidationClass(PaymentAppoval.class.getName()); + modelValidator.setUUID(UUID); + modelValidator.setIsDirectLoad(true); + modelValidator.saveEx(); + return modelValidator; + } +} diff --git a/pos/src/main/java/base/org/spin/pos/setup/ChangeTaxDeploy.java b/pos/src/main/java/base/org/spin/pos/setup/ChangeTaxDeploy.java new file mode 100644 index 0000000000..5c632236f1 --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/setup/ChangeTaxDeploy.java @@ -0,0 +1,71 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.pos.setup; + +import java.util.Properties; + +import org.compiere.model.Query; +import org.adempiere.core.domains.models.X_AD_ModelValidator; +import org.spin.pos.model.validator.ChangeTax; +import org.spin.util.ISetupDefinition; + +/** + * Testing class for setup + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class ChangeTaxDeploy implements ISetupDefinition { + + private static final String SETUP_DESCRIPTION = "(*Created from Setup Automatically*)"; + private static final String SETUP_UUID = "(*AutomaticSetup*)"; + + @Override + public String doIt(Properties context, String transactionName) { + // Add Model Validator + createModelValidator(context, transactionName); + // financial management + return "@AD_SetupDefinition_ID@ @Ok@"; + } + + /** + * Create Model Vaidator + * @param context + * @param transactionName + * @return + */ + private X_AD_ModelValidator createModelValidator(Properties context, String transactionName) { + X_AD_ModelValidator modelValidator = new Query(context, X_AD_ModelValidator.Table_Name, X_AD_ModelValidator.COLUMNNAME_ModelValidationClass + " = ?", transactionName) + .setParameters(ChangeTax.class.getName()) + .setClient_ID() + .first(); + // Validate + if(modelValidator != null + && modelValidator.getAD_ModelValidator_ID() > 0) { + return modelValidator; + } + // + modelValidator = new X_AD_ModelValidator(context, 0, transactionName); + modelValidator.setName("Change Tax to Exempt"); + modelValidator.setEntityType("ECA14"); + modelValidator.setDescription(SETUP_DESCRIPTION); + modelValidator.setSeqNo(200); + modelValidator.setModelValidationClass(ChangeTax.class.getName()); + modelValidator.setUUID(SETUP_UUID); + modelValidator.setIsDirectLoad(true); + modelValidator.saveEx(); + return modelValidator; + } +} diff --git a/pos/src/main/java/base/org/spin/pos/setup/ValidateShipmentFromPOS.java b/pos/src/main/java/base/org/spin/pos/setup/ValidateShipmentFromPOS.java new file mode 100644 index 0000000000..29fb25ea88 --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/setup/ValidateShipmentFromPOS.java @@ -0,0 +1,74 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.pos.setup; + +import java.util.Properties; + +import org.compiere.model.Query; +import org.adempiere.core.domains.models.X_AD_ModelValidator; +import org.spin.pos.model.validator.ValidateShipment; +import org.spin.util.ISetupDefinition; + +/** + * Add here your setup class + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class ValidateShipmentFromPOS implements ISetupDefinition { + + private static final String DESCRIPTION = "(*Created from Setup Automatically*)"; + private static final String UUID = "(*AutomaticSetup*)"; + private static final String NAME = "Validate shipment From POS"; + private static final String ENTITY_TYPE = "ECA14"; + private static final int DEFAULT_SEQUENCE = 300; + + @Override + public String doIt(Properties context, String transactionName) { + // Add Model Validator + createModelValidator(context, transactionName); + // financial management + return "@AD_SetupDefinition_ID@ @Ok@"; + } + + /** + * Create Model Vaidator + * @param context + * @param transactionName + * @return + */ + private X_AD_ModelValidator createModelValidator(Properties context, String transactionName) { + X_AD_ModelValidator modelValidator = new Query(context, X_AD_ModelValidator.Table_Name, X_AD_ModelValidator.COLUMNNAME_ModelValidationClass + " = ?", transactionName) + .setParameters(ValidateShipment.class.getName()) + .setClient_ID() + .first(); + // Validate + if(modelValidator != null + && modelValidator.getAD_ModelValidator_ID() > 0) { + return modelValidator; + } + // + modelValidator = new X_AD_ModelValidator(context, 0, transactionName); + modelValidator.setName(NAME); + modelValidator.setEntityType(ENTITY_TYPE); + modelValidator.setDescription(DESCRIPTION); + modelValidator.setSeqNo(DEFAULT_SEQUENCE); + modelValidator.setModelValidationClass(ValidateShipment.class.getName()); + modelValidator.setUUID(UUID); + modelValidator.setIsDirectLoad(true); + modelValidator.saveEx(); + return modelValidator; + } +} diff --git a/pos/src/main/java/base/org/spin/pos/util/GenericPrintTicket.java b/pos/src/main/java/base/org/spin/pos/util/GenericPrintTicket.java new file mode 100644 index 0000000000..7f77f6acfc --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/util/GenericPrintTicket.java @@ -0,0 +1,39 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.pos.util; + +/** + * A contract for define printing method of POS, you can implement any functionality or extend it + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class GenericPrintTicket implements IPrintTicket { + + /** + * This method allows load necessary data from handler like POS ID, Table Name and Record ID + * @param handler + */ + public void setHandler(TicketHandler handler) { + + } + + /** + * Implement this method for print ticket and return result of printing (if is required) + * @return + */ + public TicketResult printTicket() { + return TicketResult.newInstance().withError(false).withSummary("Ok"); + } +} diff --git a/pos/src/main/java/base/org/spin/pos/util/IPrintTicket.java b/pos/src/main/java/base/org/spin/pos/util/IPrintTicket.java new file mode 100644 index 0000000000..042b871073 --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/util/IPrintTicket.java @@ -0,0 +1,35 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.pos.util; + +/** + * A contract for define printing method of POS, you can implement any functionality or extend it + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public interface IPrintTicket { + + /** + * This method allows load necessary data from handler like POS ID, Table Name and Record ID + * @param handler + */ + public void setHandler(TicketHandler handler); + + /** + * Implement this method for print ticket and return result of printing (if is required) + * @return + */ + public TicketResult printTicket(); +} diff --git a/pos/src/main/java/base/org/spin/pos/util/PaymentApprovalUtil.java b/pos/src/main/java/base/org/spin/pos/util/PaymentApprovalUtil.java new file mode 100644 index 0000000000..747dbf0460 --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/util/PaymentApprovalUtil.java @@ -0,0 +1,140 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2019 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.pos.util; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MMailText; +import org.compiere.model.MOrder; +import org.compiere.model.MPayment; +import org.compiere.model.PO; +import org.compiere.model.Query; +import org.compiere.util.Env; +import org.compiere.util.Msg; +import org.spin.queue.notification.DefaultNotifier; +import org.spin.queue.notification.model.MADNotificationRecipient; +import org.spin.queue.util.QueueLoader; + +/** + * Added for handle custom values for ADempiere core + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class PaymentApprovalUtil { + /** Payment Verified */ + public static final String COLUMNNAME_IsPaymentVerified = "IsPaymentVerified"; + /** Require Payment Verification */ + public static final String COLUMNNAME_IsPaymentVerificationRequired = "IsPaymentVerificationRequired"; + /** Payment not verify, please take a time for verify it */ + public static final String MESSAGE_PaymentNotVerifyByOperator = "PaymentNotVerifyByOperator"; + /** Payment Method */ + public static final String COLUMNNAME_C_PaymentMethod_ID = "C_PaymentMethod_ID"; + /** Payment Verification Supervisor */ + public static final String COLUMNNAME_PayVerificationSupervisor_ID = "PayVerificationSupervisor_ID"; + /** Payment Verification Mail Template */ + public static final String COLUMNNAME_PayVerificationMailText_ID = "PayVerificationMailText_ID"; + + + /** + * Set default verification from POS payment term + * @param payment + * @return void + */ + public static void setDefaultVerificationFromPointOfSales(MPayment payment) { + if(payment.isProcessed() + || payment.getC_POS_ID() <= 0 + || !payment.isReceipt() + || payment.getC_Charge_ID() > 0) { + return; + } + // get payment method allocation + PO paymentTypeAllocation = new Query(payment.getCtx(), "C_POSPaymentTypeAllocation", "C_POS_ID = ? AND C_PaymentMethod_ID = ? AND IsPaymentVerificationRequired = ?", payment.get_TrxName()) + .setParameters(payment.getC_POS_ID(), payment.get_ValueAsInt(COLUMNNAME_C_PaymentMethod_ID), "Y") + .setOnlyActiveRecords(true) + .first(); + if(paymentTypeAllocation != null + && paymentTypeAllocation.get_ID() > 0) { + payment.set_ValueOfColumn(COLUMNNAME_IsPaymentVerificationRequired, true); + } + } + + /** + * Set default verification from POS payment term + * @param payment + * @return void + */ + public static void sendPaymentVerificationNotification(MPayment payment) { + if(payment.isProcessed() + || payment.getC_POS_ID() <= 0 + || !payment.isReceipt() + || payment.getC_Charge_ID() > 0) { + return; + } + // get payment method allocation + PO paymentTypeAllocation = new Query(payment.getCtx(), "C_POSPaymentTypeAllocation", "C_POS_ID = ? AND C_PaymentMethod_ID = ? AND IsPaymentVerificationRequired = ?", payment.get_TrxName()) + .setParameters(payment.getC_POS_ID(), payment.get_ValueAsInt(COLUMNNAME_C_PaymentMethod_ID), "Y") + .setOnlyActiveRecords(true) + .first(); + if(paymentTypeAllocation != null + && paymentTypeAllocation.get_ID() > 0) { + // Notify + if(paymentTypeAllocation.get_ValueAsInt(COLUMNNAME_PayVerificationSupervisor_ID) > 0 + && paymentTypeAllocation.get_ValueAsInt(COLUMNNAME_PayVerificationMailText_ID) > 0) { + DefaultNotifier notifier = (DefaultNotifier) QueueLoader.getInstance().getQueueManager(DefaultNotifier.QUEUETYPE_DefaultNotifier) + .withContext(Env.getCtx()) + .withTransactionName(payment.get_TrxName()); + // + MMailText template = new MMailText(payment.getCtx(), paymentTypeAllocation.get_ValueAsInt(COLUMNNAME_PayVerificationMailText_ID), payment.get_TrxName()); + template.setPO(payment); + template.setPO(paymentTypeAllocation); + String description = template.getMailHeader(); + String text = template.getMailText(true); + notifier + .clearMessage() + .withUpdateHandler(PaymentVerificationHandler.class.getName()) + .withApplicationType(DefaultNotifier.DefaultNotificationType_UserDefined) + .withUserId(payment.get_ValueAsInt("CollectingAgent_ID")) + .withText(text) + .addRecipient(paymentTypeAllocation.get_ValueAsInt(COLUMNNAME_PayVerificationSupervisor_ID), null, MADNotificationRecipient.MESSAGETYPE_Confirmation) + .withEntity(payment) + .withDescription(description) + .addToQueue(); + } + } + } + + + /** + * Validate that a order has approval from WF for all related payments + * @param order + * @return void + */ + public static void validateApprovalforPayment(MOrder order) { + MPayment.getOfOrder(order).forEach(payment -> validateApprovalForPayment(payment)); + } + + /** + * Validate that a payment has approval from WF + * @param payment + * @return void + */ + public static void validateApprovalForPayment(MPayment payment) { + if(payment.get_ValueAsBoolean(COLUMNNAME_IsPaymentVerificationRequired) + && !payment.get_ValueAsBoolean(COLUMNNAME_IsPaymentVerified)) { + throw new AdempiereException(Msg.parseTranslation(payment.getCtx(), "@" + MESSAGE_PaymentNotVerifyByOperator + "@")); + } + } +} diff --git a/pos/src/main/java/base/org/spin/pos/util/PaymentVerificationHandler.java b/pos/src/main/java/base/org/spin/pos/util/PaymentVerificationHandler.java new file mode 100644 index 0000000000..136b5392af --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/util/PaymentVerificationHandler.java @@ -0,0 +1,55 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.pos.util; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MPayment; +import org.compiere.util.Util; +import org.spin.queue.model.MADQueue; +import org.spin.queue.notification.model.MADNotificationQueue; +import org.spin.queue.notification.model.MADNotificationUpdates; +import org.spin.queue.notification.support.IUpdateHandler; + +/** + * @author Yamel Senih, ySenih@erpya.com, ERPCyA http://www.erpya.com + * Contract for notification response handler, this is called from updates of notification + */ +public class PaymentVerificationHandler implements IUpdateHandler { + + @Override + public void run(MADNotificationUpdates update) { + if(Util.isEmpty(update.getNotificationResponseCode())) { + return; + } + MADNotificationQueue notification = (MADNotificationQueue) update.getAD_NotificationQueue(); + MADQueue queue = (MADQueue) notification.getAD_Queue(); + if(queue.getAD_Table_ID() == MPayment.Table_ID + && queue.getRecord_ID() > 0) { + MPayment paymentToVerify = new MPayment(update.getCtx(), queue.getRecord_ID(), update.get_TrxName()); + if(paymentToVerify.get_ValueAsBoolean(PaymentApprovalUtil.COLUMNNAME_IsPaymentVerificationRequired) + && !paymentToVerify.get_ValueAsBoolean(PaymentApprovalUtil.COLUMNNAME_IsPaymentVerified)) { + paymentToVerify.set_ValueOfColumn(PaymentApprovalUtil.COLUMNNAME_IsPaymentVerified, update.getNotificationResponseCode().equals("Y")); + if(!Util.isEmpty(update.getText())) { + paymentToVerify.addDescription(update.getText()); + } + paymentToVerify.saveEx(); + } else { + throw new AdempiereException("@PaymentAlreadyVerified@"); + } + } + } +} diff --git a/pos/src/main/java/base/org/spin/pos/util/PointOfSalesImprovementsChanges.java b/pos/src/main/java/base/org/spin/pos/util/PointOfSalesImprovementsChanges.java new file mode 100644 index 0000000000..f588a01ba4 --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/util/PointOfSalesImprovementsChanges.java @@ -0,0 +1,111 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2019 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.pos.util; + +import java.util.Arrays; +import java.util.Optional; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MOrderLine; +import org.compiere.model.MTax; +import org.compiere.util.Env; +import org.compiere.util.Util; + +/** + * Added for handle custom values for ADempiere core + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class PointOfSalesImprovementsChanges { + /** Used for change tax for Order */ + public static final String COLUMNNAME_IsTaxExempt = "IsTaxExempt"; + + /** + * Change Order Line for tax exempt + * @param orderLine + * @return + */ + public static void changeTax(MOrderLine orderLine, boolean isSOTaxExempt) { + if(!orderLine.isProcessed()) { + if(isSOTaxExempt) { + MTax exemptTax = getDefaultExemptTax(orderLine.getAD_Org_ID()); + if(exemptTax == null) { + throw new AdempiereException("@C_Tax_ID@ @IsTaxExempt@ @NotFound@"); + } + // Set + if(orderLine.getC_Tax_ID() == exemptTax.getC_Tax_ID()) { + return; + } + orderLine.setC_Tax_ID(exemptTax.getC_Tax_ID()); + orderLine.setLineNetAmt(); + } else { + orderLine.setTax(); + orderLine.setLineNetAmt(); + } + } + } + + /** + * Get Tax Rate + * @param taxCategoryId + * @return + */ + public static MTax getTax(int taxCategoryId) { + Optional optionalTax = Arrays.asList(MTax.getAll(Env.getCtx())) + .stream() + .filter(tax -> tax.getC_TaxCategory_ID() == taxCategoryId + && isSalesTax(tax)) + .findFirst(); + // Validate + if(optionalTax.isPresent()) { + return optionalTax.get(); + } + return null; + } + + /** + * Get Default Tax Rate for Exempt Tax + * @param organizationId + * @return + */ + private static MTax getDefaultExemptTax(int organizationId) { + Optional optionalTax = Arrays.asList(MTax.getAll(Env.getCtx())) + .stream() + .filter(tax -> tax.isZeroTax() + && (tax.getAD_Org_ID() == organizationId || tax.getAD_Org_ID() == 0) + && isSalesTax(tax)) + .findFirst(); + // Validate + if(optionalTax.isPresent()) { + return optionalTax.get(); + } + return null; + } + + /** + * Validate if is sales Tax + * @param tax + * @return + * @return boolean + */ + private static boolean isSalesTax(MTax tax) { + return (tax.isSalesTax() + || (!Util.isEmpty(tax.getSOPOType()) + && (tax.getSOPOType().equals(MTax.SOPOTYPE_Both) + || tax.getSOPOType().equals(MTax.SOPOTYPE_SalesTax)))); + } +} diff --git a/pos/src/main/java/base/org/spin/pos/util/ShipmentValidationUtil.java b/pos/src/main/java/base/org/spin/pos/util/ShipmentValidationUtil.java new file mode 100644 index 0000000000..7f278e1714 --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/util/ShipmentValidationUtil.java @@ -0,0 +1,80 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2019 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.pos.util; + +import java.util.Arrays; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MInOut; +import org.compiere.model.MOrder; +import org.compiere.model.MPOS; +import org.compiere.model.MProduct; +import org.compiere.util.Env; +import org.compiere.util.Msg; + +/** + * Validate Shipment from order + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class ShipmentValidationUtil { + + /** Confirm Only Complete Shipment */ + public static final String COLUMNNAME_IsConfirmCompleteShipment = "IsConfirmCompleteShipment"; + /** Error message for shipment with missing products */ + public static final String MESSAGE_MissingProductsOnShipment = "MissingProductsOnShipment"; + /** Error message for shipment with missing product */ + public static final String MESSAGE_MissingProductsOnShipmentLine = "MissingProductsOnShipmentLine"; + + /** + * Validate shipment from Point of Sales + * @param shipment + * @return void + */ + public static void validateShipmentFromPOS(MInOut shipment) { + // Only for POS + if(shipment.getC_POS_ID() <= 0) { + return; + } + MPOS pos = MPOS.get(shipment.getCtx(), shipment.getC_POS_ID()); + if(!pos.get_ValueAsBoolean(COLUMNNAME_IsConfirmCompleteShipment)) { + return; + } + // Validate + StringBuffer errors = new StringBuffer(); + MOrder order = (MOrder) shipment.getC_Order(); + Arrays.asList(order.getLines()) + .stream() + .filter(orderLine -> orderLine.getM_Product_ID() > 0) + .forEach(orderLine -> { + MProduct product = MProduct.get(orderLine.getCtx(), orderLine.getM_Product_ID()); + if(orderLine.getQtyOrdered().subtract(orderLine.getQtyDelivered()).compareTo(Env.ZERO) > 0) { + errors.append(Env.NL); + // + errors.append(Msg.getMsg(order.getCtx(), MESSAGE_MissingProductsOnShipmentLine, new Object[]{ + orderLine.getLine(), + product.getValue() + "-" + product.getName(), + orderLine.getQtyOrdered().subtract(orderLine.getQtyDelivered()) + } + )); + } + }); + if(errors.length() > 0) { + throw new AdempiereException(Msg.parseTranslation(shipment.getCtx(), "@" + MESSAGE_MissingProductsOnShipment + "@") + errors.toString()); + } + } +} diff --git a/pos/src/main/java/base/org/spin/pos/util/TicketHandler.java b/pos/src/main/java/base/org/spin/pos/util/TicketHandler.java new file mode 100644 index 0000000000..708890e380 --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/util/TicketHandler.java @@ -0,0 +1,165 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.pos.util; + +import java.lang.reflect.Constructor; + +import org.compiere.model.MPOS; +import org.compiere.util.CLogger; +import org.compiere.util.Env; +import org.compiere.util.Util; + +/** + * A util class for manage print ticket from Point Of Sales, you can load + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class TicketHandler { + + /** Log */ + private static CLogger log = CLogger.getCLogger (TicketHandler.class); + private static TicketHandler instance; + private int posId; + private int recordId; + private String tableName; + private String transactionName; + + private TicketHandler() { + + } + + /** + * Singleton instance + * @return + */ + public static TicketHandler getInstance() { + if(instance == null) { + instance = new TicketHandler(); + } else { + + } + return instance.clearValues(); + } + + private TicketHandler clearValues() { + posId = 0; + recordId = 0; + tableName = null; + return this; + } + + public int getPosId() { + return posId; + } + + public TicketHandler withPosId(int posId) { + this.posId = posId; + return this; + } + + public int getRecordId() { + return recordId; + } + + public TicketHandler withRecordId(int recordId) { + this.recordId = recordId; + return this; + } + + public String getTableName() { + return tableName; + } + + public TicketHandler withTableName(String tableName) { + this.tableName = tableName; + return this; + } + + public String getTransactionName() { + return transactionName; + } + + public TicketHandler withTransactionName(String transactionName) { + this.transactionName = transactionName; + return this; + } + + /** + * Get Instance for ticket + * @param pos + * @return + */ + private IPrintTicket getTicketHandler() { + if(posId <= 0) { + log.severe("Not have POS"); + return null; + } + if(recordId <= 0) { + log.severe("Not have Record ID"); + return null; + } + if(Util.isEmpty(tableName)) { + log.severe("Not have Table"); + return null; + } + MPOS pos = new MPOS(Env.getCtx(), posId, null); + // Get class from parent + String className = pos.getTicketClassName(); + if(className == null + || className.trim().length() == 0) { + log.fine("Get from GenericTicketHandlerClass"); + IPrintTicket ticketHandler = new GenericPrintTicket(); + ticketHandler.setHandler(this); + return ticketHandler; + } + // Handler + IPrintTicket ticketHandler = null; + // Reload + try { + Class clazz = Class.forName(className); + // Make sure that it is a PO class + Class superClazz = clazz.getSuperclass(); + // Validate super class + while (superClazz != null) { + if (superClazz == IPrintTicket.class) { + break; + } + // Get Supert Class + superClazz = superClazz.getSuperclass(); + } + // When exists + Constructor constructor = null; + constructor = clazz.getDeclaredConstructor(); + ticketHandler = (IPrintTicket) constructor.newInstance(); + ticketHandler.setHandler(this); + } catch (Exception e) { + log.severe(e.getMessage()); + } + // Default Return + return ticketHandler; + } + + /** + * Print Ticket + * @return + */ + public TicketResult printTicket() { + IPrintTicket ticketImplementation = getTicketHandler(); + if(ticketImplementation != null) { + return ticketImplementation.printTicket(); + } + return null; + } +} diff --git a/pos/src/main/java/base/org/spin/pos/util/TicketResult.java b/pos/src/main/java/base/org/spin/pos/util/TicketResult.java new file mode 100644 index 0000000000..ce986203e0 --- /dev/null +++ b/pos/src/main/java/base/org/spin/pos/util/TicketResult.java @@ -0,0 +1,86 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.pos.util; + +import java.io.File; +import java.util.HashMap; +import java.util.Map; + +/** + * Printing Result from implementation, use this stub class for fill all result values as map, also you can return values like: + *
  • Error flag + *
  • Summary Data + *
  • Report File (Automatically read if is a pdf) + *
  • Map with data + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class TicketResult { + + /** + * Default instance or static constructor + * @return + */ + public static TicketResult newInstance() { + return new TicketResult(); + } + + private TicketResult() { + isError = false; + summary = null; + resultValues = new HashMap<>(); + reportFile = null; + } + + private boolean isError; + private String summary; + private Map resultValues; + private File reportFile; + public boolean isError() { + return isError; + } + + public TicketResult withError(boolean isError) { + this.isError = isError; + return this; + } + + public String getSummary() { + return summary; + } + + public TicketResult withSummary(String summary) { + this.summary = summary; + return this; + } + + public Map getResultValues() { + return resultValues; + } + + public TicketResult withResultValues(Map resultValues) { + this.resultValues = resultValues; + return this; + } + + public File getReportFile() { + return reportFile; + } + + public TicketResult withReportFile(File reportFile) { + this.reportFile = reportFile; + return this; + } +} diff --git a/pos/xml/migration/06460_Add_Entity_Type_for_ECA14.xml b/pos/xml/migration/06460_Add_Entity_Type_for_ECA14.xml new file mode 100644 index 0000000000..d07f1191aa --- /dev/null +++ b/pos/xml/migration/06460_Add_Entity_Type_for_ECA14.xml @@ -0,0 +1,26 @@ + + + + + + A ERP Consultores y Asociados, CA contribution for POS improvements + false + 2020-11-15 13:52:26.325 + true + ECA14 + 50105 + 0 + 0 + 2020-11-15 13:52:26.325 + 100 + + org.spin.model + + + 100 + Spin Contribution (Point Of Sales) + fbc7a975-b3de-4097-a796-82a6ca819eac + + + + diff --git a/pos/xml/migration/06460_Add_POS_Withdrawal_based_on_source_documents.xml b/pos/xml/migration/06460_Add_POS_Withdrawal_based_on_source_documents.xml new file mode 100644 index 0000000000..0ab6249b40 --- /dev/null +++ b/pos/xml/migration/06460_Add_POS_Withdrawal_based_on_source_documents.xml @@ -0,0 +1,8709 @@ + + + + + + fbcdf5f9-7e68-43b2-9b02-d6f637c8bfaf + true + 2020-11-19 19:24:10.339 + 2020-11-19 19:24:10.339 + 50282 + + CP.RelatedPayment_ID + Payment Related + CP_RelatedPayment_ID + + 70834 + 0 + 0 + ECA14 + 100 + 50099 + 86858 + 100 + + + + + 2020-11-19 19:24:11.496 + true + 2020-11-19 19:24:11.496 + + + false + Payment Related + 70834 + 0 + 0 + 100 + es_MX + 100 + b17fc87e-dbc5-48ed-9d42-a76f681bbf94 + + + + + 61303365-9edd-478c-90c1-bac8ed012764 + true + 2020-11-19 19:24:11.84 + 2020-11-19 19:24:11.84 + 50282 + + CP.IsUnidentifiedPayment + Unidentified Payment + CP_IsUnidentifiedPayment + This flag determine ig a payment is unidentify + 70835 + 0 + 0 + ECA14 + 100 + 50099 + 94567 + 100 + + + + + 2020-11-19 19:24:12.525 + true + 2020-11-19 19:24:12.525 + This flag determine ig a payment is unidentify + + false + Unidentified Payment + 70835 + 0 + 0 + 100 + es_MX + 100 + 363b345a-ba42-49d2-961e-48b2f4bd817d + + + + + db528ef2-61d2-4fe5-9372-93fcf6573c62 + true + 2020-11-19 19:24:12.864 + 2020-11-19 19:24:12.864 + 50282 + The Bank is a unique identifier of a Bank for this Organization or for a Business Partner with whom this Organization transacts. + CP.C_Bank_ID + Bank + CP_C_Bank_ID + Bank + 70836 + 0 + 0 + ECA14 + 100 + 50099 + 95741 + 100 + + + + + 2020-11-19 19:24:13.553 + true + 2020-11-19 19:24:13.553 + Bank + + false + Bank + 70836 + 0 + 0 + 100 + es_MX + 100 + 9f3fb996-2247-4540-821e-2767bdae4c8d + + + + + true + + false + false + true + cp.IsReceipt = 'Y' +AND cp.IsReconciled = 'N' +AND cp.DocStatus IN('CO', 'CL') +AND (cp.Ref_Payment_ID IS NULL OR NOT EXISTS(SELECT 1 FROM C_Payment p WHERE p.C_Payment_ID = cp.Ref_Payment_ID AND p.DocStatus IN('CO', 'CL'))) + POS Withdrawal Breakdowned + true + 2020-11-19 19:24:16.926 + 2020-11-19 19:24:16.926 + Allow create deposit from cash + For a deposit can be created is need a bank statement in cash + N + false + true + false + false + POSWithdrawalBreakdowned + 3 + 0 + 50238 + ECA14 + 0 + 100 + 100 + 53552 + 50099 + 54014 + 376d61ad-72b7-4e12-8cd3-07199238d5e6 + + + + + true + 2020-11-19 19:24:17.883 + 2020-11-19 19:24:17.883 + 50238 + Permite hacer retiros de caja de manera detallada, muy útil para los registros relacionados con transferencias + Puede usar este Visor para realizar retiros de caja detallados y enviarlos directamente a un banco + false + 0 + 0 + es_MX + 100 + 100 + 5f22eed1-35f7-4099-ba32-23edf2f3488a + Retiro de Caja (Detallado) + + + + + 2020-11-19 19:24:18.223 + true + 2020-11-19 19:24:18.223 + false + false + false + + + City or the Credit Card or Account Holder + The Account City indicates the City of the Credit Card or Account holder + false + false + false + Account City + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 69998 + 0 + + 100 + 100 + + 1350 + 50238 + 61589 + + 10 + + + + 0 + 08a97444-5e22-4df7-89b3-b158dc8794f8 + + + + + bdfee5fc-d504-419d-9532-04432156ef7f + true + 2020-11-19 19:24:19.209 + 2020-11-19 19:24:19.209 + Ciudad de la tarjeta de crédito o el poseedor de la cuenta + La ciudad de la cuenta indica la ciudad de la tarjeta de crédito o poseedor de la cuenta + true + Ciudad + 0 + 0 + es_MX + 100 + 69998 + 100 + + + + + 2020-11-19 19:24:19.61 + Zip Code of the Credit Card or Account Holder + The Zip Code of the Credit Card or Account Holder. + false + false + false + Account Zip/Postal + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 69999 + 0 + + 100 + 100 + + 1357 + 50238 + 61569 + + 10 + + + + 0 + 53d07c3c-aca8-4959-9b96-5ca167ea0291 + true + 2020-11-19 19:24:19.61 + false + false + false + + + + + + + f9a61447-5aab-4dc9-b2f4-b805f8787853 + true + 2020-11-19 19:24:20.552 + 2020-11-19 19:24:20.552 + Código Postal de la Tarjeta de Crédito o el Poseedor de la cuenta + El Código Postal de la Tarjeta de Crédito o poseedor de la cuenta + true + Código Postal + 0 + 0 + es_MX + 100 + 69999 + 100 + + + + + 2020-11-19 19:24:20.934 + true + 2020-11-19 19:24:20.934 + false + false + false + + + Credit Card (Visa, MC, AmEx) + The Credit Card drop down list box is used for selecting the type of Credit Card presented for payment. + false + false + false + Credit Card + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70000 + 0 + 149 + 100 + 100 + + 1012 + 50238 + 61567 + + 17 + + + + 0 + 3b0c499e-f48d-48a1-a11f-63fe7a68eb96 + + + + + 44dec5f3-95aa-4043-a318-a3d8d88518b9 + 0 + 0 + es_MX + 100 + 70000 + 100 + true + 2020-11-19 19:24:22.023 + 2020-11-19 19:24:22.023 + Tarjeta de Crédito (Visa; MC; Am Ex) + El cuadro de lista de tarjeta de crédito se usa para seleccionar el tipo de tarjeta de crédito presentada para pago. + true + Tarjeta de Crédito + + + + + 2020-11-19 19:24:22.348 + true + 2020-11-19 19:24:22.348 + false + false + false + + + Payment Identification - Driver License + The Driver's License being used as identification. + false + false + false + Driver License + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70001 + 0 + + 100 + 100 + + 1352 + 50238 + 61586 + + 10 + + + + 0 + 99923a9d-b374-42ec-a88a-0029b65165b7 + + + + + 0a85887d-027e-49af-ba45-22177e7f45fb + true + 2020-11-19 19:24:23.552 + 2020-11-19 19:24:23.552 + Identificación de pago - Licencia de manejo + Licencia de conducir + true + Licencia de Conducir + 0 + 0 + es_MX + 100 + 70001 + 100 + + + + + 2020-11-19 19:24:23.879 + true + 2020-11-19 19:24:23.879 + false + false + false + + + Expiry Year + The Expiry Year indicates the expiry year for this credit card. + false + false + false + Exp. Year + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70002 + 0 + + 100 + 100 + + 1085 + 50238 + 61588 + + 11 + + + + 0 + 8c260133-f8a0-4796-af20-b0e153cbff09 + + + + + 5a0a04f3-290d-4fcb-a956-1eaba6d2d8f9 + true + 2020-11-19 19:24:24.807 + 2020-11-19 19:24:24.807 + Año de expiración + El Año de Expiración indica el año de expiración para esta tarjeta de crédito + true + Año de Expiración + 0 + 0 + es_MX + 100 + 70002 + 100 + + + + + 2020-11-19 19:24:25.127 + + 100 + 100 + + 837 + 50238 + 61585 + + 19 + + + + 0 + 6f67af55-62fa-42b4-ae3b-f6d857049804 + true + 2020-11-19 19:24:25.127 + false + false + false + + + Bank Account of the Business Partner + The Partner Bank Account identifies the bank account to be used for this Business Partner + false + false + false + Partner Bank Account + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70003 + 0 + + + + + 3c48ae6b-202e-49b2-9173-07aaafaecf43 + true + 2020-11-19 19:24:26.065 + 2020-11-19 19:24:26.065 + Cuenta bancaria del Socio del Negocio + La cuenta bancaria del Socio del Negocio identifica la cuenta bancaria a ser usada por este Socio del Negocio + true + Cuenta Bancaria Socio del Negocio + 0 + 0 + es_MX + 100 + 70003 + 100 + + + + + + 2020-11-19 19:24:26.365 + true + 2020-11-19 19:24:26.365 + false + false + false + + + Order + The Order is a control document. The Order is complete when the quantity ordered is the same as the quantity shipped and invoiced. When you close an order, unshipped (backordered) quantities are cancelled. + false + false + false + Order + true + true + false + + + + + + + false + 0 + 0 + ECA14 + 70004 + 0 + + 100 + 100 + + 558 + 50238 + 61612 + + 30 + + + + 0 + 4e1cac66-2159-4ec5-8f71-3c18c5b205d3 + + + + + 468fd897-c5ca-4169-9546-7ad57a7fa7e8 + true + 2020-11-19 19:24:27.73 + 2020-11-19 19:24:27.73 + Orden de Venta + La ID de la orden de ventas es un identificador único de la orden de ventas; Ésta es controlada por la secuencia del documento para este tipo de documento. + true + Orden de Venta + 0 + 0 + es_MX + 100 + 70004 + 100 + + + + + false + 2020-11-19 19:24:28.405 + true + 2020-11-19 19:24:28.405 + false + false + false + + + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + false + false + Immutable Universally Unique Identifier + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70005 + 0 + + 100 + 100 + + 59595 + 50238 + 61636 + + 10 + + + + 0 + dba032c3-44d8-449e-99c9-7b94634c5e74 + + + + + d3719f43-656c-422b-9ff6-8950da2ddb95 + true + 2020-11-19 19:24:29.342 + 2020-11-19 19:24:29.342 + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + false + Immutable Universally Unique Identifier + 0 + 0 + es_MX + 100 + 70005 + 100 + + + + + 2020-11-19 19:24:29.66 + 2020-11-19 19:24:29.66 + true + false + false + false + + + User defined list element #3 + The user defined element displays the optional elements that have been defined for this account combination. + false + false + false + User List 3 + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70006 + 0 + 53336 + 100 + 100 + + 54080 + 50238 + 61634 + + 18 + + + + 0 + 35cfe576-37c6-4c9e-84b5-a3bad2813edc + + + + + es_MX + 5b1026a8-620b-4245-932a-102b33b2e308 + true + 2020-11-19 19:24:30.585 + 2020-11-19 19:24:30.585 + El usuario definió el elemento #3 + El elemento definido por el usuario despliega los elementos opcionales que han sido definidos para esta combinación de cuentas. + true + Usuario 3 + 0 + 0 + 100 + 70006 + 100 + + + + + 2020-11-19 19:24:30.906 + true + 2020-11-19 19:24:30.906 + false + false + false + + + User defined list element #4 + The user defined element displays the optional elements that have been defined for this account combination. + false + false + false + User List 4 + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70007 + 0 + 53337 + 100 + 100 + + 54081 + 50238 + 61635 + + 18 + + + + 0 + 8e1aa860-0b99-4e03-be50-4271fdaae028 + + + + + 59a0ff5e-f278-464a-814d-eb58e956cd02 + 2020-11-19 19:24:31.852 + El usuario definió el elemento # 4 + El elemento definido por el usuario despliega los elementos opcionales que han sido definidos para esta combinación de cuentas. + true + Usuario 4 + 0 + 0 + es_MX + 100 + 70007 + 100 + true + 2020-11-19 19:24:31.852 + + + + + + + 0 + 66475aed-f6a6-47ea-abe7-7da915b840ed + 2020-11-19 19:24:32.516 + true + 2020-11-19 19:24:32.516 + false + false + false + + + Country + Account Country Name + false + false + false + Account Country + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70008 + 0 + + 100 + 100 + + 1988 + 50238 + 61628 + + 10 + + + + + + 037a1d48-8ba8-43b7-a323-6961b4cde3f5 + true + 2020-11-19 19:24:34.603 + 2020-11-19 19:24:34.603 + País + Nombre de país cuenta. + true + País Cuenta + 0 + 0 + es_MX + 100 + 70008 + 100 + + + + + + 2020-11-19 19:24:34.904 + true + 2020-11-19 19:24:34.904 + false + false + false + + + Email Address + The EMail Address indicates the EMail address off the Credit Card or Account holder. + false + false + false + Account EMail + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70009 + 0 + + 100 + 100 + 1351 + 50238 + 61623 + + 10 + + + + 0 + 75a49410-17c4-45b3-a8cb-10d763da859e + + + + + 13feefd2-3412-4e25-b37b-dee628fc8d67 + true + 2020-11-19 19:24:35.783 + 2020-11-19 19:24:35.783 + Dirección de correo electrónico + La dirección de email indica la dirección de correo electrónico de la tarjeta de crédito o poseedor de la cuenta + true + Cta. Correo Electrónico + 0 + 0 + es_MX + 100 + 70009 + 100 + + + + + 2020-11-19 19:24:36.406 + 0 + 0 + ECA14 + 70010 + 0 + + 100 + 100 + + 1005 + 50238 + 61625 + + 19 + + + + 0 + 1d3e4e33-a92c-432a-a82b-94c4ad16c58c + true + 2020-11-19 19:24:36.406 + false + false + false + + + Business Activity + Activities indicate tasks that are performed and used to utilize Activity based Costing + false + false + false + Activity + true + true + false + + + + + + + + false + + + + + e8548c88-689b-4a56-848c-c6b0be493a0d + true + 2020-11-19 19:24:37.355 + 2020-11-19 19:24:37.355 + Actividad de Negocio + Las actividades indican tareas que son ejecutadas en el curso de un negocio; las actividades son usadas para el costeo por actividad (ABC) + true + Actividad + 0 + 0 + es_MX + 100 + 70010 + 100 + + + + + + 2020-11-19 19:24:37.689 + true + 2020-11-19 19:24:37.689 + false + false + false + + + User who created this records + The Created By field indicates the user who created this record. + false + false + false + Created By + true + true + false + + + + + + + false + 0 + 0 + ECA14 + 70011 + 0 + 110 + 100 + 100 + + 246 + 50238 + 61621 + + 18 + + + + 0 + b687d16f-2861-4e20-810d-d65701783189 + + + + + e52b086a-49b3-4adf-b80e-922f0ca8727b + true + 2020-11-19 19:24:38.557 + 2020-11-19 19:24:38.557 + Usuario que creó este registro + El campo creado por indica el usuario que creó este registro + false + Creado Por + 0 + 0 + es_MX + 100 + 70011 + 100 + + + + + false + 2020-11-19 19:24:39.453 + true + 2020-11-19 19:24:39.453 + false + false + false + + + Optional short description of the record + A description is limited to 255 characters. + false + false + Description + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70012 + 0 + + 100 + 100 + + 275 + 50238 + 61794 + + 10 + + + + 0 + 19ca9f41-8a25-46ec-84e8-0313cf1e5d0f + + + + + a792676c-a69f-487c-986d-eec1da18702f + true + 2020-11-19 19:24:41.435 + 2020-11-19 19:24:41.435 + Descripción corta opcional del registro + Una descripción esta limitada a 255 caracteres + false + Descripción + 0 + 0 + es_MX + 100 + 70012 + 100 + + + + + 2020-11-19 19:24:41.786 + false + false + false + + + This is a Sales Transaction + The Sales Transaction checkbox indicates if this item is a Sales Transaction. + false + false + false + Sales Transaction + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70013 + 0 + + 100 + 100 + + 1106 + 50238 + 61797 + + 20 + + + + 0 + ef9cc571-470d-4fe0-a48c-dc2ef9338225 + true + 2020-11-19 19:24:41.786 + + + + + es_MX + 1db6d314-1a39-4dd7-971a-71a9db17bdb6 + true + 2020-11-19 19:24:42.69 + 2020-11-19 19:24:42.69 + Esta es una transacción de ventas + El cuadro de verificación Transacción de Ventas indica si este ítem es una transacción de ventas + true + Transacción de Ventas + 0 + 0 + 100 + 70013 + 100 + + + + + 2020-11-19 19:24:43.32 + true + 2020-11-19 19:24:43.32 + false + false + false + + + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + false + false + false + Immutable Universally Unique Identifier + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70014 + 0 + + 100 + 100 + + 59595 + 50238 + 61796 + + 10 + + + + 0 + db8427b9-1c40-48b4-8f19-b9ba6210f51b + + + + + d0c5ecb3-30a1-4f4e-a31e-c2b4b2582ca5 + 2020-11-19 19:24:44.299 + 2020-11-19 19:24:44.299 + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + false + Immutable Universally Unique Identifier + 0 + 0 + es_MX + 100 + 70014 + 100 + true + + + + + 2020-11-19 19:24:44.613 + + 19 + + + + 0 + 0c80584b-7c6c-42ee-927a-2ee762f2c707 + true + 2020-11-19 19:24:44.613 + false + false + false + + + Client/Tenant for this installation. + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + false + false + false + Client + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70015 + 0 + + 100 + 100 + + 102 + 50238 + 61801 + + + + + 352a4125-da06-45f4-81cb-96084bbfdcf4 + true + 2020-11-19 19:24:45.543 + 2020-11-19 19:24:45.543 + Compañía para esta instalación + Compañía o entidad legal. No se pueden compartir datos entre diferentes compañías. + false + Compañía + 0 + 0 + es_MX + 100 + 70015 + 100 + + + + + 2020-11-19 19:24:45.864 + 0 + + 100 + 100 + + 113 + 50238 + 61800 + + 19 + + + + 0 + e6d40237-438f-427f-aa8d-ce687b114bda + true + 2020-11-19 19:24:45.864 + false + false + false + + + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + false + false + false + Organization + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70016 + + + + + 1a35ab02-00ea-421a-aaca-f6d55311b3d2 + true + 2020-11-19 19:24:46.772 + 2020-11-19 19:24:46.772 + Entidad organizacional dentro de la compañía + Una organización es una unidad de la compañía o entidad legal - Ej. Tiendas y departamentos. Es posible compartir datos entre organizaciones. + false + Organización + 0 + 0 + es_MX + 100 + 70016 + 100 + + + + + 2020-11-19 19:24:47.076 + + + + false + 0 + 0 + ECA14 + 70017 + 0 + + 100 + 100 + + 835 + 50238 + 61802 + + 13 + + + + 0 + 278628ef-ae90-4a90-bc05-f5a1cc9a4922 + true + 2020-11-19 19:24:47.076 + false + false + false + + + Bank + The Bank is a unique identifier of a Bank for this Organization or for a Business Partner with whom this Organization transacts. + false + false + false + Bank + true + true + false + + + + + + + + + ab34a305-e5c6-48bb-bbc0-8a6c83c14a96 + true + 2020-11-19 19:24:48.021 + 2020-11-19 19:24:48.021 + Banco + El Banco es un identificador único de un Banco para esta Organización o para un Socio del Negocio con quien esta organización efectúa transacciones + true + Banco + 0 + 0 + es_MX + 100 + 70017 + 100 + + + + + 2020-11-19 19:24:48.972 + Address + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70018 + 0 + + 100 + 100 + + 202 + 50238 + 61798 + + 21 + + + + 0 + f7b16af7-4cc9-4e0b-9b5f-b21d7aa14afd + true + 2020-11-19 19:24:48.972 + false + false + false + + + Location or Address + The Location / Address field defines the location of an entity. + false + false + false + + + + + 658e34be-57a2-48f5-869e-c18271491e07 + true + 2020-11-19 19:24:49.882 + 2020-11-19 19:24:49.882 + Ubicación o dirección + El campo Ubicación / Dirección define la ubicación de una entidad. + true + Localización / Dirección + 0 + 0 + es_MX + 100 + 70018 + 100 + + + + + 2020-11-19 19:24:50.191 + + + Bank + The Bank is a unique identifier of a Bank for this Organization or for a Business Partner with whom this Organization transacts. + false + true + false + Bank + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70019 + 0 + + 100 + 100 + + 835 + 50238 + 61787 + + 19 + + + + 0 + 84e135dd-56f0-4260-bee5-9e5650f1b7f8 + true + 2020-11-19 19:24:50.191 + false + false + false + + + + + 70019 + e653f358-2b3f-4000-8912-a1123e6733df + true + 2020-11-19 19:24:51.169 + 2020-11-19 19:24:51.169 + Banco + El Banco es un identificador único de un Banco para esta Organización o para un Socio del Negocio con quien esta organización efectúa transacciones + true + Banco + 0 + 0 + es_MX + 100 + 100 + + + + + 2020-11-19 19:24:51.478 + true + 2020-11-19 19:24:51.478 + false + false + false + + + + + false + false + false + Payment Export Class + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70020 + 0 + + 100 + 100 + + 54389 + 50238 + 61795 + + 10 + + + + 0 + 9fbf9a19-75e4-44aa-ad00-62acd46b013a + + + + + 0 + 0 + es_MX + 100 + 70020 + 100 + 88346489-6969-4910-bdc6-6e180349df35 + true + 2020-11-19 19:24:52.379 + 2020-11-19 19:24:52.379 + + + true + Clase Exporta Pagos + + + + + 2020-11-19 19:24:52.69 + true + 2020-11-19 19:24:52.69 + false + false + false + + + Bank Account Type + The Bank Account Type field indicates the type of account (savings, checking etc) this account is defined as. + false + false + false + Bank Account Type + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70021 + 0 + 216 + 100 + 100 + + 1461 + 50238 + 61788 + + 17 + + + + 0 + 5ef607c0-3a20-47fe-93f5-4b4b7e52e163 + + + + + true + 2020-11-19 19:24:53.706 + 2020-11-19 19:24:53.706 + Tipo de cuenta Bancaria + El Tipo de Cuenta Bancario indica el tipo de cuenta (ahorros; cheques; etc.) como está definida esta cuenta + true + Tipo de Cuenta Bancaria + 0 + 0 + es_MX + 100 + 70021 + 100 + 25ac3dad-0ca6-42c5-9a7c-e32067b91a69 + + + + + 19 + 2020-11-19 19:24:54.033 + true + 2020-11-19 19:24:54.033 + false + false + false + + + The Currency for this record + Indicates the Currency to be used when processing or reporting on this record + false + false + false + Currency + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70022 + 0 + + 100 + 100 + + 193 + 50238 + 61783 + + + + + 0 + ceb77123-b8db-40c9-848f-c926d3b865ac + + + + + fe97609a-b7cc-4463-ab64-561886c02e60 + true + 2020-11-19 19:24:54.959 + 2020-11-19 19:24:54.959 + Moneda para este registro + Indica la moneda a ser usada cuando se procese o Informe este registro + true + Moneda + 0 + 0 + es_MX + 100 + 70022 + 100 + + + + + 100 + 2020-11-19 19:24:55.268 + true + 2020-11-19 19:24:55.268 + false + false + false + + + User who created this records + The Created By field indicates the user who created this record. + false + false + false + Created By + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70023 + 0 + 110 + 100 + + 246 + 50238 + 61784 + + 18 + + + + 0 + a12d2a58-8ba1-4e75-85c2-81b34e2fde49 + + + + + 38726e7e-b15e-4f33-a3e2-167d99d1584e + true + 2020-11-19 19:24:56.213 + 2020-11-19 19:24:56.213 + Usuario que creó este registro + El campo creado por indica el usuario que creó este registro + false + Creado Por + 0 + 0 + es_MX + 100 + 70023 + 100 + + + + + false + 2020-11-19 19:24:56.925 + true + 2020-11-19 19:24:56.925 + false + false + false + + + Check Number + The Check Number indicates the number on the check. + false + false + false + Check No + true + true + false + + + + + + + + 0 + 0 + ECA14 + 70024 + 0 + + 100 + 100 + + 1389 + 50238 + 61580 + + 10 + + + + 0 + 38cb99b5-7dc3-497f-b2e4-34b518592823 + + + + + 083866cb-a17c-4657-a445-06fd6b4ac167 + true + 2020-11-19 19:24:58.856 + 2020-11-19 19:24:58.856 + No. Cheque + El Número de Cheque indica el número en el cheque + true + No. Cheque + 0 + 0 + es_MX + 100 + 70024 + 100 + + + + + 2020-11-19 19:24:59.215 + + + + + + + + false + 0 + 0 + ECA14 + 70025 + 0 + + 100 + 100 + + 1008 + 50238 + 61616 + + 30 + + + + 0 + b3737ac6-1f75-4e12-b674-098d552d8f06 + true + 2020-11-19 19:24:59.215 + false + false + false + + + Invoice Identifier + The Invoice Document. + false + false + false + Invoice + true + true + false + + + + + 518f46d7-f1ad-4c6c-8943-816f9cc2ab0e + true + 2020-11-19 19:25:00.122 + 2020-11-19 19:25:00.122 + Identificador de la factura + La ID de Factura identifica únicamente un documento de Factura. + true + Factura + 0 + 0 + es_MX + 100 + 70025 + 100 + + + + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + 2020-11-19 19:25:00.448 + true + 2020-11-19 19:25:00.448 + false + false + false + + + Client/Tenant for this installation. + false + false + false + Client + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70026 + 0 + + 100 + 100 + + 102 + 50238 + 61777 + + 19 + + + + 0 + 76015c58-58a1-41d5-9fdf-a4642da0aab0 + + + + + 7ade3f5d-d3d1-4dba-bc59-41e688b99e84 + true + 2020-11-19 19:25:01.401 + 2020-11-19 19:25:01.401 + Compañía para esta instalación + Compañía o entidad legal. No se pueden compartir datos entre diferentes compañías. + false + Compañía + 0 + 0 + es_MX + 100 + 70026 + 100 + + + + + 2020-11-19 19:25:01.727 + 2020-11-19 19:25:01.727 + false + false + false + + + The record is active in the system + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + false + false + false + Active + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70027 + 0 + + 100 + 100 + + 348 + 50238 + 61779 + + 20 + + + + 0 + 17c90354-5b76-400e-bec2-661fe19f9db0 + true + + + + + 0a06b7a2-552f-4595-800d-9d523a33e158 + false + Activo + 0 + 0 + es_MX + 100 + 70027 + 100 + true + 2020-11-19 19:25:03.106 + 2020-11-19 19:25:03.106 + El registro está activo en el sistema + Hay dos métodos para que los registros no estén disponibles en el sistema: Uno es eliminar el registro; el otro es desactivarlo. Un registro desactivado no está disponible para selección; pero está disponible para Informes + + + + + 2020-11-19 19:25:04.101 + 0 + 0cd10b4a-26cd-4fc1-9817-c46c35ffaa65 + true + 2020-11-19 19:25:04.101 + false + false + false + + + Swift Code or BIC + The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm + false + false + false + Swift code + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70028 + 0 + + 100 + 100 + + 973 + 50238 + 61811 + + 10 + + + + + + + + 91d961bb-e8e7-489c-82cc-da70e4a5b330 + true + 2020-11-19 19:25:05.169 + 2020-11-19 19:25:05.169 + Código Swift + El código SWIFT es un identificador de un banco + true + Código Swift + 0 + 0 + es_MX + 100 + 70028 + 100 + + + + + + 2020-11-19 19:25:05.475 + true + 2020-11-19 19:25:05.475 + false + false + false + + + Over-Payment (unallocated) or Under-Payment (partial payment) Amount + Overpayments (negative) are unallocated amounts and allow you to receive money for more than the particular invoice. +Underpayments (positive) is a partial payment for the invoice. You do not write off the unpaid amount. + false + false + false + Over/Under Payment + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70029 + 0 + + 100 + 100 + 1819 + 50238 + 61590 + + 12 + + + + 0 + 9c9302ef-94f3-45ee-9d19-e107d3920e10 + + + + + a5fe5def-0d0f-4d76-b153-d9e9eef91a4d + true + 2020-11-19 19:25:07.913 + 2020-11-19 19:25:07.913 + Total de sobre pago (no contabilizado) o sub pago (pago parcial) + Sobre pagos (negativos) son totales no contabilizados y permiten recibir dinero por totales superiores a una factura particular. Sub pagos (positivo) es un pago parcial de una factura. No se saca de libros la cantidad no pagada. + true + Totales con sobre/sub pago + 0 + 0 + es_MX + 100 + 70029 + 100 + + + + + 0 + 2020-11-19 19:25:08.211 + true + 2020-11-19 19:25:08.211 + false + false + false + + + ID of document reversal + + false + false + false + Reversal ID + true + true + false + + + + + + + + false + 0 + ECA14 + 70030 + 0 + 343 + 100 + 100 + + 53457 + 50238 + 61566 + + 18 + + + + 0 + 80ca9846-e17a-40df-9994-86e959ca47ad + + + + + e7bf0303-e490-44f4-832f-fca910a83037 + true + 2020-11-19 19:25:09.575 + 2020-11-19 19:25:09.575 + ID del documento de reversión + + true + ID Reversión + 0 + 0 + es_MX + 100 + 70030 + 100 + + + + + 2020-11-19 19:25:10.091 + true + 2020-11-19 19:25:10.091 + false + false + false + + + User who updated this records + The Updated By field indicates the user who updated this record. + false + false + false + Updated By + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70031 + 0 + 110 + 100 + 100 + + 608 + 50238 + 61620 + + 18 + + + + 0 + ebf5f800-c352-451f-b194-134659b4cfd5 + + + + + cd00caad-8add-4d06-83cf-321c1246c8e6 + true + 2020-11-19 19:25:11.614 + 2020-11-19 19:25:11.614 + + + false + Actualizado por + 0 + 0 + es_MX + 100 + 70031 + 100 + + + + + false + 2020-11-19 19:25:11.923 + true + 2020-11-19 19:25:11.923 + false + false + false + + + Indicates if the payment has been allocated + The Allocated checkbox indicates if a payment has been allocated or associated with an invoice or invoices. + false + false + Allocated + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70032 + 0 + + 100 + 100 + + 1508 + 50238 + 61555 + + 20 + + + + 0 + f14f5c16-6a8b-4d66-9cae-342b39b8a8da + + + + + 32454ab5-0032-4368-839d-654c534a4fbe + true + 2020-11-19 19:25:12.963 + 2020-11-19 19:25:12.963 + Indica si el pago ha sido asignado + El cuadro de verificación Asignado indica si el pago ha sido asignado o asociado con una factura o facturas + true + Asignado + 0 + 0 + es_MX + 100 + 70032 + 100 + + + + + false + 2020-11-19 19:25:13.432 + true + 2020-11-19 19:25:13.432 + false + false + + + This address has been verified + The Address Verified indicates if the address has been verified by the Credit Card Company. + false + false + false + Address verified + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70033 + 0 + 213 + 100 + 100 + + 1423 + 50238 + 61573 + + 17 + + + + 0 + dba87aa1-be29-406d-9bdd-2539198c1334 + + + + + 2f0f507b-6be5-4f3c-a493-8b08c77db1c8 + 100 + 70033 + 100 + true + 2020-11-19 19:25:14.703 + 2020-11-19 19:25:14.703 + Esta dirección ha sido devuelta + La dirección verificada indica si la dirección ha sido verificada por la compañía de la tarjeta de crédito + true + Dirección Verificada + 0 + 0 + es_MX + + + + + 2020-11-19 19:25:15.313 + true + 2020-11-19 19:25:15.313 + false + false + false + + + Amount to write-off + The Write Off Amount indicates the amount to be written off as uncollectible. + false + false + false + Write-off Amount + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70034 + 0 + + 100 + 100 + + 1450 + 50238 + 61594 + + 12 + + + + 0 + 1bc1098c-e206-4728-bec9-5236273701dd + + + + + El Total de ajuste indica el total a ser ajustado como incobrable + true + Total del Ajuste + 0 + 0 + es_MX + 100 + 70034 + 100 + 57d29914-9519-4e2e-bb6d-3107a9e8ac64 + true + 2020-11-19 19:25:16.311 + 2020-11-19 19:25:16.311 + Total por ajustar + + + + + 0 + 2020-11-19 19:25:16.681 + true + 2020-11-19 19:25:16.681 + false + false + false + + + The Currency for this record + Indicates the Currency to be used when processing or reporting on this record + false + false + false + Currency + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70035 + 0 + + 100 + 100 + + 193 + 50238 + 61549 + + 19 + + + + 03e6bbd2-3631-42b4-9bb2-5f05f56580a4 + + + + + e159b4df-e695-46d3-87bf-297f9b3eb46d + true + 2020-11-19 19:25:17.722 + 2020-11-19 19:25:17.722 + Moneda para este registro + Indica la moneda a ser usada cuando se procese o Informe este registro + true + Moneda + 0 + 0 + es_MX + 100 + 70035 + 100 + + + + + 50238 + 2020-11-19 19:25:18.078 + true + 2020-11-19 19:25:18.078 + false + false + false + + + Date this record was created + The Created field indicates the date that this record was created. + false + false + false + Created + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70036 + 0 + + 100 + 100 + + 245 + 61548 + + 16 + + + + 0 + 6fe4d142-d1de-4897-a4e0-249669394d50 + + + + + 4a5fa4d1-3bfc-4e49-aeea-905819de6995 + true + 2020-11-19 19:25:19.935 + 2020-11-19 19:25:19.935 + Fecha de creación de este registro + El campo creado indica la fecha en que este registro fue creado + false + Creado + 0 + 0 + es_MX + 100 + 70036 + 100 + + + + + 2020-11-19 19:25:20.281 + ECA14 + 70037 + 0 + 135 + 100 + 100 + + 287 + 50238 + 61550 + + 28 + + + + 0 + 38521e6c-e506-4e39-a964-eb2312fe6fb6 + true + 2020-11-19 19:25:20.281 + false + false + false + + + The targeted status of the document + You find the current status in the Document Status field. The options are listed in a popup + false + false + false + Document Action + true + true + false + + + + + + + + false + 0 + 0 + + + + + a060ce76-ac5b-4176-a6d7-7db6a51ca760 + true + 2020-11-19 19:25:21.743 + 2020-11-19 19:25:21.743 + El estado destino del documento + Usted encuentra el estado actual en el campo Estado del Documento. Las opciones son listadas en una ventana emergente + true + Acción en el Documento + 0 + 0 + es_MX + 100 + 70037 + 100 + + + + + 2020-11-19 19:25:22.086 + true + 2020-11-19 19:25:22.086 + false + false + false + + + Indicates if this document requires approval + The Approved checkbox indicates if this document requires approval before it can be processed. + false + false + false + Approved + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70038 + 0 + + 100 + 100 + + 351 + 50238 + 61546 + + 20 + + + + 0 + 3cee003b-428a-4cdf-93ce-4370064abc2b + + + + + 3dba9adb-dc41-447d-8fde-682dfdeb2f58 + true + 2020-11-19 19:25:23.268 + 2020-11-19 19:25:23.268 + Indica si este documento requiere aprobación + El Cuadro de Verificación Aprobado indica si este documento requiere aprobación antes de que pueda ser procesado + true + Aprobado + 0 + 0 + es_MX + 100 + 70038 + 100 + + + + + false + Receipt + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70039 + 0 + + 100 + 100 + + 1634 + 50238 + 61554 + + 20 + + + + 0 + a80648a5-0524-440b-9d5e-a8f39ca5a1f9 + 2020-11-19 19:25:23.884 + true + 2020-11-19 19:25:23.884 + false + false + false + + + This is a sales transaction (receipt) + + false + false + + + + + f194e1d3-70b0-4371-b0c1-ad975cbab7e8 + true + 2020-11-19 19:25:24.884 + 2020-11-19 19:25:24.884 + Ésta es una transacción de ventas (Cobros) + + true + Cobros + 0 + 0 + es_MX + 100 + 70039 + 100 + + + + + + 2020-11-19 19:25:25.309 + true + 2020-11-19 19:25:25.309 + false + false + false + + Payment is reconciled with bank statement + + false + false + false + Reconciled + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70040 + 0 + + 100 + 100 + + 1105 + 50238 + 61552 + + 20 + + + + 0 + c2de2701-d12e-44ea-a28b-4b303734fe23 + + + + + aecc07ac-7f71-4d14-97ce-bcc5e9c3b3b5 + true + 2020-11-19 19:25:26.427 + 2020-11-19 19:25:26.427 + + + true + Conciliado + 0 + 0 + es_MX + 100 + 70040 + 100 + + + + + 2020-11-19 19:25:26.8 + true + 2020-11-19 19:25:26.8 + false + false + false + + + The document has been processed + The Processed checkbox indicates that a document has been processed. + false + false + false + Processed + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70041 + 0 + + 100 + 100 + + 1047 + 50238 + 61553 + + 20 + + + + 0 + 11b11fb9-5761-4e89-9c59-09229947ada2 + + + + + 067575c4-dc07-4214-8baa-c5885baccf20 + 0 + 0 + es_MX + 100 + 70041 + 100 + true + 2020-11-19 19:25:27.785 + 2020-11-19 19:25:27.785 + El documento ha sido procesado + El cuadro de verificación procesada indica que un documento ha sido procesado + true + Procesado + + + + + 2020-11-19 19:25:28.804 + true + 2020-11-19 19:25:28.804 + false + false + false + + + + + false + false + false + Process Now + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70042 + 0 + + 100 + 100 + + 524 + 50238 + 61547 + + 28 + + + + 0 + dd7bb2e4-413b-4263-b3c0-7a877db410ff + + + + + 15c5e4d7-bbdd-4078-814b-5dfbddcefc65 + 2020-11-19 19:25:29.807 + 2020-11-19 19:25:29.807 + + + true + Procesar Ahora + 0 + 0 + es_MX + 100 + 70042 + 100 + true + + + + + 2020-11-19 19:25:30.156 + true + 2020-11-19 19:25:30.156 + false + false + false + + + Client/Tenant for this installation. + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + false + false + false + Client + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70043 + 0 + + 100 + 100 + + 102 + 50238 + 61558 + + 19 + + + + 0 + 989749db-71b7-4dde-ad65-74c322df492f + + + + + 4fd3aa60-4cdb-4d95-aae6-a3068ca964f4 + true + 2020-11-19 19:25:31.33 + 2020-11-19 19:25:31.33 + Compañía para esta instalación + Compañía o entidad legal. No se pueden compartir datos entre diferentes compañías. + false + Compañía + 0 + 0 + es_MX + 100 + 70043 + 100 + + + + + 2020-11-19 19:25:31.733 + true + 2020-11-19 19:25:31.733 + false + false + false + + + Credit Card Verification code on credit card + The Credit Card Verification indicates the verification code on the credit card (AMEX 4 digits on front; MC,Visa 3 digits back) + false + false + false + Verification Code + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70044 + 0 + + 100 + 100 + + 1393 + 50238 + 61564 + + 10 + + + + 0 + cf83e863-25e1-4af7-afba-dbb12a04b1cd + + + + + 7123a1d1-29c6-4f51-bf19-935ac556d322 + true + 2020-11-19 19:25:33.347 + 2020-11-19 19:25:33.347 + Código de verificación en la tarjeta de crédito + La verificación de la tarjeta de crédito indica el código de verificación en la tarjeta de crédito (AMEX 4 digitos en frente; MC;Visa 3 digitos) + true + Código Verificación + 0 + 0 + es_MX + 100 + 70044 + 100 + + + + + 2020-11-19 19:25:33.922 + + + false + 0 + 0 + ECA14 + 70045 + 0 + 131 + 100 + 100 + + 289 + 50238 + 61559 + + 17 + + + + 0 + 99226393-d5f5-4e94-89bd-2a5038c6d201 + true + 2020-11-19 19:25:33.922 + false + false + false + + + The current status of the document + The Document Status indicates the status of a document at this time. If you want to change the document status, use the Document Action field + false + false + false + Document Status + true + true + false + + + + + + + + + + a3fde097-7e20-4e7e-801e-c43ce075aebe + true + 2020-11-19 19:25:35.023 + 2020-11-19 19:25:35.023 + El estado actual del documento + El estado del documento indica el estado del documento en este momento. Si usted quiere cambiar el estado de Documento; use el campo acción de documento + true + Estado del Documento + 0 + 0 + es_MX + 100 + 70045 + 100 + + + + + 2020-11-19 19:25:35.38 + false + false + false + Active + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70046 + 0 + + 100 + 100 + + 348 + 50238 + 61557 + + 20 + + + + 0 + 370a7ad0-6bb4-4bcb-a030-9c9f79d6fb78 + true + 2020-11-19 19:25:35.38 + false + false + false + + + The record is active in the system + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + + + + bb0eb02a-b897-4b9e-ae1a-3c5931b93310 + true + 2020-11-19 19:25:36.332 + 2020-11-19 19:25:36.332 + El registro está activo en el sistema + Hay dos métodos para que los registros no estén disponibles en el sistema: Uno es eliminar el registro; el otro es desactivarlo. Un registro desactivado no está disponible para selección; pero está disponible para Informes + false + Activo + 0 + 0 + es_MX + 100 + 70046 + 100 + + + + + 2020-11-19 19:25:36.711 + 2020-11-19 19:25:36.711 + false + false + false + + + This is a Self-Service entry or this entry can be changed via Self-Service + Self-Service allows users to enter data or update their data. The flag indicates, that this record was entered or created via Self-Service or that the user can change it via the Self-Service functionality. + false + false + false + Self-Service + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70047 + 0 + + 100 + 100 + + 2063 + 50238 + 61565 + + 20 + + + + 0 + da10c788-91c3-4116-b5c0-f3bfff5b02dd + true + + + + + 1c614cd3-fe51-4a56-aea9-36c40d05bde6 + 0 + 0 + es_MX + 100 + 70047 + 100 + true + 2020-11-19 19:25:37.691 + 2020-11-19 19:25:37.691 + Esta es una entrada del autoservicio o esta entrada se puede cambiar vía autoservicio + El autoservicio permite que los usuarios incorporen datos o que pongan al día sus datos. La bandera indica, que este expediente fue incorporado o creado vía autoservicio o que el usuario puede cambiarlo vía funcionalidad del autoservicio. + true + Auto-Servicio + + + + + 2020-11-19 19:25:38.701 + true + 2020-11-19 19:25:38.701 + false + false + false + + + Posting status + The Posted field indicates the status of the Generation of General Ledger Accounting Lines + false + false + false + Posted + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70048 + 0 + 234 + 100 + 100 + + 1308 + 50238 + 61563 + + 28 + + + + 0 + b3ad854d-eee7-4c21-90e1-4d3478e5a6d8 + + + + + 9b24b7d1-508c-4971-a249-010525989f76 + true + 2020-11-19 19:25:39.726 + 2020-11-19 19:25:39.726 + Las transacciones de contabilidad general han sido procesadas. + El campo contabilizado indica el estado de la generación de las Líneas contables a la contabilidad general. + true + Contabilizado + 0 + 0 + es_MX + 100 + 70048 + 100 + + + + + 2020-11-19 19:25:40.06 + true + 2020-11-19 19:25:40.06 + false + false + false + + + Type of credit card transaction + The Transaction Type indicates the type of transaction to be submitted to the Credit Card Company. + false + false + false + Transaction Type + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70049 + 0 + 215 + 100 + 100 + + 1295 + 50238 + 61568 + + 17 + + + + 0 + 7ad24444-d15d-412d-ab78-e6d6169f2475 + + + + + 5091a911-807a-4b56-a9d9-11f3d3c0912e + true + 2020-11-19 19:25:41.024 + 2020-11-19 19:25:41.024 + Tipo de transacción de la tarjeta de crédito + El tipo de transacción indica el tipo de transacción a ser sometida a la compañía de la tarjeta de crédito. + true + Tipo de Transacción + 0 + 0 + es_MX + 100 + 70049 + 100 + + + + + 2020-11-19 19:25:41.971 + 0 + + 100 + 100 + + 607 + 50238 + 61561 + + 16 + + + + 0 + dc0e0e7e-de66-4153-9982-d2bc03dd68ed + true + 2020-11-19 19:25:41.971 + false + false + false + + + Date this record was updated + The Updated field indicates the date that this record was updated. + false + false + false + Updated + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70050 + + + + + 75fadb3d-8739-4a4d-8262-b2c06cd62ac2 + true + 2020-11-19 19:25:42.979 + 2020-11-19 19:25:42.979 + Permite ver si algún registro en especifico esta actualizado + Permite ver si algún registro en especifico esta actualizado + false + Actualizado + 0 + 0 + es_MX + 100 + 70050 + 100 + + + + + + 2020-11-19 19:25:43.327 + true + 2020-11-19 19:25:43.327 + false + false + false + + + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + false + false + false + Immutable Universally Unique Identifier + true + true + false + + + + + + + false + 0 + 0 + ECA14 + 70051 + 0 + + 100 + 100 + + 59595 + 50238 + 61812 + + 10 + + + + 0 + 57bcbc73-87d3-4065-9d0e-8db2f42b029f + + + + + 07755671-bc49-4218-b3e4-8edc3521f77f + true + 2020-11-19 19:25:44.329 + 2020-11-19 19:25:44.329 + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + false + Immutable Universally Unique Identifier + 0 + 0 + es_MX + 100 + 70051 + 100 + + + + + 2020-11-19 19:25:44.674 + false + false + false + Updated + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70052 + 0 + + 100 + 100 + + 607 + 50238 + 61804 + + 16 + + + + 0 + 83132d54-0f3c-4a80-a047-08d28e7eddcf + true + 2020-11-19 19:25:44.674 + false + false + false + + + Date this record was updated + The Updated field indicates the date that this record was updated. + + + + + b502eca6-e3d1-48a8-a5a3-7a930c745a27 + true + 2020-11-19 19:25:46.152 + 2020-11-19 19:25:46.152 + Permite ver si algún registro en especifico esta actualizado + Permite ver si algún registro en especifico esta actualizado + false + Actualizado + 0 + 0 + es_MX + 100 + 70052 + 100 + + + + + 2020-11-19 19:25:46.677 + false + false + false + + + User who updated this records + The Updated By field indicates the user who updated this record. + false + false + false + Updated By + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70053 + 0 + 110 + 100 + 100 + + 608 + 50238 + 61810 + + 18 + + + + 0 + 929c0db4-5628-4009-8e6b-4bffea2963fe + true + 2020-11-19 19:25:46.677 + + + + + 6277e89f-438c-4d49-bb33-4e2dea7ee33b + 100 + 70053 + 100 + true + 2020-11-19 19:25:47.636 + 2020-11-19 19:25:47.636 + + + false + Actualizado por + 0 + 0 + es_MX + + + + + 2020-11-19 19:25:48.623 + true + 2020-11-19 19:25:48.623 + false + false + false + + + The record is active in the system + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + false + false + false + Active + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70054 + 0 + + 100 + 100 + + 348 + 50238 + 61803 + + 20 + + + + 0 + 16e3aeed-42e6-4338-932c-a03e0173b016 + + + + + 2020-11-19 19:25:50.84 + 4fda9b1f-c49a-4def-aca4-8b120ca9280c + true + 2020-11-19 19:25:50.84 + El registro está activo en el sistema + Hay dos métodos para que los registros no estén disponibles en el sistema: Uno es eliminar el registro; el otro es desactivarlo. Un registro desactivado no está disponible para selección; pero está disponible para Informes + false + Activo + 0 + 0 + es_MX + 100 + 70054 + 100 + + + + + 2020-11-19 19:25:51.212 + + 18 + + + + 0 + d4910a68-ca90-487f-93c7-6546aafbf9f7 + true + 2020-11-19 19:25:51.212 + false + false + false + + + Performing or initiating organization + The organization which performs or initiates this transaction (for another organization). The owning Organization may not be the transaction organization in a service bureau environment, with centralized services, and inter-organization transactions. + false + false + false + Trx Organization + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70055 + 0 + 130 + 100 + 100 + + 112 + 50238 + 61615 + + + + + e2b623bb-ca58-40a3-99f6-cca136ce0b1a + true + 2020-11-19 19:25:52.283 + 2020-11-19 19:25:52.283 + Organización que inicia o ejecuta la transacción + La organización que inicia o ejecuta la transacción (para otra organización). La organización poseedora puede no ser la organización de la transacción en un ambiente de departamento de servicio; con servicios centralizados y transacciones inter- organización. + true + Organización de la Trans. + 0 + 0 + es_MX + 100 + 70055 + 100 + + + + + ECA14 + 70056 + 0 + + 100 + 100 + + 113 + 50238 + 61551 + + 19 + + + + 0 + 0bfc12cd-6e86-4e0f-b57d-2d99da6baa6d + 2020-11-19 19:25:52.658 + true + 2020-11-19 19:25:52.658 + false + false + false + + + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + false + false + false + Organization + true + true + false + + + + + + + + false + 0 + 0 + + + + + b288956e-3ca7-41c1-a29f-defafe54b7aa + true + 2020-11-19 19:25:53.882 + 2020-11-19 19:25:53.882 + Entidad organizacional dentro de la compañía + Una organización es una unidad de la compañía o entidad legal - Ej. Tiendas y departamentos. Es posible compartir datos entre organizaciones. + false + Organización + 0 + 0 + es_MX + 100 + 70056 + 100 + + + + + + 2020-11-19 19:25:54.228 + true + 2020-11-19 19:25:54.228 + false + false + false + + + Authorization Code returned + The Authorization Code indicates the code returned from the electronic transmission. + false + false + false + Authorization Code + true + true + false + + + + + + + false + 0 + 0 + ECA14 + 70057 + 0 + + 100 + 100 + + 1422 + 50238 + 61570 + + 10 + + + + 0 + d9e87c7f-fbe3-4870-b694-c90d5c8d2245 + + + + + 3f9bbd25-8ba8-46cd-81a9-2704b0509175 + true + 2020-11-19 19:25:55.234 + 2020-11-19 19:25:55.234 + Autorización del Código devuelto + El código de autorización indica el código devuelto desde la transmisión electrónica + true + Código de Autorización + 0 + 0 + es_MX + 100 + 70057 + 100 + + + + + 2020-11-19 19:25:56.085 + true + false + Account Name + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70058 + 0 + + 100 + 100 + + 1354 + 50238 + 61572 + + 10 + + + + 0 + 742a9abb-f4a9-4391-a87e-d5f250df5322 + true + 2020-11-19 19:25:56.085 + false + false + false + + + Name on Credit Card or Account holder + The Name of the Credit Card or Account holder. + false + + + + + 22352671-14dd-4a61-a538-5e6e75e6335d + true + 2020-11-19 19:25:57.135 + 2020-11-19 19:25:57.135 + Nombre de la tarjeta de crédito o el poseedor de la cuenta. + El nombre de la tarjeta de crédito o poseedor de la cuenta. + true + Nombre + 0 + 0 + es_MX + 100 + 70058 + 100 + + + + + 2020-11-19 19:25:57.479 + true + 2020-11-19 19:25:57.479 + false + false + false + + + Marketing Campaign + The Campaign defines a unique marketing program. Projects can be associated with a pre defined Marketing Campaign. You can then report based on a specific Campaign. + false + false + false + Campaign + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70059 + 0 + + 100 + 100 + + 550 + 50238 + 61598 + + 19 + + + + 0 + 830ffe60-b832-458d-93f7-959d64d3d423 + + + + + es_MX + 993120ec-f681-4638-b5be-5377e3cc05a7 + true + 2020-11-19 19:25:58.472 + 2020-11-19 19:25:58.472 + Campaña de Mercadeo + La Campaña define un programa de mercadotecnia único. Los proyectos pueden estar asociados con una campaña de mercadotecnia única. Usted puede entonces reportar basado en una campaña específica + true + Campaña + 0 + 0 + 100 + 70059 + 100 + + + + + 2020-11-19 19:25:58.834 + true + 2020-11-19 19:25:58.834 + false + false + false + + + Payment batch for EFT + Electronic Fund Transfer Payment Batch. + false + false + false + Payment Batch + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70060 + 0 + + 100 + 100 + + 1465 + 50238 + 61593 + + 19 + + + + 0 + 786eea0c-3e73-4fe3-bdf7-1c6794ad32a3 + + + + + + 4078e190-5dcd-43bb-8b12-2d4d6be09154 + true + 2020-11-19 19:25:59.829 + 2020-11-19 19:25:59.829 + + true + Lote de Pagos + 0 + 0 + es_MX + 100 + 70060 + 100 + + + + + 2020-11-19 19:26:00.188 + 0 + 5c6daddc-d2c7-4b0b-941a-b2e69fbc2cdd + true + 2020-11-19 19:26:00.188 + false + false + false + + + Financial Project + A Project allows you to track and control internal or external activities. + false + false + false + Project + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70061 + 0 + + 100 + 100 + + 208 + 50238 + 61597 + + 19 + + + + + + + + 34747d1b-4816-4c04-921d-44c11ded9e05 + true + 2020-11-19 19:26:01.187 + 2020-11-19 19:26:01.187 + Proyecto Financiero + Un proyecto permite hacer un seguimiento y control interno + true + Proyecto + 0 + 0 + es_MX + 100 + 70061 + 100 + + + + + 2020-11-19 19:26:01.547 + 50238 + 61596 + + 12 + + + + 0 + 12b5fefe-7ac4-4b30-b7d4-066e2b7f7f2b + true + 2020-11-19 19:26:01.547 + false + false + false + + + Calculated amount of discount + The Discount Amount indicates the discount amount for a document or line. + false + false + false + Discount Amount + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70062 + 0 + + 100 + 100 + + 1395 + + + + + 00cd1424-a106-417c-906a-9f9db223e16e + true + 2020-11-19 19:26:02.845 + 2020-11-19 19:26:02.845 + Total descuento calculado + El Total descuento indica el total de descuento para un documento o línea + true + Total Descuento + 0 + 0 + es_MX + 100 + 70062 + 100 + + + + + ECA14 + 2020-11-19 19:26:03.198 + true + 2020-11-19 19:26:03.198 + false + false + false + + + Can be accessed online + The Online Access check box indicates if the application can be accessed via the web. + false + false + false + Online Access + true + true + false + + + + + + + + false + 0 + 0 + 70063 + 0 + + 100 + 100 + + 1401 + 50238 + 61571 + + 20 + + + + 0 + be9d6e53-1259-46c6-af3c-c6d4291c03da + + + + + 54f6ed52-b394-4ab6-8920-667cc69e9d2a + true + 2020-11-19 19:26:05.847 + 2020-11-19 19:26:05.847 + Puede ser accedido en línea + El cuadro de verificación Acceso en Línea indica si la aplicación puede ser accedida vía Web + true + Acceso en Línea + 0 + 0 + es_MX + 100 + 70063 + 100 + + + + + + 2020-11-19 19:26:06.256 + true + 2020-11-19 19:26:06.256 + false + false + false + + + Over-Payment (unallocated) or Under-Payment (partial payment) + Overpayments (negative) are unallocated amounts and allow you to receive money for more than the particular invoice. +Underpayments (positive) is a partial payment for the invoice. You do not write off the unpaid amount. + false + false + false + Over/Under Payment + true + true + false + + + + + + + false + 0 + 0 + ECA14 + 70064 + 0 + + 100 + 100 + + 1818 + 50238 + 61577 + + 20 + + + + 0 + 1b6ee939-1a70-4ddb-b4d7-cc088ba00a22 + + + + + 4d541887-5ab3-45fb-8d89-fa484db9f2fe + true + 2020-11-19 19:26:07.376 + 2020-11-19 19:26:07.376 + Sobre pago (no contabilizado) o sub pago (pago parcial) + Sobre pagos (negativos) son totales no contabilizados y permiten recibir dinero por totales superiores a una factura particular. Sub pagos (positivo) es un pago parcial de una factura. No se saca de libros la cantidad no pagada. + true + Sobre/sub pago + 0 + 0 + es_MX + 100 + 70064 + 100 + + + + + 2020-11-19 19:26:07.901 + The Micr number is the combination of the bank routing number, account number and check number + false + false + false + Micr + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70065 + 0 + + 100 + 100 + + 1407 + 50238 + 61581 + + 10 + + + + 0 + 2e0436e9-46e8-405f-8405-02c05dac3038 + true + 2020-11-19 19:26:07.901 + false + false + false + + + Combination of routing no, account and check no + + + + + 958c6edb-0009-4ebc-96a8-2ac63914552a + true + 2020-11-19 19:26:09.014 + 2020-11-19 19:26:09.014 + Combinación de No. de Sucursal; Cta. y Cheque + El número Micr es la combinación del número de sucursal del banco; número de cuenta y número de cheque. + true + Sucursal; Cta.; No. Cheque + 0 + 0 + es_MX + 100 + 70065 + 100 + + + + + true + 2020-11-19 19:26:09.454 + 2020-11-19 19:26:09.454 + false + false + false + + + Original Transaction ID + The Original Transaction ID is used for reversing transactions and indicates the transaction that has been reversed. + false + false + false + Original Transaction ID + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70066 + 0 + + 100 + 100 + + 1409 + 50238 + 61575 + + 10 + + + + 0 + 05a52f5c-e3d7-441d-bf9d-ac5a92176a21 + + + + + es_MX + 5c01e101-79a2-4404-a329-4bb3b8eb1403 + true + 2020-11-19 19:26:10.5 + 2020-11-19 19:26:10.5 + ID de la transacción original + La ID de la transacción original se usa para restaurar transacciones e indica la transacción a ser restaurada. + true + ID de la Transacción Original + 0 + 0 + 100 + 70066 + 100 + + + + + 2020-11-19 19:26:11.531 + true + 2020-11-19 19:26:11.531 + false + false + false + + + Purchase Order Number + The PO Number indicates the number assigned to a purchase order + false + false + false + PO Number + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70067 + 0 + + 100 + 100 + + 1415 + 50238 + 61582 + + 10 + + + + 0 + 14a1a649-f280-4366-9d30-c1ad993faaed + + + + + 2020-11-19 19:26:12.625 + Número de Orden de Compra + bdd42701-5d15-4f6f-9c81-d48458d3f19b + true + 2020-11-19 19:26:12.625 + El Número de OC indica el número asignado a una orden de compras + true + Número de OC + 0 + 0 + es_MX + 100 + 70067 + 100 + + + + + 2020-11-19 19:26:13.005 + true + 2020-11-19 19:26:13.005 + false + false + true + C + + Bank Type define a type of bank or behavior + + false + false + false + Bank Type + true + true + false + + + 1=1 + + + + + false + 0 + 0 + ECA14 + 70068 + 0 + 53978 + 100 + 100 + + 59655 + 50238 + 61813 + + 17 + + + + 0 + 0030eb2e-0ca6-4444-a338-192f0f3b9969 + + + + + f3d7383c-e9af-4668-bd0f-12a21addeffa + true + 2020-11-19 19:26:14.082 + 2020-11-19 19:26:14.082 + Define el tipo de banco y su comportamiento + + false + Tipo de Banco + 0 + 0 + es_MX + 100 + 70068 + 100 + + + + + + 2020-11-19 19:26:14.425 + true + 2020-11-19 19:26:14.425 + false + false + false + + + The Zip Code has been verified + The Zip Verified indicates if the zip code has been verified by the Credit Card Company. + false + false + false + Zip verified + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70069 + 0 + 213 + 100 + 100 + 1424 + 50238 + 61579 + + 17 + + + + 0 + 14643ec7-b25f-40e0-8ee8-428d88f33bc4 + + + + + 9610c91f-3521-43fa-b1c3-c16f45790aa4 + true + 2020-11-19 19:26:15.475 + 2020-11-19 19:26:15.475 + El Código Postal ha sido verificado + El Zip Verificado indica si el código postal ha sido verificado por la compañía de la tarjeta de crédito + true + Código Postal Verificado + 0 + 0 + es_MX + 100 + 70069 + 100 + + + + + 2020-11-19 19:26:16.472 + 0 + 0 + ECA14 + 70070 + 0 + + 100 + 100 + + 1426 + 50238 + 61583 + + 10 + + + + 0 + 02fbeca3-f1db-4e50-9017-e8b162957a90 + true + 2020-11-19 19:26:16.472 + false + false + false + + + Payment reference + The Payment Reference indicates the reference returned from the Credit Card Company for a payment + false + false + false + Reference + true + true + false + + + + + + + + false + + + + + 8649f764-8720-4c38-9ef3-740b8d6cf1bc + true + 2020-11-19 19:26:19.072 + 2020-11-19 19:26:19.072 + Referencia del pago + La Referencia de Pago indica la referencia devuelta de la compañía de la tarjeta de crédito para un pago + true + Referencia + 0 + 0 + es_MX + 100 + 70070 + 100 + + + + + 2020-11-19 19:26:19.482 + true + 2020-11-19 19:26:19.482 + false + false + false + + + Response message + The Response Message indicates the message returned from the Credit Card Company as the result of a transmission + false + false + false + Response Message + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70071 + 0 + + 100 + 100 + + 1427 + 50238 + 61574 + + 10 + + + + 0 + ea6459d3-d88d-4aea-b160-e29e7d5df743 + + + + + 44db070c-4637-4b5c-87a9-5acd3edc9924 + true + 2020-11-19 19:26:20.498 + 2020-11-19 19:26:20.498 + Mensaje de respuesta. + El mensaje de respuesta indica el mensaje devuelto desde la compañía de la tarjeta de crédito como resultado de una transmisión. + true + Mensaje + 0 + 0 + es_MX + 100 + 70071 + 100 + + + + + 2020-11-19 19:26:20.839 + The Bank Routing Number (ABA Number) identifies a legal Bank. It is used in routing checks and electronic transactions. + false + false + false + Routing No + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70072 + 0 + + 100 + 100 + + 964 + 50238 + 61591 + + 10 + + + + 0 + d99982ae-8525-42ac-94c8-8cec714b3d60 + true + 2020-11-19 19:26:20.839 + false + false + false + + + Bank Routing Number + + + + + c352efa8-1791-42e1-a7d7-ae54b7c5b488 + true + 2020-11-19 19:26:21.898 + 2020-11-19 19:26:21.898 + Número de sucursal bancaria + El número de ruta del banco (Número ABA) identifica un banco legal. Se usa en ruteo de cheques y transacciones electrónicas. + true + No. de Ruta + 0 + 0 + es_MX + 100 + 70072 + 100 + + + + + 2020-11-19 19:26:22.259 + true + 2020-11-19 19:26:22.259 + false + false + false + + + Tax Amount for a document + The Tax Amount displays the total tax amount for a document. + false + false + false + Tax Amount + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70073 + 0 + + 100 + 100 + + 1133 + 50238 + 61584 + + 12 + + + + 0 + b3d0052d-b1db-4c93-8060-38e2ad7f5eda + + + + + 9a958841-c74d-446b-ac43-c3780c624540 + es_MX + 100 + 70073 + 100 + true + 2020-11-19 19:26:23.281 + 2020-11-19 19:26:23.281 + Total del impuesto para un documento + El Total de Impuesto despliega el total de impuesto para un documento + true + Total del Impuesto + 0 + 0 + + + + + 2020-11-19 19:26:23.643 + true + 2020-11-19 19:26:23.643 + false + false + false + + + User defined list element #1 + The user defined element displays the optional elements that have been defined for this account combination. + false + false + false + User List 1 + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70074 + 0 + 134 + 100 + 100 + + 613 + 50238 + 61595 + + 18 + + + + 0 + 588d33f0-ff43-4c46-82c9-f4b0a2f7eaa2 + + + + + El usuario definió el elemento # 1 + El elemento definido por el usuario despliega los elementos opcionales que han sido definidos para esta combinación de cuentas. + true + Usuario 1 + 0 + 0 + es_MX + 100 + 70074 + 100 + e28fdff1-aa55-4bba-9970-e7b3d5a3f7a1 + true + 2020-11-19 19:26:25.455 + 2020-11-19 19:26:25.455 + + + + + 2020-11-19 19:26:25.827 + + + 0 + 73e0d176-a91d-409f-91c3-f01599ae7ee1 + true + 2020-11-19 19:26:25.827 + false + false + false + + + Voice Authorization Code from credit card company + The Voice Authorization Code indicates the code received from the Credit Card Company. + false + false + false + Voice authorization code + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70075 + 0 + + 100 + 100 + + 1445 + 50238 + 61587 + + 10 + + + + + + fec3c987-392b-417b-844f-db1b4d8d742f + true + 2020-11-19 19:26:26.997 + 2020-11-19 19:26:26.997 + Código de Autorización de voz de la compañía de la tarjeta de crédito + El Código de Autorización de Voz indica el código recibido de la compañía de la tarjeta de crédito + true + Código de Autorización de voz + 0 + 0 + es_MX + 100 + 70075 + 100 + + + + + 2020-11-19 19:26:27.35 + 100 + + 1353 + 50238 + 61613 + + 10 + + + + 0 + 536b31e9-dec8-4b80-a6f7-e2d48ce1e3ce + true + 2020-11-19 19:26:27.35 + false + false + false + + + Payment Identification - Social Security No + The Social Security number being used as identification. + false + false + false + Social Security No + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70076 + 0 + + 100 + + + + + 277bd863-146a-43c5-af14-b611685ee19f + true + 2020-11-19 19:26:28.418 + 2020-11-19 19:26:28.418 + Identificación de pago - No. del seguro social. + El número de seguro social que se usará como identificación. + true + No. Seguro Social + 0 + 0 + es_MX + 100 + 70076 + 100 + + + + + false + 0 + 0 + ECA14 + 70077 + 0 + + 100 + 100 + + 1355 + 50238 + 61614 + + 10 + + + + 0 + af7ecbec-0de4-4698-b357-5bf697c40abd + 2020-11-19 19:26:28.794 + true + 2020-11-19 19:26:28.794 + false + false + false + + + State of the Credit Card or Account holder + The State of the Credit Card or Account holder + false + false + false + Account State + true + true + false + + + + + + + + + + + + fe843941-987f-4522-a4c8-d5e514221236 + true + 2020-11-19 19:26:29.819 + 2020-11-19 19:26:29.819 + Estado de la tarjeta de crédito o el poseedor de la cuenta + El estado de la tarjeta de crédito o poseedor de la cuenta + true + Estado + 0 + 0 + es_MX + 100 + 70077 + 100 + + + + + false + 2020-11-19 19:26:30.178 + true + 2020-11-19 19:26:30.178 + false + false + false + + + Street address of the Credit Card or Account holder + The Street Address of the Credit Card or Account holder. + false + false + false + Account Street + true + true + + + + + + + + false + 0 + 0 + ECA14 + 70078 + 0 + + 100 + 100 + + 1356 + 50238 + 61611 + + 10 + + + + 0 + 59335bb7-eb66-4ba8-b80c-7854813d5e0e + + + + + a33a0405-8eee-42a3-a719-11200016ee39 + true + 2020-11-19 19:26:31.25 + 2020-11-19 19:26:31.25 + Dirección de la Tarjeta de Crédito o el Poseedor de la cuenta + La Dirección de la Calle de la Tarjeta de Crédito o poseedor de la cuenta + true + Dirección + 0 + 0 + es_MX + 100 + 70078 + 100 + + + + + The Account Number indicates the Number assigned to this bank account. + 2020-11-19 19:26:31.635 + true + 2020-11-19 19:26:31.635 + false + false + false + + + Account Number + false + false + false + Account No + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70079 + 0 + + 100 + 100 + + 840 + 50238 + 61603 + + 10 + + + + 0 + a7420379-e7a6-4dd6-a161-2e7ef22953e1 + + + + + 739d891c-0033-4224-8cbe-4cfec23b20e6 + true + 2020-11-19 19:26:33.284 + 2020-11-19 19:26:33.284 + Número de cuenta + El número de cuenta indica el número asignado a esta cuenta. + true + No. De Cuenta + 0 + 0 + es_MX + 100 + 70079 + 100 + + + + + 2020-11-19 19:26:33.663 + false + false + false + + + Charge Amount + The Charge Amount indicates the amount for an additional charge. + false + false + false + Charge amount + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70080 + 0 + + 100 + 100 + + 849 + 50238 + 61601 + + 12 + + + + 0 + a70c6723-dee1-4925-9804-07aa1e1edc7f + 2020-11-19 19:26:33.663 + true + + + + + 3e6aed82-7b23-4e0b-9ed9-48b6673e1ff1 + true + 2020-11-19 19:26:36.278 + 2020-11-19 19:26:36.278 + Total del Cargo + El Total Cargo indica el total para un cargo adicional + true + Total de Cargo + 0 + 0 + es_MX + 100 + 70080 + 100 + + + + + 2020-11-19 19:26:36.688 + true + 2020-11-19 19:26:36.688 + false + false + false + + + Expiry Month + The Expiry Month indicates the expiry month for this credit card. + false + false + false + Exp. Month + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70081 + 0 + + 100 + 100 + + 1084 + 50238 + 61617 + + 11 + + + + 0 + 161cd3f6-9312-4993-9d63-aee198793a78 + + + + + 62839d6e-1f50-48a9-8f24-3637ec65f214 + Mes de expiración + El mes de expiración indica el mes de expiración para esta tarjeta de crédito + true + Mes de Expiración + 0 + 0 + es_MX + 100 + 70081 + 100 + true + 2020-11-19 19:26:38.775 + 2020-11-19 19:26:38.775 + + + + + 2020-11-19 19:26:39.125 + true + 2020-11-19 19:26:39.125 + false + false + false + + + Credit Card Number + The Credit Card number indicates the number on the credit card, without blanks or spaces. + false + false + false + Number + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70082 + 0 + + 100 + 100 + + 249 + 50238 + 61610 + + 10 + + + + 0 + 2da68f11-24e4-45ef-bb18-58f4e441a17e + + + + + 238bbfb8-2baf-441e-bdac-bfbf322744e0 + true + 2020-11-19 19:26:40.486 + 2020-11-19 19:26:40.486 + Número de tarjeta de crédito + El número de tarjeta de crédito indica el número sin espacios en blancos. + true + Número + 0 + 0 + es_MX + 100 + 70082 + 100 + + + + + + 2020-11-19 19:26:40.821 + true + 2020-11-19 19:26:40.821 + false + false + false + + + Charge after Shipment + Delayed Capture is required, if you ship products. The first credit card transaction is the Authorization, the second is the actual transaction after the shipment of the product. + false + false + false + Delayed Capture + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70083 + 0 + + 100 + 100 + 2107 + 50238 + 61624 + + 20 + + + + 0 + f481dbd0-7076-4198-a78f-f5909072e8d6 + + + + + 7ba43331-b67c-49f9-929b-444f57e420c4 + true + 2020-11-19 19:26:42.565 + 2020-11-19 19:26:42.565 + Cargo despues del envio + Se requiere la captura retrasada, si usted envía productos. La primera transacción de la tarjeta de crédito es la autorización, el segundo es la transacción real después del envío del producto. + true + Captura Retardada + 0 + 0 + es_MX + 100 + 70083 + 100 + + + + + false + 2020-11-19 19:26:42.928 + true + 2020-11-19 19:26:42.928 + false + false + false + + + The Payment/Receipt is a Prepayment + Payments not allocated to an invoice with a charge are posted to Unallocated Payments. When setting this flag, the payment is posted to the Customer or Vendor Prepayment account. + false + false + false + Prepayment + true + true + false + + + + + + + + 0 + 0 + ECA14 + 70084 + 0 + + 100 + 100 + + 2663 + 50238 + 61604 + + 20 + + + + 0 + 04ca187f-a6ec-47ba-a2dc-76d1e277c9b4 + + + + + e1046987-e72f-412e-bd3a-44bc84e15b18 + true + 2020-11-19 19:26:45.112 + 2020-11-19 19:26:45.112 + El Pago/Recibo es un anticipo. + Los pagos no asignados a una factura se fijan con una carga para la asignación de pago. Al fijar esta asignación el pago se fija a la cuenta de pago adelantado del cliente o del proveedor. + true + Anticipo + 0 + 0 + es_MX + 100 + 70084 + 100 + + + + + false + 2020-11-19 19:26:45.532 + true + 2020-11-19 19:26:45.532 + false + false + false + + + This payment can be processed online + The Online Processing indicates if the payment can be processed online. + false + false + false + Online Processing + true + true + + + + + + + + false + 0 + 0 + ECA14 + 70085 + 0 + + 100 + 100 + + 1497 + 50238 + 61608 + + 28 + + + + 0 + a7c5d4d4-3b7d-45a6-90cd-6818423a39d9 + + + + + df2db2b2-e3e9-419b-abf2-653e0a45679f + true + 2020-11-19 19:26:48.033 + 2020-11-19 19:26:48.033 + Este pago puede ser procesado en línea. + El proceso en línea indica si el pago puede ser procesado en línea. + true + Proceso en Línea + 0 + 0 + es_MX + 100 + 70085 + 100 + + + + + 2020-11-19 19:26:48.463 + The Authorization Code indicates the code returned from the electronic transmission. + false + false + false + Authorization Code (DC) + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70086 + 0 + + 100 + 100 + + 2119 + 50238 + 61619 + + 10 + + + + 0 + 9b53c93a-aff3-4a10-8777-e256131d3525 + true + 2020-11-19 19:26:48.463 + false + false + false + + + Authorization Code Delayed Capture returned + + + + + 09d468d4-5c7b-442e-8ac8-c51b460a5274 + true + 2020-11-19 19:26:49.51 + 2020-11-19 19:26:49.51 + Codigo de autorización de retrasó captura la vuelta + El código de la autorización indica el código vuelto de la transmisión electrónica. + true + Codigo de Autorización (DC) + 0 + 0 + es_MX + 100 + 70086 + 100 + + + + + true + 2020-11-19 19:26:49.857 + 2020-11-19 19:26:49.857 + false + false + false + + + Credit Card Verification Code Match + The Credit Card Verification Code was matched + false + false + false + CVV Match + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70087 + 0 + + 100 + 100 + + 2120 + 50238 + 61618 + + 20 + + + + 0 + ffae5144-5293-4325-92eb-b5600b72fb61 + + + + + ec67794f-5c9a-47cd-aa9f-c7c858a77a49 + es_MX + 100 + 70087 + 100 + true + 2020-11-19 19:26:51.574 + 2020-11-19 19:26:51.574 + Verificación del código matemático de la tarjeta de crédito + El código de verificación de la tarjeta de crédito fue verificado + true + Cotejo VCM + 0 + 0 + + + + + 2020-11-19 19:26:51.953 + true + 2020-11-19 19:26:51.953 + false + false + false + + + Response info + The Info indicates any response information returned from the Credit Card Company. + false + false + false + Info + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70088 + 0 + + 100 + 100 + + 1425 + 50238 + 61607 + + 10 + + + + 0 + a944e1ce-40e1-431f-9790-960bb6f3f9de + + + + + b7c0734e-d7e5-4cd1-a2e9-f91d2c986cdc + true + 2020-11-19 19:26:53.547 + 2020-11-19 19:26:53.547 + Respuesta info + La Info indica cualquier información de respuesta de la compañía de la tarjeta de crédito. + true + Información + 0 + 0 + es_MX + 100 + 70088 + 100 + + + + + + 2020-11-19 19:26:53.975 + true + 2020-11-19 19:26:53.975 + false + false + false + + + Payment Reference Delayed Capture + The Payment Reference indicates the reference returned from the Credit Card Company for a payment + false + false + false + Reference (DC) + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70089 + 0 + + 100 + 100 + + 2121 + 50238 + 61626 + + 10 + + + 0 + bcba7173-0d0b-4aaa-a152-6cfa4636d05f + + + + + 464434b7-40f4-4282-9d80-d58168b84204 + true + 2020-11-19 19:26:55.251 + 2020-11-19 19:26:55.251 + Captura de referencia (Pago Retrasado). + El pago de referencia indica la referencia retrasada para la tarjeta de credito de un pago de la Compañía. + true + Referencia (RD) + 0 + 0 + es_MX + 100 + 70089 + 100 + + + + + 2020-11-19 19:26:55.782 + true + 100 + + 1428 + 50238 + 61609 + + 10 + + + + 0 + cfc4fd49-9cc9-4183-a69c-01658e3b3c5a + 2020-11-19 19:26:55.782 + false + false + false + + + Result of transmission + The Response Result indicates the result of the transmission to the Credit Card Company. + false + false + false + Result + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70090 + 0 + + 100 + + + + + 355de877-b00d-4f82-97de-37c91000c370 + true + 2020-11-19 19:26:56.917 + 2020-11-19 19:26:56.917 + Resultado de la transmisión + El resultado de la respuesta indica el resultado de la transmisión a la compañía de la tarjeta de crédito. + true + Resultado + 0 + 0 + es_MX + 100 + 70090 + 100 + + + + + 2020-11-19 19:26:57.688 + true + 2020-11-19 19:26:57.688 + false + false + false + + + + + false + false + false + Referenced Payment + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70091 + 0 + 343 + 100 + 100 + + 2753 + 50238 + 61605 + + 18 + + + + 0 + 6ef3381d-0954-4a91-9979-8341c754978f + + + + + 84bd5fbd-4597-49a2-a34e-91d13994acc2 + true + 2020-11-19 19:26:58.848 + 2020-11-19 19:26:58.848 + + + true + Pago Referido + 0 + 0 + es_MX + 100 + 70091 + 100 + + + + + + 2020-11-19 19:26:59.199 + true + 2020-11-19 19:26:59.199 + false + false + false + + + Track 1 and 2 of the Credit Card + Swiped information for Credit Card Presence Transactions + false + false + false + Swipe + true + true + false + + + + + + + false + 0 + 0 + ECA14 + 70092 + 0 + + 100 + 100 + + 2125 + 50238 + 61627 + + 10 + + + + 0 + 8ec934d8-1eaf-4fb2-b1b2-b420fe269f19 + + + + + f3d4c210-8651-4a35-a62d-e49a237bd14c + true + 2020-11-19 19:27:00.394 + 2020-11-19 19:27:00.394 + Track 1 and 2 of the Credit Card + Swiped information for Credit Card Presence Transactions + false + Swipe + 0 + 0 + es_MX + 100 + 70092 + 100 + + + + + 2020-11-19 19:27:00.851 + false + false + false + User List 2 + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70093 + 0 + 137 + 100 + 100 + + 614 + 50238 + 61622 + + 18 + + + + 0 + 160c9d1b-27c0-4414-921d-d70d6fb8f15a + true + 2020-11-19 19:27:00.851 + false + false + false + + + User defined list element #2 + The user defined element displays the optional elements that have been defined for this account combination. + + + + + ee3df158-01aa-4f09-b985-f36014e9b64e + true + 2020-11-19 19:27:02.135 + 2020-11-19 19:27:02.135 + El usuario definió el elemento # 2 + El elemento definido por el usuario despliega los elementos opcionales que han sido definidos para esta combinación de cuentas. + true + Usuario 2 + 0 + 0 + es_MX + 100 + 70093 + 100 + + + + + 2020-11-19 19:27:02.504 + false + false + false + + + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + false + false + false + Organization + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70094 + 0 + + 100 + 100 + + 113 + 50238 + 61781 + + 19 + + + + 0 + 8891c75a-ee32-4aed-8ee3-a02e2c4b76c9 + true + 2020-11-19 19:27:02.504 + + + + + es_MX + 100 + 70094 + 100 + f4764d84-45bf-4254-8b8c-b9fd53c6d32f + true + 2020-11-19 19:27:04.685 + 2020-11-19 19:27:04.685 + Entidad organizacional dentro de la compañía + Una organización es una unidad de la compañía o entidad legal - Ej. Tiendas y departamentos. Es posible compartir datos entre organizaciones. + false + Organización + 0 + 0 + + + + + 2020-11-19 19:27:05.02 + true + 2020-11-19 19:27:05.02 + false + false + false + + + Account Number + The Account Number indicates the Number assigned to this bank account. + false + true + false + Account No + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70095 + 0 + + 100 + 100 + + 840 + 50238 + 61785 + + 10 + + + + 0 + b1b7f104-31c2-4cb4-9c4b-679a0bb0b25b + + + + + Número de cuenta + dd0011b7-c509-4be0-8357-bf7d5fb89669 + true + 2020-11-19 19:27:06.194 + 2020-11-19 19:27:06.194 + El número de cuenta indica el número asignado a esta cuenta. + true + No. De Cuenta + 0 + 0 + es_MX + 100 + 70095 + 100 + + + + + 2020-11-19 19:27:06.564 + true + + 0 + d2112a7b-01f6-4f31-92c5-9acfc2efe1ee + 2020-11-19 19:27:06.564 + false + false + false + + + Basic Bank Account Number + The Basic (or Domestic) Bank Account Number is used in Bank transfers (see also IBAN). For details see ISO 13616 and http://www.ecbs.org/ + false + false + false + BBAN + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70096 + 0 + + 100 + 100 + + 2684 + 50238 + 61790 + + 10 + + + + + + + 480a1ac0-b2b0-4f40-a5a9-dba57c2ed0a9 + true + 2020-11-19 19:27:08.816 + 2020-11-19 19:27:08.816 + Número de Cuenta Bancaria Básica + El Número de Cuenta Básica (ó Domestica) usada para transferencias (Ver también NCBB) para mayores detalles 13616 y http://www.ecbs.org/. + true + NCBB + 0 + 0 + es_MX + 100 + 70096 + 100 + + + + + + 2020-11-19 19:27:09.557 + true + 2020-11-19 19:27:09.557 + false + false + false + + + Account at the Bank + The Bank Account identifies an account at this Bank. + false + false + false + Bank Account + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70097 + 0 + + 100 + 100 + 836 + 50238 + 61782 + + 13 + + + + 0 + 1bae85ed-f86f-4a73-95df-e4126ea6ce80 + + + + + f19ef403-bb95-470b-8cb9-42d95dee7a28 + true + 2020-11-19 19:27:10.627 + 2020-11-19 19:27:10.627 + Cuenta bancaria + La cuenta bancaria identifica una cuenta en este banco + true + Cuenta Bancaria + 0 + 0 + es_MX + 100 + 70097 + 100 + + + + + 0 + 2020-11-19 19:27:10.995 + true + 2020-11-19 19:27:10.995 + false + false + false + + + Date this record was created + The Created field indicates the date that this record was created. + false + false + false + Created + true + true + false + + + + + + + + false + 0 + ECA14 + 70098 + 0 + + 100 + 100 + + 245 + 50238 + 61778 + + 16 + + + + 0 + c987a90d-02b2-4112-a35e-ff5761a8d5cf + + + + + b3773f5d-78e9-432b-9514-294d030a18b4 + true + 2020-11-19 19:27:12.103 + 2020-11-19 19:27:12.103 + Fecha de creación de este registro + El campo creado indica la fecha en que este registro fue creado + false + Creado + 0 + 0 + es_MX + 100 + 70098 + 100 + + + + + + 2020-11-19 19:27:12.475 + true + 2020-11-19 19:27:12.475 + false + false + false + + + Amount of Credit allowed + The Credit Limit field indicates the credit limit for this account. + false + false + false + Credit limit + true + true + false + + + + + + + false + 0 + 0 + ECA14 + 70099 + 0 + + 100 + 100 + + 855 + 50238 + 61789 + + 22 + + + + 0 + b5235806-8a75-4435-af73-dd888c350d29 + + + + + c219cf43-1883-4f7d-a162-b88c3dc6ded6 + true + 2020-11-19 19:27:14.023 + 2020-11-19 19:27:14.023 + Total de crédito permitido + Indica el límite de crédito para esta cuenta. + true + Límite de Crédito + 0 + 0 + es_MX + 100 + 70099 + 100 + + + + + 2020-11-19 19:27:14.803 + false + Current balance + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70100 + 0 + + 100 + 100 + + 858 + 50238 + 61792 + + 22 + + + + 0 + 06d9bddb-6c04-405f-baee-b61e6deba63a + true + 2020-11-19 19:27:14.803 + false + false + false + + + Current Balance + The Current Balance field indicates the current balance in this account. + false + false + + + + + 5bb88a0f-3227-48ee-8fcf-848877ace22c + true + 2020-11-19 19:27:16.347 + 2020-11-19 19:27:16.347 + Saldo Actual + El campo Saldo Actual indica el saldo actual en esta cuenta + true + Saldo Actual + 0 + 0 + es_MX + 100 + 70100 + 100 + + + + + false + 2020-11-19 19:27:16.742 + true + 2020-11-19 19:27:16.742 + false + false + + + International Bank Account Number + If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in Adempiere. + false + false + false + IBAN + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70101 + 0 + + 100 + 100 + + 2664 + 50238 + 61791 + + 10 + + + + 0 + ae3d5a68-5ca6-46fd-ba87-32f5847b9412 + + + + + d7f8ed08-74d2-48d8-baeb-b213365b5e77 + es_MX + 100 + 70101 + 100 + true + 2020-11-19 19:27:18.437 + 2020-11-19 19:27:18.437 + Número Internacional de la Cuenta Bancaria + Si su banco proporciona un número internacional de la cuenta bancaria, incorpórelo aquí detallamente ISO 13616 y http://www.ecbs.org. El número de cuenta tiene la longitud máxima de 22 caracteres (sin espacios). El IBAN se imprime a menudo con un espacio después de 4 caracteres. No incorpore los espacios a Adempiere. + true + IBAN + 0 + 0 + + + + + 2020-11-19 19:27:18.894 + true + 2020-11-19 19:27:18.894 + false + false + false + + + Default value + The Default Checkbox indicates if this record will be used as a default value. + false + false + false + Default + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70102 + 0 + + 100 + 100 + + 1103 + 50238 + 61786 + + 20 + + + + 0 + 37750eed-0a43-45d7-9a28-b747b400a8b9 + + + + + 0ad1d1fe-56dc-4682-a51b-97942daecaea + 2020-11-19 19:27:20.079 + Valor Predeterminado + El cuadro de verificación indica si este registro será usado como un valor predeterminado + true + Predeterminado + 0 + 0 + es_MX + 100 + 70102 + 100 + true + 2020-11-19 19:27:20.079 + + + + + + + 0 + 6b8d9ca8-692a-4dd7-8641-ad7214c243b6 + 2020-11-19 19:27:20.446 + true + 2020-11-19 19:27:20.446 + false + false + false + + + Date this record was updated + The Updated field indicates the date that this record was updated. + false + false + false + Updated + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70103 + 0 + + 100 + 100 + + 607 + 50238 + 61780 + + 16 + + + + + + bcebde7d-1d63-4979-a0f0-a237fc637417 + true + 2020-11-19 19:27:21.54 + 2020-11-19 19:27:21.54 + Permite ver si algún registro en especifico esta actualizado + Permite ver si algún registro en especifico esta actualizado + false + Actualizado + 0 + 0 + es_MX + 100 + 70103 + 100 + + + + + 2020-11-19 19:27:22.15 + 100 + + 608 + 50238 + 61793 + + 18 + + + + 0 + bf746853-dd24-4aba-8686-68e038b151b8 + true + 2020-11-19 19:27:22.15 + false + false + false + + + User who updated this records + The Updated By field indicates the user who updated this record. + false + false + false + Updated By + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70104 + 0 + 110 + 100 + + + + + 903d82d3-508b-4c9e-8273-71e4f60c0d44 + true + 2020-11-19 19:27:23.325 + 2020-11-19 19:27:23.325 + + + false + Actualizado por + 0 + 0 + es_MX + 100 + 70104 + 100 + + + + + 2020-11-19 19:27:23.717 + true + 2020-11-19 19:27:23.717 + false + false + false + + + Cash Book for recording petty cash transactions + The Cash Book identifies a unique cash book. The cash book is used to record cash transactions. + false + false + false + Cash Book + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70105 + 0 + + 100 + 100 + + 1463 + 50238 + 61632 + + 19 + + + + 0 + 7122298a-f567-4034-b4d4-2835238097c0 + + + + + 555b97c5-97f4-47ea-8ccb-5bc1fc3ea69f + true + 2020-11-19 19:27:26.162 + 2020-11-19 19:27:26.162 + Caja menor para registrar transacciones de caja chica. + El libro de efectivo identifica un libro de efectivo único. El libro de efectivo se usa para registrar transacciones de efectivo. + true + Caja Menor + 0 + 0 + es_MX + 100 + 70105 + 100 + + + + + 2020-11-19 19:27:26.969 + + + + + + + + false + 0 + 0 + ECA14 + 70106 + 0 + + 100 + 100 + + 968 + 50238 + 61631 + + 19 + + + + 0 + 17471553-f488-4f3e-956c-99c0b25665dd + true + 2020-11-19 19:27:26.969 + false + false + false + + + Additional document charges + The Charge indicates a type of Charge (Handling, Shipping, Restocking) + false + false + false + Charge + true + true + false + + + + + 363f269e-f61a-427a-9bbb-7c24e3c496f6 + true + 2020-11-19 19:27:29.019 + 2020-11-19 19:27:29.019 + Cargos adicionales del documento + El cargo indica un tipo de cargo (manejo, embalaje, reposición) + true + Cargo + 0 + 0 + es_MX + 100 + 70106 + 100 + + + + + 2020-11-19 19:27:29.374 + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + false + false + false + Currency Type + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70107 + 0 + + 100 + 100 + + 2278 + 50238 + 61629 + + 19 + + + + 0 + ec9e1a09-d509-42e5-ac85-a76b0572d26f + true + 2020-11-19 19:27:29.374 + false + false + false + + + Currency Conversion Rate Type + + + + + 5312b94c-2de4-48df-b566-1c954d323217 + true + 2020-11-19 19:27:30.489 + 2020-11-19 19:27:30.489 + Tipo de índice de conversión de moneda + El tipo del índice de conversión de monedas le deja definir diversos tipos de tarifas, tarifas ej. del punto, corporativas y/o de Ventas/Compras. + true + Tipo de Conversión + 0 + 0 + es_MX + 100 + 70107 + 100 + + + + + 2020-11-19 19:27:30.859 + 2020-11-19 19:27:30.859 + false + false + false + + + Accounting Date + The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion. + false + false + false + Account Date + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70108 + 0 + + 100 + 100 + + 263 + 50238 + 61630 + + 15 + + + + 0 + 38b3aa29-22eb-4c65-bd4f-d2f4eec3011b + true + + + + + es_MX + baf6de97-62b7-4a61-99f6-73549c5483f9 + true + 2020-11-19 19:27:32.794 + 2020-11-19 19:27:32.794 + Fecha contable + La fecha contable indica la fecha a ser usada en las cuentas de contabilidad general generadas desde este documento + true + Fecha Contable + 0 + 0 + 100 + 70108 + 100 + + + + + 2020-11-19 19:27:33.177 + true + 2020-11-19 19:27:33.177 + false + false + false + + + The date+time (expressed in decimal format) when the document has been processed + The ProcessedOn Date+Time save the exact moment (nanoseconds precision if allowed by the DB) when a document has been processed. + false + false + false + Processed On + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70109 + 0 + + 100 + 100 + + 54128 + 50238 + 61633 + + 22 + + + + 0 + 20fe9ef6-2e39-4aa7-aa49-a20ba481ed7b + + + + + 2020-11-19 19:27:35.822 + caeaf334-253b-4671-8434-9c9c8f46fc74 + true + 2020-11-19 19:27:35.822 + La fecha+hora (expresada en formato decimal) cuando el documento ha sido procesado + La fecha+hora de procesado almacena el momento exacto (con precision de nanosegundos si lo permite la base de datos) cuando un documento fue procesado. + true + Procesado En + 0 + 0 + es_MX + 100 + 70109 + 100 + + + + + + + + 0 + 19a3d0c7-fc0b-473a-b8fc-58a24a128736 + 2020-11-19 19:27:36.37 + true + 2020-11-19 19:27:36.37 + false + false + false + + + Date this record was created + The Created field indicates the date that this record was created. + false + false + false + Created + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70110 + 0 + + 100 + 100 + + 245 + 50238 + 61799 + + 16 + + + + + ac29751d-6e9a-419f-81b9-9b0345ad9691 + true + 2020-11-19 19:27:37.53 + 2020-11-19 19:27:37.53 + Fecha de creación de este registro + El campo creado indica la fecha en que este registro fue creado + false + Creado + 0 + 0 + es_MX + 100 + 70110 + 100 + + + + + 2020-11-19 19:27:37.921 + 100 + + 246 + 50238 + 61807 + + 18 + + + + 0 + 664ca39a-bd1b-4e35-9071-3e0bf00dad6d + true + 2020-11-19 19:27:37.921 + false + false + false + + + User who created this records + The Created By field indicates the user who created this record. + false + false + false + Created By + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70111 + 0 + 110 + 100 + + + + + a1bde2ae-fc24-45bf-8c59-5b07205c7afe + true + 2020-11-19 19:27:39.751 + 2020-11-19 19:27:39.751 + Usuario que creó este registro + El campo creado por indica el usuario que creó este registro + false + Creado Por + 0 + 0 + es_MX + 100 + 70111 + 100 + + + + + 0 + 2020-11-19 19:27:40.133 + true + 2020-11-19 19:27:40.133 + false + false + false + + + Optional short description of the record + A description is limited to 255 characters. + false + false + false + Description + true + true + false + + + + + + + + false + 0 + ECA14 + 70112 + 0 + + 100 + 100 + + 275 + 50238 + 61808 + + 10 + + + + 0 + b2f4ab2c-7975-4f40-a49a-a79ac1683156 + + + + + 864bfc0c-119b-4967-be29-3ff4ba5fce70 + true + 2020-11-19 19:27:41.261 + 2020-11-19 19:27:41.261 + Descripción corta opcional del registro + Una descripción esta limitada a 255 caracteres + false + Descripción + 0 + 0 + es_MX + 100 + 70112 + 100 + + + + + + + + + + + + false + 0 + 0 + ECA14 + 70113 + 0 + + 100 + 100 + + 923 + 50238 + 61806 + + 20 + + + + 0 + b2121a0f-d56f-44fc-9a99-970e43e7e1a4 + 2020-11-19 19:27:41.65 + true + 2020-11-19 19:27:41.65 + false + false + false + + + Bank for this Organization + The Own Bank field indicates if this bank is for this Organization as opposed to a Bank for a Business Partner. + false + false + false + Own Bank + true + true + false + + + + + e7766bc5-c067-4fd4-8b19-73dee42e215e + true + 2020-11-19 19:27:43.263 + 2020-11-19 19:27:43.263 + Banco para esta organización + El campo Banco Propio indica si este banco es para la organización en lugar del banco de un Socio del Negocio + true + Banco Propio + 0 + 0 + es_MX + 100 + 70113 + 100 + + + + + The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length. + 2020-11-19 19:27:44.257 + true + 2020-11-19 19:27:44.257 + false + false + false + + + Alphanumeric identifier of the entity + false + true + false + Name + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70114 + 0 + + 100 + 100 + + 469 + 50238 + 61809 + + 10 + + + + 0 + 11d76f12-c8bd-4064-92c1-c2b048b7aa60 + + + + + fed28f91-8f59-4bcd-a347-0c438c154925 + true + 2020-11-19 19:27:45.389 + 2020-11-19 19:27:45.389 + Identificador alfanumérico de la entidad. + El nombre de una entidad (registro) se usa como una opción de búsqueda predeterminada adicional al código. El nombre es de hasta 60 caracteres de longitud. + false + Nombre + 0 + 0 + es_MX + 100 + 70114 + 100 + + + + + true + 2020-11-19 19:27:45.766 + false + false + false + + + Bank Routing Number + The Bank Routing Number (ABA Number) identifies a legal Bank. It is used in routing checks and electronic transactions. + false + true + false + Routing No + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70115 + 0 + + 100 + 100 + + 964 + 50238 + 61805 + + 10 + + + + 0 + 602b2036-11de-4d0d-aa8b-30b125d5b836 + 2020-11-19 19:27:45.766 + + + + + e8d71943-21fc-4087-8b7b-f07ddb2728b1 + es_MX + 100 + 70115 + 100 + true + 2020-11-19 19:27:47.87 + 2020-11-19 19:27:47.87 + Número de sucursal bancaria + El número de ruta del banco (Número ABA) identifica un banco legal. Se usa en ruteo de cheques y transacciones electrónicas. + true + No. de Ruta + 0 + 0 + + + + + 2020-11-19 19:27:48.249 + true + 2020-11-19 19:27:48.249 + false + false + false + + + Payment identifier + The Payment is a unique identifier of this payment. + true + true + true + Payment + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70116 + 10 + + 100 + 100 + + 1384 + 50238 + 61560 + + 30 + + + + 0 + 33ff2d3d-e6d3-4ae3-a129-6f4c9528b50e + + + + + 2020-11-19 19:27:49.585 + 75aa5b11-532f-4ed6-8bbf-f24428fe7767 + true + 2020-11-19 19:27:49.585 + Identificador del pago + El pago es un identificador único de este pago. + true + Pago + 0 + 0 + es_MX + 100 + 70116 + 100 + + + + + 61556 + 2020-11-19 19:27:50.182 + true + 2020-11-19 19:27:50.182 + false + false + false + + + Document sequence number of the document + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + true + true + false + Document No + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70117 + 20 + + 100 + 100 + + 290 + 50238 + + 10 + + + + 0 + b5b16a30-1532-4a0a-9ba0-5a3cb5bc01d2 + + + + + 24d2c121-ed55-4c55-a360-18c749e89c0e + true + 2020-11-19 19:27:51.447 + 2020-11-19 19:27:51.447 + Número de secuencia del documento para cada documento + El número del documento es usualmente generado en automático por el sistema y determinado por el tipo del documento. Si el documento no se salva; el número preliminar se despliega entre El número del documento es usualmente generado en automático por el sistema y determinado por el tipo del documento. Si el documento no se salva; el número preliminar se despliega entre "<>". + + Si el tipo de documento de su documento no tiene secuencia automatica definida, el campo está vacío si usted crea un nuevo doc. Esto es para documentos los cuales usualmente tiene un número externo (Como factura de proveedor). Si usted deja este campo vacío, el sistema generará un número de doc para usted. + true + No. del Documento + 0 + 0 + es_MX + 100 + 70117 + 100 + + + + + 2020-11-19 19:27:52.173 + false + 0 + 0 + ECA14 + 70118 + 40 + 214 + 100 + 100 + + 1441 + 50238 + 61600 + + 17 + + + + 40 + 7b6f1c74-0707-4026-9ecf-9190119cb1e0 + true + 2020-11-19 19:27:52.173 + false + true + false + + + Method of Payment + The Tender Type indicates the method of payment (ACH or Direct Deposit, Credit Card, Check, Direct Debit) + true + false + false + Tender type + true + true + false + + + + + + + + + + + + 4ed8500f-1fd6-4107-8bd3-33c5067d4e89 + true + 2020-11-19 19:27:54.041 + 2020-11-19 19:27:54.041 + Método de pago + El Tipo de Pago indica el método de pago (ACH; Tarjeta de Crédito; Cheque) + true + Tipo de Pago + 0 + 0 + es_MX + 100 + 70118 + 100 + + + + + 2020-11-19 19:27:54.428 + false + + + + + + + + false + 0 + 0 + ECA14 + 70119 + 60 + + 100 + 100 + + 1477 + 50238 + 61576 + + 12 + + + + 0 + e53ff908-a0c0-4cb6-9306-939d92b6e614 + true + 2020-11-19 19:27:54.428 + false + false + false + + + Amount being paid + Indicates the amount this payment is for. The payment amount can be for single or multiple invoices or a partial payment for an invoice. + true + true + false + Payment amount + true + true + + + + + c6e82ec8-e64e-47a6-8ea3-4539a51ea757 + true + 2020-11-19 19:27:55.59 + 2020-11-19 19:27:55.59 + Total siendo pagado + Indica el total a pagar. El total del pago puede ser para una factura simple, múltiple o un pago parcial de una factura. + true + Total del Pago + 0 + 0 + es_MX + 100 + 70119 + 100 + + + + + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + 2020-11-19 19:27:56.187 + true + 2020-11-19 19:27:56.187 + false + true + false + + + Identifies a Business Partner + true + false + false + Business Partner + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70120 + 70 + + 100 + 100 + + 187 + 50238 + 61578 + + 30 + + + + 30 + b03cbf5f-92ef-4c26-a164-21ae9764a706 + + + + + db10c937-9030-476d-8e87-450f1bbde900 + true + 2020-11-19 19:27:57.64 + 2020-11-19 19:27:57.64 + Identifica un Socio del Negocio + Un Socio del Negocio es cualquiera con quien usted realiza transacciones. Este puede incluir Proveedores; Clientes; Empleados o Vendedores. + true + Socio del Negocio + 0 + 0 + es_MX + 100 + 70120 + 100 + + + + + true + 2020-11-19 19:27:58.051 + 2020-11-19 19:27:58.051 + false + false + false + + + Optional short description of the record + A description is limited to 255 characters. + true + false + false + Description + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70121 + 80 + + 100 + 100 + + 275 + 50238 + 61602 + + 10 + + + + 0 + 57b35109-aab0-4d32-8b3e-14ba232de86d + + + + + d4f2af11-c09a-497e-ba7f-6a54bcd0cefe + es_MX + 100 + 70121 + 100 + true + 2020-11-19 19:27:59.682 + 2020-11-19 19:27:59.682 + Descripción corta opcional del registro + Una descripción esta limitada a 255 caracteres + false + Descripción + 0 + 0 + + + + + 2020-11-19 19:28:00.273 + true + 2020-11-19 19:28:00.273 + false + false + false + + + Document type or rules + The Document Type determines document sequence and processing rules + true + false + false + Document Type + true + true + false + + + + + + + + false + 0 + 0 + ECA14 + 70122 + 50 + + 100 + 100 + + 196 + 50238 + 61562 + 149 + 19 + + + + 0 + 3c559891-5327-4e41-a350-1e2289f50edc + + + + + 2020-11-19 19:28:01.586 + 3d918689-89cd-4295-8380-d5911f1a25bb + true + 2020-11-19 19:28:01.586 + Tipo de documento o reglas + El tipo de documento determina la secuencia del documento y las reglas de proceso + true + Tipo de Documento + 0 + 0 + es_MX + 100 + 70122 + 100 + + + + + + 2020-11-19 19:28:02.05 + true + 2020-11-19 19:28:02.05 + false + true + true + @SQL=SELECT ba.C_BankAccount_ID FROM C_BankAccount ba WHERE EXISTS (SELECT 1 FROM C_POS pos WHERE pos.C_POS_ID=@CP_C_POS_ID@ AND pos.C_BankAccount_ID=ba.C_BankAccount_ID) + + Account at the Bank + The Bank Account identifies an account at this Bank. + false + false + false + Bank Account + true + true + false + + + @CP_C_BankAccount_ID@!0 + + + + + false + 0 + 0 + ECA14 + 70123 + 0 + + 100 + 100 + + 836 + 50238 + 61592 + 52544 + 19 + + + 20 + 371482b1-382d-44c6-aff1-b8700be0d4ee + + + + + ba2a4c56-c851-487d-bd6d-4328733fe694 + true + 2020-11-19 19:28:04.19 + 2020-11-19 19:28:04.19 + Cuenta bancaria + La cuenta bancaria identifica una cuenta en este banco + true + Cuenta Bancaria + 0 + 0 + es_MX + 100 + 70123 + 100 + + + + + 100 + + 2581 + 50238 + 61606 + 52454 + 19 + + + + 10 + 00679473-7cfb-4a33-9350-d3087b154da4 + 2020-11-19 19:28:04.699 + true + 2020-11-19 19:28:04.699 + false + true + true + @C_POS_ID@ + + Point of Sales Terminal + The POS Terminal defines the defaults and functions available for the POS Form + false + false + false + POS Terminal + true + true + false + + + @CP_C_POS_ID@!0 + + + + + false + 0 + 0 + ECA14 + 70124 + 0 + + 100 + + + + + 616b1859-b190-4601-a23a-a086229613b3 + true + 2020-11-19 19:28:06.675 + 2020-11-19 19:28:06.675 + Terminal Punto de Venta + La Terminal de PDV define el default y las funciones de la forma de PV. + true + Terminal PDV + 0 + 0 + es_MX + 100 + 70124 + 100 + + + + + 0 + 2020-11-19 19:28:07.073 + true + 2020-11-19 19:28:07.073 + true + true + false + @#Date@ + + Transaction Date + The Transaction Date indicates the date of the transaction. + true + false + false + Transaction Date + true + true + true + @#Date@ + + + + + + + false + 0 + ECA14 + 70125 + 30 + + 100 + 100 + + 1297 + 50238 + 61599 + + 15 + + 10 + + 50 + f95324cc-5181-4889-81f9-9b50fb739acc + + + + + 0b45c092-b2e2-43e2-bf6a-5b856617d47b + true + 2020-11-19 19:28:08.808 + 2020-11-19 19:28:08.808 + Fecha de la transacción + La fecha de transacción indica la fecha en que se ejecutó la transacción + true + Fecha de la Transacción + 0 + 0 + es_MX + 100 + 70125 + 100 + + + + + true + 100 + + 100 + + f5f137a9-df9b-4a87-890b-88ec5b1f7513 + POS Withdrawal Breakdown + 50238 + 2020-11-19 19:28:09.222 + 2020-11-19 19:28:09.222 + + false + false + false + true + Allow create deposit from cash + S + 0 + 54670 + 0 + + ECA14 + + + + + + + true + 2020-11-19 19:28:10.101 + 2020-11-19 19:28:10.101 + 100 + Permite hacer retiros de caja de manera detallada, muy útil para los registros relacionados con transferencias + false + 0 + 0 + 100 + 54670 + es_MX + 7f5d7108-fd4e-4ce6-a08a-a9e4d9990e96 + Retiro de Caja Detallado + + + + + 2a024fad-5da9-4f98-a9f0-c9f2b744d5fa + true + 2020-11-19 19:28:10.508 + 2020-11-19 19:28:10.508 + 0 + 0 + 54670 + 54030 + 100 + 100 + 5 + 10 + + + + + false + + + + diff --git a/pos/xml/migration/06500_Add_PriceList_by_Vendor_Process.xml b/pos/xml/migration/06500_Add_PriceList_by_Vendor_Process.xml new file mode 100644 index 0000000000..72eac4b687 --- /dev/null +++ b/pos/xml/migration/06500_Add_PriceList_by_Vendor_Process.xml @@ -0,0 +1,571 @@ + + + + + + rpt_VendorProductPriceList + + 688692df-6068-46dd-81b4-58f26225846a + + You can see all product and prices + false + true + 0 + 0 + Y + 100 + 100 + 54451 + 0 + 0 + + + + ECA14 + attachment:rpt_VendorProductPriceList.jasper + 2020-10-20 14:12:14.016 + 2020-10-20 14:12:14.016 + Product Price List by Vendor + Product Price List Report by Vendor + false + N + true + + + 3 + false + N + + + + + + true + 2020-10-20 14:12:21.695 + 2020-10-20 14:12:21.695 + Reporte de Lista de Precios por Proveedor + + false + Lista de Precios por Proveedor + 0 + 0 + 100 + es_MX + 54451 + 100 + c51aed44-7a62-4229-b1c6-6ba4325a60ae + + + + + 2020-10-20 14:12:28.699 + 54451 + 100 + 19 + + 10 + 100 + + 449 + 42eddd3e-52d8-490a-9f12-4ce493681f9b + Price List + true + false + 2020-10-20 14:12:28.699 + true + + M_PriceList_ID + Unique identifier of a Price List + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + + true + + + + -1 + + false + 57843 + 0 + 0 + ECA14 + 22 + + + + + 2020-10-20 14:12:31.906 + true + 2020-10-20 14:12:31.906 + Price List + false + Unique identifier of a Price List + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + 57843 + 0 + 0 + 100 + es_MX + 100 + f98d19b2-33bc-4f38-a157-28e72cdfd44f + + + + + 2020-10-20 14:12:33.644 + true + false + 2020-10-20 14:12:33.644 + false + + C_BPartner_ID + Identifies a Business Partner + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + + true + + + + + + false + 57844 + 0 + 0 + ECA14 + 22 + 54451 + 100 + 30 + + 20 + 100 + 223 + 187 + a3c8a79c-6c77-4924-a607-78f79bdacf2c + Business Partner + + + + + 2020-10-20 14:12:38.348 + true + 2020-10-20 14:12:38.348 + Business Partner + false + Identifies a Business Partner + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + 57844 + 0 + 0 + 100 + es_MX + 100 + 2eb165cb-cbee-49b0-b86e-ad81904bad83 + + + + + 2020-10-20 14:12:40.311 + Mantener categorías de producto + 2020-10-20 14:12:40.311 + true + es_MX + La categoría de producto permite definir diferentes grupos de productos. Estos grupos pueden ser usados para generar listas de precios, definir margenes, y asignar de manera fácil los diferentes parámetros contables a los productos. + Categoría de Producto + true + 0 + 0 + 100 + 100 + 144 + 42161d4c-6305-437d-b96c-92725ab523e5 + + + + + 2020-10-20 14:12:47.483 + Product Category + true + false + 2020-10-20 14:12:47.483 + false + + M_Product_Category_ID + Category of a Product + Identifies the category which this product belongs to. Product categories are used for pricing and selection. + + true + + + + -1 + + false + 57845 + 0 + 0 + ECA14 + 22 + 54451 + 100 + 19 + + 30 + 100 + 163 + 453 + 011e94b8-1223-446e-826d-7e37a7133b42 + + + + + 2020-10-20 14:12:51.191 + true + 2020-10-20 14:12:51.191 + Product Category + false + Category of a Product + Identifies the category which this product belongs to. Product categories are used for pricing and selection. + 57845 + 0 + 0 + 100 + es_MX + 100 + d5d9f153-599a-48d1-bb7d-3f4400c36d62 + + + + + false + 2020-10-20 14:12:53.54 + Product + true + false + 2020-10-20 14:12:53.54 + + M_Product_ID + Product, Service, Item + Identifies an item which is either purchased or sold in this organization. + + true + + + + -1 + + false + 57846 + 0 + 0 + ECA14 + 22 + 54451 + 100 + 30 + + 40 + 100 + + 454 + a308bf34-ab02-4f83-95a5-3ff3c848ff42 + + + + + Product + false + Product, Service, Item + Identifies an item which is either purchased or sold in this organization. + 2020-10-20 14:12:56.781 + true + 2020-10-20 14:12:56.781 + 57846 + 0 + 0 + 100 + es_MX + 100 + 468bbd6d-7db4-4e04-8209-d736006aa329 + + + + + The Valid From date indicates the first day of a date range + 2020-10-20 14:12:58.513 + Valid from + true + false + 2020-10-20 14:12:58.513 + true + + ValidFrom + Valid from including this date (first day) + + true + + + + @#Date@ + + false + 57847 + 0 + 0 + ECA14 + 7 + 54451 + 100 + 15 + + 50 + 100 + + 617 + c1fb8bdc-6689-43c7-861c-31dfbc37ce76 + + + + + 2020-10-20 14:13:03.646 + true + 2020-10-20 14:13:03.646 + Valid from + false + Valid from including this date (first day) + The Valid From date indicates the first day of a date range + 57847 + 0 + 0 + 100 + es_MX + 100 + 032ac479-c7c2-43cd-a18f-2649a1b47de3 + + + + + 2020-10-20 14:13:05.212 + Product Classification + true + false + 2020-10-20 14:13:05.212 + false + + M_Product_Classification_ID + Classification of a Product + Identifies the classification which this product belongs to. + + true + + + + -1 + + false + 57848 + 0 + 0 + ECA14 + 22 + 54451 + 100 + 19 + + 60 + 100 + + 55490 + 4701d470-f5f6-4ef1-b8a1-61125d4fb9a5 + + + + + 2020-10-20 14:13:10.281 + 100 + c8933599-ac06-462f-a524-fee96d97a8bc + true + 2020-10-20 14:13:10.281 + Product Classification + false + Classification of a Product + Identifies the classification which this product belongs to. + 57848 + 0 + 0 + 100 + es_MX + + + + + 57849 + 2020-10-20 14:13:12.059 + Product Class + true + false + 2020-10-20 14:13:12.059 + false + + M_Product_Class_ID + Class of a Product + Identifies the Class which this product belongs to + + true + + + + -1 + + false + 0 + 0 + ECA14 + 22 + 54451 + 100 + 19 + + 70 + 100 + + 55492 + e8615b98-37c5-415e-886f-f3f80dab23b9 + + + + + 2020-10-20 14:13:17.191 + true + 2020-10-20 14:13:17.191 + Product Class + false + Class of a Product + Identifies the Class which this product belongs to + 57849 + 0 + 0 + 100 + es_MX + 100 + 313d8c52-2d24-4515-9cd8-bfc4220a01a1 + + + + + + 54451 + 100 + 19 + 80 + 100 + + 55494 + efc76374-c4be-4842-9d23-1591401bd6ab + 2020-10-20 14:13:18.572 + Product Group + true + false + 2020-10-20 14:13:18.573 + false + + M_Product_Group_ID + Group of a Product + Identifies the Group which this product belongs to. + + true + + + + -1 + + false + 57850 + 0 + 0 + ECA14 + 22 + + + + + 2020-10-20 14:13:23.743 + true + 2020-10-20 14:13:23.743 + Product Group + false + Group of a Product + Identifies the Group which this product belongs to. + 57850 + 0 + 0 + 100 + es_MX + 100 + 5ac0315a-6278-4abb-a86c-c9344c198c47 + + + + + true + true + Product Price List Report by Vendor + R + 0 + 54654 + 0 + + ECA14 + + + 100 + + 100 + 54451 + 2918e309-170e-49c1-8a25-e1c40feca7fa + Product Price List by Vendor + + 2020-10-20 14:13:25.486 + 2020-10-20 14:13:25.486 + + false + false + false + + + + + true + Reporte de Lista de Precios por Proveedor + false + 0 + 0 + 100 + 54654 + es_MX + 87b5cb4d-3527-42da-966a-a6ff43453588 + Lista de Precios por Proveedor + 2020-10-20 14:13:30.013 + 2020-10-20 14:13:30.013 + 100 + + + + + 09fd3361-9d76-4d69-bd44-8a6fe64a808f + true + 2020-10-20 14:13:31.759 + 2020-10-20 14:13:31.759 + 0 + 0 + 54654 + 183 + 100 + 100 + 11 + 10 + + + + diff --git a/pos/xml/migration/07020_Add_Report_for_Print_Label_of_Products.xml b/pos/xml/migration/07020_Add_Report_for_Print_Label_of_Products.xml new file mode 100644 index 0000000000..3c5db830f3 --- /dev/null +++ b/pos/xml/migration/07020_Add_Report_for_Print_Label_of_Products.xml @@ -0,0 +1,693 @@ + + + + + + 3 + false + N + + + 92b9a696-adba-4409-a200-7df0ba74cb63 + + + false + true + 0 + 0 + Y + 100 + 100 + 54467 + 0 + 0 + + + + ECA14 + attachment:inf_ProductLabel.jasper + 2020-11-23 19:03:35.476 + 2020-11-23 19:03:35.476 + Price List (Product Label) + + false + N + true + inf_PriceList_Product_Label + + + + + + + true + 2020-11-23 19:03:36.308 + 2020-11-23 19:03:36.308 + Informe de Lista de Precios + + false + Informe de Lista de Precios (Etiqueta Productos) + 0 + 0 + 100 + es_MX + 54467 + 100 + a0746191-ace7-4c34-8191-d38188c50ac3 + + + + + 2020-11-23 19:03:37.735 + Organization + true + false + 2020-11-23 19:03:37.735 + false + + AD_Org_ID + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + true + + + + -1 + + false + 57965 + 0 + 0 + ECA14 + 22 + 54467 + 100 + 19 + + 20 + 100 + + 113 + f7c160d1-a99a-47bb-aadf-1f58d4e2733d + + + + + Organization + 2020-11-23 19:03:38.422 + true + 2020-11-23 19:03:38.422 + false + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + 57965 + 0 + 0 + 100 + es_MX + 100 + 445a7b19-606b-440f-a960-4670b66038a8 + + + + + ECA14 + + + + + 2020-11-23 19:03:38.956 + Price List + true + false + 2020-11-23 19:03:38.956 + false + + M_PriceList_ID + Unique identifier of a Price List + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + + true + + + + + + false + 57966 + 0 + 0 + ECA14 + 22 + 54467 + 100 + 19 + + 30 + 100 + + 449 + bc03a4ca-7a79-4f91-85ff-565be7c4f3e1 + + + + + Identificador único de mi lista de precios + Listas de precios son usadas para determinar el precio; margen y costo de artículos comprados o vendidos. + 2020-11-23 19:03:39.847 + true + 2020-11-23 19:03:39.847 + Lista de Precios + true + 57966 + 0 + 0 + 100 + es_MX + 100 + 59b95862-698d-4114-91aa-5f18e851d969 + + + + + Búsqueda + + true + 2020-11-23 19:03:40.187 + 2020-11-23 19:03:40.187 + 100 + true + Campo de Búsqueda + 0 + 0 + 100 + es_MX + 30 + e0007ba0-82ef-11e9-bc49-0242ac140004 + + + + + 2020-11-23 19:03:40.44 + 30 + + 40 + 100 + + 454 + df753675-a4d8-4590-a718-d4452c10288d + Product + true + false + 2020-11-23 19:03:40.44 + false + + M_Product_ID + Product, Service, Item + Identifies an item which is either purchased or sold in this organization. + + true + + + + + + false + 57967 + 0 + 0 + ECA14 + 22 + 54467 + 100 + + + + + 2020-11-23 19:03:41.381 + true + 2020-11-23 19:03:41.381 + Producto + true + Producto; servicio o artículo. + Identifica un artículo que puede ser comprado o vendido es esta organización. + 57967 + 0 + 0 + 100 + es_MX + 100 + 76b363bf-628c-4e4b-bbca-e4ed35892e76 + + + + + + ECA14 + + + + + 19 + + 50 + 100 + 163 + 453 + e409c1c6-091f-445c-acba-fdee3e8f4f28 + 2020-11-23 19:03:42.14 + Product Category + true + false + 2020-11-23 19:03:42.14 + false + + M_Product_Category_ID + Category of a Product + Identifies the category which this product belongs to. Product categories are used for pricing and selection. + + true + + + + + + false + 57968 + 0 + 0 + ECA14 + 22 + 54467 + 100 + + + + + 2020-11-23 19:03:42.876 + true + 2020-11-23 19:03:42.876 + Categoría del Producto + true + Categoría de la que este producto es parte + Identifica la categoría a la que pertenece este producto. Las categorías del producto son usadas para el cálculo de precios + 57968 + 0 + 0 + 100 + es_MX + 100 + 6b673f96-0bd0-4678-8295-410cd1ed0d6c + + + + + ECA14 + + + + + 2020-11-23 19:03:43.33 + 60 + 100 + + 55494 + 49e7c858-0c66-4631-adde-13da44890392 + Product Group + true + false + 2020-11-23 19:03:43.33 + false + + M_Product_Group_ID + Group of a Product + Identifies the Group which this product belongs to. + + true + + + + + + false + 57969 + 0 + 0 + ECA14 + 22 + 54467 + 100 + 19 + + + + + + 2020-11-23 19:03:44.148 + true + 2020-11-23 19:03:44.148 + Grupo de Producto + true + + + 57969 + 0 + 0 + 100 + es_MX + 100 + 5eb68a68-cb9a-4ef8-920d-32bf19feb5ae + + + + + ECA14 + + + + + 55492 + 62f1ab0e-4950-42c7-afc5-2ad7b517cecb + 2020-11-23 19:03:44.731 + Product Class + true + false + 2020-11-23 19:03:44.731 + false + + M_Product_Class_ID + Class of a Product + Identifies the Class which this product belongs to + + true + + + + + + false + 57970 + 0 + 0 + ECA14 + 22 + 54467 + 100 + 19 + + 70 + 100 + + + + + + 2020-11-23 19:03:45.454 + true + 2020-11-23 19:03:45.454 + Clase de Producto + true + + + 57970 + 0 + 0 + 100 + es_MX + 100 + 82533cba-028c-432b-a982-84d77feafc74 + + + + + ECA14 + + + + + 2020-11-23 19:03:46.088 + Product Classification + true + false + 2020-11-23 19:03:46.088 + false + + M_Product_Classification_ID + Classification of a Product + Identifies the classification which this product belongs to. + + true + + + + + + false + 57971 + 0 + 0 + ECA14 + 22 + 54467 + 100 + 19 + + 80 + 100 + + 55490 + e77fd4d1-8292-449e-8ae4-8b32a72679cb + + + + + true + 2020-11-23 19:03:46.833 + 2020-11-23 19:03:46.833 + Clasificación de Producto + true + + + 57971 + 0 + 0 + 100 + es_MX + 100 + 879c3ad8-b4b8-426d-a341-4e347b852ff8 + + + + + Fecha + + true + 2020-11-23 19:03:47.193 + 2020-11-23 19:03:47.193 + 100 + true + Fecha mm/dd/aaaa + 0 + 0 + 100 + es_MX + 15 + e0007d58-82ef-11e9-bc49-0242ac140004 + + + + + ECA14 + + + + + 0 + ECA14 + 2020-11-23 19:03:47.777 + Valid from + true + false + 2020-11-23 19:03:47.777 + true + + ValidFrom + Valid from including this date (first day) + The Valid From date indicates the first day of a date range + + true + + + + + + false + 57972 + 0 + 7 + 54467 + 100 + 15 + + 90 + 100 + + 617 + 576e0913-f1e3-4365-9a5c-4d4498a4f0bb + + + + + 2020-11-23 19:03:48.446 + true + 2020-11-23 19:03:48.446 + Válido Desde + true + Válido desde; incluyendo esta fecha (primer día) + La fecha válida desde indica el primer día de un rango de fechas + 57972 + 0 + 0 + 100 + es_MX + 100 + 1ba5f319-9499-436a-ad27-dcfb20f5a02a + + + + + 100 + 2020-11-23 19:03:48.748 + Product quantity must be in stock + true + false + 2020-11-23 19:03:48.748 + false + + MustBeStocked + If not sufficient in stock in the warehouse, the BOM is not produced + + + true + + + + + + false + 57973 + 0 + 0 + ECA14 + 0 + 54467 + 20 + + 100 + 100 + + 1672 + 8722d425-781c-4fe7-8e11-7a204bc588ee + + + + + 2020-11-23 19:03:49.415 + true + 2020-11-23 19:03:49.415 + Product quantity must be in stock + false + If not sufficient in stock in the warehouse, the BOM is not produced + + 57973 + 0 + 0 + 100 + es_MX + 100 + ec98e530-daeb-4c9e-a2a2-cf5d31f3020c + + + + + true + + 2020-11-23 19:03:49.662 + 2020-11-23 19:03:49.662 + + false + false + false + true + + R + 0 + 54671 + 0 + + ECA14 + + + 100 + + 100 + 54467 + e69710ab-ef37-43b4-bdc6-bb0138f567c6 + Price List (Product Label) + + + + + true + Informe Lista de Precios + false + 0 + 0 + 100 + 54671 + es_MX + fe5faf48-9b0e-443b-b7f6-6cae849791d3 + Informe Lista de Precios (Etiquetas de Productos) + 2020-11-23 19:03:50.308 + 2020-11-23 19:03:50.308 + 100 + + + + + fa8dbf48-0828-46f7-b572-9996ecf718c0 + true + 2020-11-23 19:03:50.567 + 2020-11-23 19:03:50.567 + 0 + 0 + 54671 + 183 + 100 + 100 + 11 + 10 + + + + + Use this report for print a label and paste in store aisle + This Report show all price list with label format for customer + + + + + This Report show all price list with label format for customer + + + + + Este reporte muestra los precios de productos para etiquetar + Use este reporte para etiquetar productos en los pasillos de la tienda + es_MX + 54467 + + + + diff --git a/pos/xml/migration/07040_Add_Product_Label_Report.xml b/pos/xml/migration/07040_Add_Product_Label_Report.xml new file mode 100644 index 0000000000..3dc6250393 --- /dev/null +++ b/pos/xml/migration/07040_Add_Product_Label_Report.xml @@ -0,0 +1,510 @@ + + + + + + 2020-11-23 19:15:14.125 + + true + 2020-11-23 19:15:14.125 + 53335 + UPC IS NOT NULL AND LENGTH(UPC) > 5 + + + Products with UPC/EAN + Product with Barcode + true + 0 + ECA14 + 0 + 100 + 100 + 208 + 4d3a7aa2-67c0-4c71-aa6d-7e7c5f7d17a3 + + + + + true + 53335 + a0f219bb-98fc-4b2b-9e4a-dc098bfdef8d + 2020-11-23 19:15:18.575 + 2020-11-23 19:15:18.575 + Products with UPC/EAN + Products with UPC/EAN + Products with UPC/EAN + false + 0 + 0 + 100 + 100 + es_MX + + + + + 53335 + 69a93ba3-0368-4995-b0ac-e0790848d571 + + + false + true + 0 + 0 + Y + 100 + 100 + 54469 + 0 + 0 + + + + ECA14 + + 2020-11-23 19:15:18.857 + 2020-11-23 19:15:18.857 + Product Labels + + false + N + true + rpt_ProductLabel + + + 3 + false + N + + + + + + true + 2020-11-23 19:15:19.747 + 2020-11-23 19:15:19.747 + Formato de Impresion para Generar etiquetas para productos (Código de barras, Còdigo Qr) + + false + Etiquetas para productos + 0 + 0 + 100 + es_MX + 54469 + 100 + a37ae550-0ab8-4d07-9f1f-d42265ad6f92 + + + + + false + 2020-11-23 19:15:21.243 + Organization + true + false + 2020-11-23 19:15:21.243 + + AD_Org_ID + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + true + + + + -1 + + false + 57982 + 0 + 0 + ECA14 + 22 + 54469 + 100 + 19 + + 20 + 100 + + 113 + 28952ee4-8745-418b-8f41-9e2f2a68a559 + + + + + 2020-11-23 19:15:22.196 + true + 2020-11-23 19:15:22.196 + Organization + false + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + 57982 + 0 + 0 + 100 + es_MX + 100 + a1c5ddc8-8e2f-426d-a575-2dfbb0bd51a5 + + + + + Product, Service, Item + 2020-11-23 19:15:22.53 + Product + true + false + 2020-11-23 19:15:22.53 + false + + M_Product_ID + Identifies an item which is either purchased or sold in this organization. + + true + + + + + + false + 57983 + 0 + 0 + ECA14 + 22 + 54469 + 100 + 30 + + 30 + 100 + + 454 + bd6aa5c6-0ee6-452a-b5a6-a4c90f16a95a + + + + + 2020-11-23 19:15:23.762 + true + 2020-11-23 19:15:23.762 + Producto + true + Producto; servicio o artículo. + Identifica un artículo que puede ser comprado o vendido es esta organización. + 57983 + 0 + 0 + 100 + es_MX + 100 + 9fbb9c89-ca97-449d-bb59-66eb1d87695b + + + + + 2020-11-23 19:15:24.013 + Product Category + true + false + 2020-11-23 19:15:24.013 + false + + M_Product_Category_ID + Category of a Product + Identifies the category which this product belongs to. Product categories are used for pricing and selection. + + true + + + + + + false + 57984 + 0 + 0 + ECA14 + 22 + 54469 + 100 + 19 + + 40 + 100 + 163 + 453 + b22e57dc-cd35-4a62-babd-b626c2ced6c1 + + + + + 2020-11-23 19:15:26.038 + true + 2020-11-23 19:15:26.038 + Product Category + false + Category of a Product + Identifies the category which this product belongs to. Product categories are used for pricing and selection. + 57984 + 0 + 0 + 100 + es_MX + 100 + 9535d719-ee29-4cf0-bb75-ccf5e0c41ade + + + + + 2020-11-23 19:15:26.423 + + false + 57985 + 0 + 0 + ECA14 + 22 + 54469 + 100 + 19 + + 50 + 100 + + 55490 + e9375e35-2f03-45a0-b739-d048a05add31 + Product Classification + true + false + 2020-11-23 19:15:26.423 + false + + M_Product_Classification_ID + Classification of a Product + Identifies the classification which this product belongs to. + + true + + + + + + + + + 2020-11-23 19:15:27.374 + true + 2020-11-23 19:15:27.374 + Product Classification + false + Classification of a Product + Identifies the classification which this product belongs to. + 57985 + 0 + 0 + 100 + es_MX + 100 + 26cdbee1-5053-49b6-b39e-47a457538f59 + + + + + ECA14 + 2020-11-23 19:15:27.689 + Product Class + true + false + 2020-11-23 19:15:27.689 + false + + M_Product_Class_ID + Class of a Product + Identifies the Class which this product belongs to + + true + + + + + + false + 57986 + 0 + 0 + 22 + 54469 + 100 + 19 + + 60 + 100 + + 55492 + 1fe24917-9cf9-447c-8767-9babf76b50a8 + + + + + 2020-11-23 19:15:28.715 + true + 2020-11-23 19:15:28.715 + Product Class + false + Class of a Product + Identifies the Class which this product belongs to + 57986 + 0 + 0 + 100 + es_MX + 100 + a5d231ad-e747-49b2-8cd9-52715c826793 + + + + + 2020-11-23 19:15:29.026 + + 70 + 100 + + 55494 + 8e96b2bf-68d8-44cb-a89d-78ba23893c29 + Product Group + true + false + 2020-11-23 19:15:29.026 + false + + M_Product_Group_ID + Group of a Product + Identifies the Group which this product belongs to. + + true + + + + + + false + 57987 + 0 + 0 + ECA14 + 22 + 54469 + 100 + 19 + + + + + 2020-11-23 19:15:29.995 + true + 2020-11-23 19:15:29.995 + Product Group + false + Group of a Product + Identifies the Group which this product belongs to. + 57987 + 0 + 0 + 100 + es_MX + 100 + 5282f977-62d2-4465-922b-d23929dc055d + + + + + true + + 2020-11-23 19:15:30.246 + 2020-11-23 19:15:30.246 + + false + false + false + true + + R + 0 + 54673 + 0 + + ECA14 + + + 100 + + 100 + 54469 + 9af42b26-8ad7-4fa0-a594-dc0fcf716a52 + Product Labels + + + + + true + 2020-11-23 19:15:31.374 + 2020-11-23 19:15:31.374 + 100 + Formato de Impresion para Generar etiquetas para productos (Còdigo de barras, Còdigo Qr) + false + 0 + 0 + 100 + 54673 + es_MX + 7dba1c96-2ea4-406e-be3f-c59055797811 + Etiquetas para productos + + + + + 6a24e287-e682-4969-ab61-53b08316a47b + true + 2020-11-23 19:15:31.746 + 2020-11-23 19:15:31.746 + 0 + 0 + 54673 + 183 + 100 + 100 + 12 + 10 + + + + + Use this reporte for show barcode of product or QR code + This report show all product labels without price + + + + + This report show all product labels without price + + + + + Formato de Impresion para Generar etiquetas para productos (Código de barras, Código Qr) + Use este reporte para imprimir los códigos de barra de los productos o Qr + Etiquetas para Productos + es_MX + 54469 + + + + + Use this reporte for show barcode of product or Qr code + + + + diff --git a/pos/xml/migration/07050_Filter_Cash_Withdrawal_by_Cash_Credit_Card_and_Debit.xml b/pos/xml/migration/07050_Filter_Cash_Withdrawal_by_Cash_Credit_Card_and_Debit.xml new file mode 100644 index 0000000000..276ff4ffe3 --- /dev/null +++ b/pos/xml/migration/07050_Filter_Cash_Withdrawal_by_Cash_Credit_Card_and_Debit.xml @@ -0,0 +1,11 @@ + + + + + + tt.AD_Reference_ID = 214 +AND tt.Value IN('D', 'C', 'X') + + + + diff --git a/pos/xml/migration/07060_Add_Product_Price_List_Report_Label_Little.xml b/pos/xml/migration/07060_Add_Product_Price_List_Report_Label_Little.xml new file mode 100644 index 0000000000..e8b899b948 --- /dev/null +++ b/pos/xml/migration/07060_Add_Product_Price_List_Report_Label_Little.xml @@ -0,0 +1,1758 @@ + + + + + + + 78b249ee-613e-4241-a2c1-00243fa36470 + + Use this report for print a label and paste in store aisle + false + true + 0 + 0 + Y + 100 + 100 + 54471 + 0 + 0 + + + + ECA14 + attachment:inf_ProductLabel_Little.jasper + 2020-11-25 12:37:49.459 + 2020-11-25 12:37:49.459 + Price List (Product Label Little) + This Report show all price list with label format for customer + false + N + true + inf_PriceList_Product_Label_Little + + + 3 + false + N + + + + + + true + 2020-11-25 12:37:50.746 + 2020-11-25 12:37:50.746 + This Report show all price list with label format for customer + Use this report for print a label and paste in store aisle + false + Price List (Product Label Little) + 0 + 0 + 100 + es_MX + 54471 + 100 + 62f47a2a-8902-4a2f-a00a-a5110e3aa1b7 + + + + + 2020-11-25 12:38:19.955 + 2020-11-25 12:38:19.955 + Organization + true + false + false + + AD_Org_ID + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + true + + + + -1 + + false + 57991 + 0 + 0 + ECA14 + 22 + 54471 + 100 + 19 + + 10 + 100 + + 113 + 447e64bb-390a-4aa1-8907-89b921a77f6a + + + + + 2020-11-25 12:38:20.929 + true + 2020-11-25 12:38:20.929 + Organization + false + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + 57991 + 0 + 0 + 100 + es_MX + 100 + d471f353-1601-4316-8915-951bbfd497d2 + + + + + 2020-11-25 12:38:21.178 + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + + true + + + + + + false + 57992 + 0 + 0 + ECA14 + 22 + 54471 + 100 + 19 + + 20 + 100 + + 449 + 7e8a8ce1-e2a8-49cf-bf44-191ed65468a2 + Price List + true + false + 2020-11-25 12:38:21.178 + false + + M_PriceList_ID + Unique identifier of a Price List + + + + + 2020-11-25 12:38:22.122 + true + 2020-11-25 12:38:22.122 + Price List + false + Unique identifier of a Price List + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + 57992 + 0 + 0 + 100 + es_MX + 100 + 718a0cf1-1def-4537-a8a7-7af4b5ac9809 + + + + + 2020-11-25 12:38:22.345 + Product Category + true + false + 2020-11-25 12:38:22.345 + false + + M_Product_Category_ID + Category of a Product + Identifies the category which this product belongs to. Product categories are used for pricing and selection. + + true + + + + + + false + 57993 + 0 + 0 + ECA14 + 22 + 54471 + 100 + 19 + + 30 + 100 + 163 + 453 + 865b1b44-abc2-47b3-8660-f66b3d676fd8 + + + + + 2020-11-25 12:38:23.306 + true + 2020-11-25 12:38:23.306 + Product Category + false + Category of a Product + Identifies the category which this product belongs to. Product categories are used for pricing and selection. + 57993 + 0 + 0 + 100 + es_MX + 100 + d5b94494-fe26-4d08-b822-a7d12a3ccd4e + + + + + 0 + 2020-11-25 12:38:23.54 + Product + true + false + 2020-11-25 12:38:23.54 + false + + M_Product_ID + Product, Service, Item + Identifies an item which is either purchased or sold in this organization. + + true + + + + + + false + 57994 + 0 + ECA14 + 22 + 54471 + 100 + 30 + + 40 + 100 + + 454 + bd97c969-b6c1-4ed8-a6ed-2e066bc03a4e + + + + + 2020-11-25 12:38:24.567 + true + 2020-11-25 12:38:24.567 + Product + false + Product, Service, Item + Identifies an item which is either purchased or sold in this organization. + 57994 + 0 + 0 + 100 + es_MX + 100 + ddd9ce25-b6cd-40d2-b633-ce836893eab3 + + + + + 2020-11-25 12:38:24.885 + + 50 + 100 + + 617 + 3a5c7ead-db42-446e-8ac8-5f9e2ed19b67 + Valid from + true + false + 2020-11-25 12:38:24.885 + true + + ValidFrom + Valid from including this date (first day) + The Valid From date indicates the first day of a date range + + true + + + + + + false + 57995 + 0 + 0 + ECA14 + 7 + 54471 + 100 + 15 + + + + + 2020-11-25 12:38:25.746 + true + 2020-11-25 12:38:25.746 + Valid from + false + Valid from including this date (first day) + The Valid From date indicates the first day of a date range + 57995 + 0 + 0 + 100 + es_MX + 100 + efd11fb5-52fc-4729-b923-05f42847b507 + + + + + 2020-11-25 12:38:25.996 + Product quantity must be in stock + true + false + 2020-11-25 12:38:25.996 + false + + MustBeStocked + If not sufficient in stock in the warehouse, the BOM is not produced + + + true + + + + + + false + 57996 + 0 + 0 + ECA14 + 0 + 54471 + 100 + 20 + + 60 + 100 + + 1672 + c68ad0d3-0983-4106-8891-94f15cee1b8b + + + + + 2020-11-25 12:38:26.942 + true + 2020-11-25 12:38:26.942 + Product quantity must be in stock + false + If not sufficient in stock in the warehouse, the BOM is not produced + + 57996 + 0 + 0 + 100 + es_MX + 100 + 400317f7-24f1-46c8-abce-05f29daa88a8 + + + + + 2020-11-25 12:38:27.188 + Product Classification + true + false + 2020-11-25 12:38:27.188 + false + + M_Product_Classification_ID + Classification of a Product + Identifies the classification which this product belongs to. + + true + + + + + + false + 57997 + 0 + 0 + ECA14 + 22 + 54471 + 100 + 19 + + 70 + 100 + + 55490 + 3e40a571-f43a-42d3-9683-87f587bee47a + + + + + Identifies the classification which this product belongs to. + 2020-11-25 12:38:28.101 + true + 2020-11-25 12:38:28.101 + Product Classification + false + Classification of a Product + 57997 + 0 + 0 + 100 + es_MX + 100 + 2b9f9d94-e9d3-4d1b-83a9-ed97a8819233 + + + + + 2020-11-25 12:38:28.307 + Product Class + true + false + 2020-11-25 12:38:28.307 + false + + M_Product_Class_ID + Class of a Product + Identifies the Class which this product belongs to + + true + + + + + + false + 57998 + 0 + 0 + ECA14 + 22 + 54471 + 100 + 19 + + 80 + 100 + + 55492 + 716a02af-6327-4401-aa21-0debdf6a5051 + + + + + 2020-11-25 12:38:29.168 + es_MX + 100 + 7fc56649-48b1-4919-8e55-b388c0b29670 + true + 2020-11-25 12:38:29.168 + Product Class + false + Class of a Product + Identifies the Class which this product belongs to + 57998 + 0 + 0 + 100 + + + + + 2020-11-25 12:38:29.445 + Product Group + true + false + 2020-11-25 12:38:29.445 + false + + M_Product_Group_ID + Group of a Product + Identifies the Group which this product belongs to. + + true + + + + + + false + 57999 + 0 + 0 + ECA14 + 22 + 54471 + 100 + 19 + + 90 + 100 + + 55494 + 2aec3c8a-5340-4dca-a43a-c6a14cdba86f + + + + + 2020-11-25 12:38:30.314 + true + 2020-11-25 12:38:30.314 + Product Group + false + Group of a Product + Identifies the Group which this product belongs to. + 57999 + 0 + 0 + 100 + es_MX + 100 + 8f40db5d-78f4-4b19-8670-efb8e95a51f7 + + + + + Informe de Lista de Precios (Etiqueta de Productos Pequeña) + es_MX + 54471 + + + + + Informe de Lista de Precios (Etiqueta de Productos) + es_MX + 54467 + + + + + Este reporte muestra los precios de productos para etiquetar + es_MX + 54471 + + + + + Use este reporte para etiquetar productos en los pasillos de la tienda + es_MX + 54471 + + + + + -1 + + + + + -1 + + + + + -1 + + + + + -1 + + + + + -1 + + + + + -1 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + 80 + + + + + 90 + + + + + + 3a8310ae-9a50-43fc-907e-ea2476bb03b6 + + Use this report for print a label and paste in store aisle + false + true + 0 + 0 + Y + 100 + 100 + 54472 + 0 + 0 + + + + ECA14 + attachment:inf_ProductLabel_Barcode.jasper + 2020-11-25 12:42:28.356 + 2020-11-25 12:42:28.356 + Price List (Product Label with Barcode) + This Report show all price list with label format for customer + false + N + true + inf_PriceList_Product_Label_Barcode + + + 3 + false + N + + + + + + true + 2020-11-25 12:42:29.158 + 2020-11-25 12:42:29.158 + This Report show all price list with label format for customer + Use this report for print a label and paste in store aisle + false + Price List (Product Label with Barcode) + 0 + 0 + 100 + es_MX + 54472 + 100 + b0d5fa3c-ae0c-4bc0-bad4-0455b762a142 + + + + + Informe de Lista de Precios (Etiqueta de Código) + es_MX + 54472 + + + + + Este reporte muestra los precios de productos para etiquetar + es_MX + 54472 + + + + + Este reporte muestra los precios de productos para etiquetar con su código de Barras + Use este reporte para etiquetar productos en los pasillos de la tienda incluyendo el código de barras + es_MX + 54472 + + + + + 2020-11-25 12:43:51.062 + Organization + true + false + 2020-11-25 12:43:51.062 + false + + AD_Org_ID + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + true + + + + -1 + + false + 58000 + 0 + 0 + ECA14 + 22 + 54472 + 100 + 19 + + 10 + 100 + + 113 + 29631a31-57dc-474b-b7c9-23752bf044dd + + + + + 2020-11-25 12:43:51.7 + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + 58000 + 0 + 0 + 100 + es_MX + 100 + 8752fc51-aecf-4b08-87b3-0dbd0af77487 + true + 2020-11-25 12:43:51.7 + Organization + false + Organizational entity within client + + + + + 2020-11-25 12:43:52.005 + Price List + true + false + 2020-11-25 12:43:52.005 + false + + M_PriceList_ID + Unique identifier of a Price List + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + + true + + + + -1 + + false + 58001 + 0 + 0 + ECA14 + 22 + 54472 + 100 + 19 + + 20 + 100 + + 449 + 0228cbaa-bb2c-4c7b-9d87-94eab7be5435 + + + + + 100 + 2020-11-25 12:43:52.712 + true + 2020-11-25 12:43:52.712 + Price List + false + Unique identifier of a Price List + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + 58001 + 0 + 0 + es_MX + 100 + c59c7ea7-8b63-4abc-be07-5d57aaa874bb + + + + + 2020-11-25 12:43:52.959 + Product Category + true + false + 2020-11-25 12:43:52.959 + false + + M_Product_Category_ID + Category of a Product + Identifies the category which this product belongs to. Product categories are used for pricing and selection. + + true + + + + + + false + 58002 + 0 + 0 + ECA14 + 22 + 54472 + 100 + 19 + + 30 + 100 + 163 + 453 + 9e95a9fc-babf-4114-9f79-da18e39682c5 + + + + + 2020-11-25 12:43:53.839 + true + 2020-11-25 12:43:53.839 + Product Category + false + Category of a Product + Identifies the category which this product belongs to. Product categories are used for pricing and selection. + 58002 + 0 + 0 + 100 + es_MX + 100 + 89450be8-ac95-4378-8228-fdb492393750 + + + + + 2020-11-25 12:43:54.07 + false + 2020-11-25 12:43:54.07 + false + + M_Product_ID + Product, Service, Item + Identifies an item which is either purchased or sold in this organization. + + true + + + + + + false + 58003 + 0 + 0 + ECA14 + 22 + 54472 + 100 + 30 + + 40 + 100 + + 454 + e70e5c8c-32f7-49e3-adab-3aa7be660422 + Product + true + + + + + 2020-11-25 12:43:54.694 + true + 2020-11-25 12:43:54.694 + Product + false + Product, Service, Item + Identifies an item which is either purchased or sold in this organization. + 58003 + 0 + 0 + 100 + es_MX + 100 + f466bf88-d6dc-4818-a389-97dca57eac3f + + + + + 2020-11-25 12:43:55.025 + Valid from + true + false + 2020-11-25 12:43:55.025 + true + + ValidFrom + Valid from including this date (first day) + The Valid From date indicates the first day of a date range + + true + + + + + + false + 58004 + 0 + 0 + ECA14 + 7 + 54472 + 100 + 15 + + 50 + 100 + + 617 + ad7415f5-244e-48bf-94ac-aab8d7b05182 + + + + + 2020-11-25 12:43:55.65 + true + 2020-11-25 12:43:55.651 + Valid from + false + Valid from including this date (first day) + The Valid From date indicates the first day of a date range + 58004 + 0 + 0 + 100 + es_MX + 100 + 8ead2b31-cc4a-4306-b81a-ae26e1752740 + + + + + + 2020-11-25 12:43:55.855 + Product quantity must be in stock + true + false + 2020-11-25 12:43:55.855 + false + + MustBeStocked + If not sufficient in stock in the warehouse, the BOM is not produced + + + true + + + + + false + 58005 + 0 + 0 + ECA14 + 0 + 54472 + 100 + 20 + + 60 + 100 + + 1672 + 633e375d-0d9a-4627-b969-224982ad2386 + + + + + 2020-11-25 12:43:56.562 + true + 2020-11-25 12:43:56.562 + Product quantity must be in stock + false + If not sufficient in stock in the warehouse, the BOM is not produced + + 58005 + 0 + 0 + 100 + es_MX + 100 + 6884e22f-8156-4e41-9b2f-50323f0a0d7d + + + + + ECA14 + 22 + 54472 + 100 + 19 + + 70 + 100 + + 55490 + ddbec4a3-4803-410a-aead-32f9856bcfa1 + 2020-11-25 12:43:56.839 + Product Classification + true + false + 2020-11-25 12:43:56.839 + false + + M_Product_Classification_ID + Classification of a Product + Identifies the classification which this product belongs to. + + true + + + + + + false + 58006 + 0 + 0 + + + + + 2020-11-25 12:43:57.426 + true + 2020-11-25 12:43:57.426 + Product Classification + false + Classification of a Product + Identifies the classification which this product belongs to. + 58006 + 0 + 0 + 100 + es_MX + 100 + 8fa65ea0-d698-4bda-819a-3f68c931670f + + + + + 100 + 2020-11-25 12:43:57.629 + Product Class + true + false + 2020-11-25 12:43:57.629 + false + + M_Product_Class_ID + Class of a Product + Identifies the Class which this product belongs to + + true + + + + + + false + 58007 + 0 + 0 + ECA14 + 22 + 54472 + 100 + 19 + + 80 + + 55492 + 18d16679-2658-4dd7-b8fc-05cb4fde937c + + + + + 2020-11-25 12:43:58.249 + true + 2020-11-25 12:43:58.249 + Product Class + false + Class of a Product + Identifies the Class which this product belongs to + 58007 + 0 + 0 + 100 + es_MX + 100 + a0a322e3-cdbf-470f-8301-7c79547ae1b3 + + + + + 2020-11-25 12:43:58.54 + Product Group + true + false + 2020-11-25 12:43:58.54 + false + + M_Product_Group_ID + Group of a Product + Identifies the Group which this product belongs to. + + true + + + + + + false + 58008 + 0 + 0 + ECA14 + 22 + 54472 + 100 + 19 + + 90 + 100 + + 55494 + bba2d3ee-4b86-48d9-9ce4-2505bbf97a23 + + + + + 2020-11-25 12:43:59.185 + 2020-11-25 12:43:59.185 + Product Group + false + Group of a Product + Identifies the Group which this product belongs to. + 58008 + 0 + 0 + 100 + es_MX + 100 + 35b86459-1565-443c-8cd7-875162eeba6c + true + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + 80 + + + + + 90 + + + + + Informe de Lista de Precios (Etiqueta de Código de Barras) + es_MX + 54472 + + + + + Este reporte muestra los precios de productos para etiquetar productos como repuestos o tornillos + Use este reporte para etiquetar productos directamente en su caja o sobre el mismo + es_MX + 54471 + + + + + true + + 2020-11-25 12:46:05.623 + 2020-11-25 12:46:05.623 + + false + false + false + true + + R + 0 + 54675 + 0 + + ECA14 + + + 100 + + 100 + 54471 + 7e1ab4c5-f3b5-4fef-bc5f-935fa759aff3 + Price List (Product Label Little) + + + + + true + 2020-11-25 12:46:06.459 + 2020-11-25 12:46:06.459 + 100 + + false + 0 + 0 + 100 + 54675 + es_MX + ff4d2ae5-fe51-4b5a-ad97-b9968c9f7990 + Price List (Product Label Little) + + + + + true + 426add8d-8ce7-4526-a02b-d84ae88d2869 + 2020-11-25 12:46:06.665 + 2020-11-25 12:46:06.665 + 0 + 0 + 54675 + 0 + 100 + 100 + 999 + 10 + + + + + true + + 2020-11-25 12:46:22.032 + 2020-11-25 12:46:22.032 + + false + false + false + true + + R + 0 + 54676 + 0 + + ECA14 + + + 100 + + 100 + 54472 + d7699d40-b435-4419-bcd8-8a8d93a9e874 + Price List (Product Label with Barcode) + + + + + true + 2020-11-25 12:46:22.609 + 2020-11-25 12:46:22.609 + 100 + + false + 0 + 0 + 100 + 54676 + es_MX + 976fe40e-4e5a-49c3-875f-ad5e2637d685 + Price List (Product Label with Barcode) + + + + + ee316e33-ea9d-4933-a89c-e35aed61af0d + 2020-11-25 12:46:22.928 + 0 + 0 + 54676 + 0 + 100 + 100 + 999 + 10 + true + 2020-11-25 12:46:22.928 + + + + + true + + 2020-11-25 12:47:08.518 + 2020-11-25 12:47:08.518 + + true + false + false + true + Show all report for price list + + 0 + 54677 + 0 + + ECA14 + + + 100 + + 100 + + 979c9530-5e72-4ecf-b5ff-e9da3f12f36f + Price List Reports + + + + + true + 2020-11-25 12:47:09.116 + 2020-11-25 12:47:09.116 + 100 + Show all report for price list + false + 0 + 0 + 100 + 54677 + es_MX + 8c5e4a4b-f111-4701-b868-19a80017abef + Price List Reports + + + + + 0 + 0081f67f-76e5-44f9-bf8f-409efd98e1dc + true + 2020-11-25 12:47:09.325 + 2020-11-25 12:47:09.325 + 0 + 54677 + 0 + 100 + 100 + 999 + 10 + + + + + false + + + + + Muestra todos los reportes de lista de precios + 54677 + es_MX + Reportes de Lista de Precio + + + + + 54677 + 183 + 3 + 10 + + + + + 229 + 4 + 10 + + + + + 412 + 5 + 10 + + + + + 256 + 6 + 10 + + + + + 197 + 7 + 10 + + + + + 477 + 8 + 10 + + + + + 179 + 9 + 10 + + + + + 53626 + 10 + 10 + + + + + 181 + 11 + 10 + + + + + 54671 + 12 + 10 + + + + + 54673 + 13 + 10 + + + + + 503 + 14 + 10 + + + + + 196 + 15 + 10 + + + + + 228 + 16 + 10 + + + + + 479 + 17 + 10 + + + + + 482 + 18 + 10 + + + + + 481 + 19 + 10 + + + + + 54422 + 20 + 10 + + + + + 411 + 21 + 10 + + + + + 426 + 22 + 10 + + + + + 53253 + 23 + 10 + + + + + 537 + 24 + 10 + + + + + 311 + 25 + 10 + + + + + 292 + 26 + 10 + + + + + 504 + 27 + 10 + + + + + 515 + 28 + 10 + + + + + 54675 + 54677 + 0 + 10 + + + + + 54676 + 54677 + 0 + 10 + + + + + 54675 + 1 + 10 + + + + + 54671 + 54677 + 0 + 10 + + + + + 54676 + 1 + 10 + + + + + 54675 + 2 + 10 + + + + + 54654 + 54677 + 0 + 10 + + + + + 54671 + 1 + 10 + + + + + 10 + 54676 + 2 + + + + + 54675 + 3 + 10 + + + + + 54673 + 54677 + 0 + 10 + + + + + 54654 + 1 + 10 + + + + + 54671 + 2 + 10 + + + + + 54676 + 3 + 10 + + + + + 54675 + 4 + 10 + + + + + Product Reports + + + + + 54677 + es_MX + Reportes de Productos + + + + diff --git a/pos/xml/migration/07070_Add_report_View_for_Qr_Code.xml b/pos/xml/migration/07070_Add_report_View_for_Qr_Code.xml new file mode 100644 index 0000000000..b5c4f0a8e7 --- /dev/null +++ b/pos/xml/migration/07070_Add_report_View_for_Qr_Code.xml @@ -0,0 +1,57 @@ + + + + + + 2020-11-25 13:01:58.843 + + true + 2020-11-25 13:01:58.843 + 53336 + M_Product.DescriptionURL IS NOT NULL AND LENGTH(M_Product.DescriptionURL) > 5 + + + M_Product (Qr Code) + Qr Code + true + 0 + ECA14 + 0 + 100 + 100 + 208 + f8fd48a3-c15d-4ef3-9e19-baf64bc07402 + + + + + true + 100 + es_MX + 53336 + b5365ac3-62c1-4b88-bac6-94901964d8db + 2020-11-25 13:01:59.674 + 2020-11-25 13:01:59.674 + Qr Code + M_Product (Qr Code) + + false + 0 + 0 + 100 + + + + + false + + + + + Código Qr + es_MX + 53336 + + + + diff --git a/pos/xml/migration/07080_Add_Check_Price_Form.xml b/pos/xml/migration/07080_Add_Check_Price_Form.xml new file mode 100644 index 0000000000..01c468c061 --- /dev/null +++ b/pos/xml/migration/07080_Add_Check_Price_Form.xml @@ -0,0 +1,169 @@ + + + + + + 2020-04-23 22:54:15.407 + 2020-04-23 22:54:15.407 + true + Check Product Price and values + 3 + PriceChecking + This form allows check product pricing and storagebased on available price list for organization + + Check Price + false + 0 + 0 + 53085 + ECA02 + 100 + 100 + 5aacaab1-1ba0-4cf0-992a-0da34c460ffe + + + + + 2020-04-23 22:54:16.956 + Check Product Price and values + 2020-04-23 22:54:16.956 + true + false + Check Price + This form allows check product pricing and storagebased on available price list for organization + 0 + 0 + 53085 + es_MX + 100 + 100 + 1dc27793-3159-47c8-a735-6a0dd2d94c40 + + + + + Consulta precio de Productos y Valores + Consulta de Precios + Este formulario permite consultar el precio de los productos así como su inventario basado en la lista de precios disponible para la organización + 53085 + es_MX + + + + + This form allows check product pricing and storage based on available price list for organization + + + + + true + + 2020-04-23 22:56:01.978 + 2020-04-23 22:56:01.978 + + false + true + false + true + + X + 0 + 54597 + 0 + + ECA02 + + + 100 + 53085 + 100 + + 94f41bb2-57bb-432f-a22a-488cbf82dc87 + Check Price + + + + + true + 2020-04-23 22:56:02.767 + 2020-04-23 22:56:02.767 + 100 + + false + 0 + 0 + 100 + 54597 + es_MX + a1aeee02-7507-45f4-bcbd-76864811772f + Check Price + + + + + a98f8d63-4c51-49fd-9324-818f41917ec7 + true + 2020-04-23 22:56:02.979 + 2020-04-23 22:56:02.979 + 0 + 0 + 54597 + 0 + 100 + 100 + 999 + 10 + + + + + 492 + 17 + 10 + + + + + 53269 + 18 + 10 + + + + + 491 + 19 + 10 + + + + + 419 + 20 + 10 + + + + + 10 + 54597 + 54030 + 21 + + + + + 54031 + 22 + 10 + + + + + 54033 + 23 + 10 + + + + diff --git a/pos/xml/migration/07250_Update_where_clause_for_Withdrawal.xml b/pos/xml/migration/07250_Update_where_clause_for_Withdrawal.xml new file mode 100644 index 0000000000..00fde8b058 --- /dev/null +++ b/pos/xml/migration/07250_Update_where_clause_for_Withdrawal.xml @@ -0,0 +1,13 @@ + + + + + + cp.IsReceipt = 'Y' +AND cp.IsReconciled = 'N' +AND cp.DocStatus IN('CO', 'CL') +AND (cp.Ref_Payment_ID IS NULL AND cp.RelatedPayment_ID IS NULL OR (NOT EXISTS(SELECT 1 FROM C_Payment p WHERE C_Payment_ID = cp.Ref_Payment_ID AND p.DocStatus IN('CO', 'CL')))) + + + + diff --git a/pos/xml/migration/07840_Add_Allocation_for_POS.xml b/pos/xml/migration/07840_Add_Allocation_for_POS.xml new file mode 100644 index 0000000000..44c89b8ed4 --- /dev/null +++ b/pos/xml/migration/07840_Add_Allocation_for_POS.xml @@ -0,0 +1,4400 @@ + + + + + + C_POSWarehouseAllocation + POS Warehouse Allocation + 2021-06-07 15:27:39.717 + 2021-06-07 15:27:39.717 + false + + true + Warehouses allocated for POS terminal + + 2 + + L + false + 0 + false + false + + false + true + false + true + 0 + 0 + 54847 + ECA14 + + 338 + 100 + 0 + 100 + + d1de09e5-b716-407b-a8fd-e970a2a51203 + true + + + + + + 2021-06-07 15:27:43.245 + 2021-06-07 15:27:43.245 + false + true + POS Warehouse Allocation + 0 + 0 + es_MX + 54847 + 100 + 100 + 9d30fa00-05be-43e6-b2bd-cf3566c345a7 + + + + + + 61763 + 2021-06-07 15:27:43.513 + true + POS Warehouse Allocation + + 2021-06-07 15:27:43.513 + C_POSWarehouseAllocation_ID + + + + POS Warehouse Allocation + + + + 0 + 0 + ECA14 + 100 + + 100 + 7d84eebe-38ac-4773-aecc-9d1b042c4b89 + + + + + 2021-06-07 15:27:44.711 + + true + 2021-06-07 15:27:44.711 + es_MX + + + POS Warehouse Allocation + + false + POS Warehouse Allocation + + + 0 + 0 + 100 + 100 + 61763 + 8a7b6321-17b1-4ff1-b888-e8170f3cee4b + + + + + + true + + 2021-06-07 15:27:45.018 + + 2021-06-07 15:27:45.018 + + 98967 + false + POS Warehouse Allocation + true + false + + + false + false + + true + + + + 1 + + C_POSWarehouseAllocation_ID + + false + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54847 + 100 + 61763 + + + 22 + 13 + 100 + c98baf4a-5dc4-406e-ac92-845c2063248b + + true + + + + + + 2021-06-07 15:27:47.336 + true + 2021-06-07 15:27:47.336 + 98967 + false + POS Warehouse Allocation + 0 + 0 + 100 + 100 + es_MX + 14b6fafd-d6b9-4895-94a5-1246a310bc60 + + + + + Client/Tenant for this installation. + false + @#AD_Client_ID@ + + false + false + + false + + + + 1 + + AD_Client_ID + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54847 + 100 + 102 + + 129 + 22 + 19 + 100 + 66ea09c2-e312-479c-b161-748c3119e890 + + true + + true + + 2021-06-07 15:27:47.564 + + 2021-06-07 15:27:47.564 + + 98968 + false + Client + true + + + + + 2021-06-07 15:27:48.885 + 2faa378a-7fea-4220-9763-e90e9940238d + true + 2021-06-07 15:27:48.885 + 98968 + false + Client + 0 + 0 + 100 + 100 + es_MX + + + + + Organizational entity within client + true + + 2021-06-07 15:27:49.092 + + 2021-06-07 15:27:49.092 + + 98969 + false + Organization + true + false + @#AD_Org_ID@ + + false + false + + false + + + + 1 + + AD_Org_ID + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + + false + N + + true + false + false + true + + ECA14 + 0 + 0 + + 54847 + 100 + 113 + + 104 + 22 + 19 + 100 + c147109d-e165-46ef-a0b4-bff9cbd6fdad + + true + + + + + + true + 2021-06-07 15:27:50.932 + 2021-06-07 15:27:50.932 + 98969 + false + Organization + 0 + 0 + 100 + 100 + es_MX + 92b36b45-e016-445e-8718-036e82b4ccb3 + + + + + The record is active in the system + 0 + + 54847 + 100 + 348 + + + 1 + 20 + 100 + a5fd81b3-a7b2-486d-81ba-415184cd9a77 + + true + + true + + 2021-06-07 15:27:51.223 + + 2021-06-07 15:27:51.223 + + 98970 + false + Active + true + false + Y + + false + false + + false + + + + 1 + + IsActive + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + true + + false + N + + true + false + false + false + + ECA14 + 0 + + + + + 2021-06-07 15:27:52.547 + true + 2021-06-07 15:27:52.547 + 98970 + false + Active + 0 + 0 + 100 + 100 + es_MX + 700100bf-b413-4853-b072-c3fa18bc1134 + + + + + true + Date this record was created + true + + 2021-06-07 15:27:52.772 + + 2021-06-07 15:27:52.772 + + 98971 + false + Created + true + false + + + false + false + + false + + + + 1 + + Created + The Created field indicates the date that this record was created. + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54847 + 100 + 245 + + + 7 + 16 + 100 + 21a09130-6e21-4ab4-8e55-4d7d835645a9 + + true + + + + + + 2021-06-07 15:27:54.267 + true + 2021-06-07 15:27:54.267 + 98971 + false + Created + 0 + 0 + 100 + 100 + es_MX + 75762ccf-2978-481a-be70-2a6d8f5671f1 + + + + + Date this record was updated + false + false + + false + + + + 1 + + Updated + The Updated field indicates the date that this record was updated. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54847 + 100 + 607 + + + 7 + 16 + 100 + ec2fc3e7-56a2-4a7b-82b0-8b8ea05164db + + true + + true + + 2021-06-07 15:27:54.511 + + 2021-06-07 15:27:54.511 + + 98972 + false + Updated + true + false + + + + + + + 2021-06-07 15:27:57.278 + true + 2021-06-07 15:27:57.278 + 98972 + false + Updated + 0 + 0 + 100 + 100 + es_MX + 2c3f579f-8634-4432-9092-c4c1627898d6 + + + + + User who created this records + true + + 2021-06-07 15:27:57.49 + + 2021-06-07 15:27:57.49 + + 98973 + false + Created By + true + false + + + false + false + + false + + + + 1 + + CreatedBy + The Created By field indicates the user who created this record. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54847 + 100 + 246 + 110 + + 22 + 18 + 100 + 1af05508-0d11-4910-8a72-ae1b81c587f0 + + true + + + + + + false + 2021-06-07 15:27:58.801 + true + 2021-06-07 15:27:58.801 + 98973 + Created By + 0 + 0 + 100 + 100 + es_MX + ba9038b4-407a-4677-b1e8-d59d2ed20e1a + + + + + User who updated this records + 18 + 100 + f40e975a-0486-4026-a4cd-98748a322040 + + true + + true + + 2021-06-07 15:27:59.023 + + 2021-06-07 15:27:59.023 + + 98974 + false + Updated By + true + false + + + false + false + + false + + + + 1 + + UpdatedBy + The Updated By field indicates the user who updated this record. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54847 + 100 + 608 + 110 + + 22 + + + + + 2021-06-07 15:28:00.208 + true + 2021-06-07 15:28:00.208 + 98974 + false + Updated By + 0 + 0 + 100 + 100 + es_MX + a1a190a8-5b59-4120-8c1f-99af24035b99 + + + + + Immutable Universally Unique Identifier + false + false + false + + ECA14 + 0 + 0 + + 54847 + 100 + 59595 + + + 36 + 10 + 100 + 24fcab49-ebe6-487d-9abc-798ecee0f8f9 + + true + + true + + 2021-06-07 15:28:00.414 + + 2021-06-07 15:28:00.414 + + 98975 + false + Immutable Universally Unique Identifier + false + false + + + false + false + + false + + + + 1 + + UUID + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + true + + false + N + + true + + + + + 2021-06-07 15:28:01.651 + true + 2021-06-07 15:28:01.651 + 98975 + false + Immutable Universally Unique Identifier + 0 + 0 + 100 + 100 + es_MX + 7eef2e1f-f078-4422-acb6-92a5e8654247 + + + + + 50000 + true + Table C_POSWarehouseAllocation + 2021-06-07 15:28:01.881 + 2021-06-07 15:28:01.881 + false + + true + false + + + + + C_POSWarehouseAllocation + 0 + 0 + 55374 + 1 + 1000000 + true + 1000000 + 100 + 100 + d75d7e04-c5f0-455c-940c-bc12c87f5c2b + + + + + Asignación de Almacén al PDV + es_MX + 54847 + + + + + All Allocated Warehouses for POS + 10 + 19 + + + + + All Allocated Warehouses for POS + + + + + es_MX + Asignación de Almacén al PDV + Asignación de Almacén al PDV para seleccionar + Asignación de Almacén al PDV + 61763 + + + + + Point of Sales Terminal + true + 1 + ECA14 + 0 + 0 + + 54847 + 100 + 2581 + + + 22 + 19 + 100 + 957cf8ab-0ffa-4b44-a909-38e6d1cce942 + + true + + + 2021-06-07 15:47:51.073 + + 2021-06-07 15:47:51.073 + + 98976 + true + POS Terminal + true + false + + + false + true + N + false + + + + 0 + + C_POS_ID + The POS Terminal defines the defaults and functions available for the POS Form + true + + false + N + + true + false + false + true + + + + + 2021-06-07 15:47:52.304 + true + 2021-06-07 15:47:52.304 + 98976 + false + POS Terminal + 0 + 0 + 100 + 100 + es_MX + d7244418-faf6-495c-b2ae-d09d9051e102 + + + + + Storage Warehouse and Service Point + The Warehouse identifies a unique Warehouse where products are stored or Services are provided. + true + + false + N + + true + false + false + true + 2 + ECA14 + 0 + 0 + + 54847 + 100 + 459 + + + 22 + 19 + 100 + 18b95cbf-7964-4eb9-b95c-77b6127f0d02 + + true + + true + + 2021-06-07 15:48:53.004 + + 2021-06-07 15:48:53.004 + + 98977 + true + Warehouse + true + false + -1 + + false + true + N + false + + + + 0 + + M_Warehouse_ID + + + + + 2021-06-07 15:48:54.512 + true + 2021-06-07 15:48:54.512 + 98977 + false + Warehouse + 0 + 0 + 100 + 100 + es_MX + caadd783-1133-4700-bc87-235de98dc91f + + + + + false + 2021-06-07 15:50:03.801 + 2021-06-07 15:50:03.801 + POS Tender Type Allocation + false + + true + Tender Types allocated for POS terminal + + C_POSPaymentTypeAllocation + 2 + + L + false + 0 + false + + false + true + false + true + 0 + 0 + 54848 + ECA14 + + 338 + 100 + 0 + 100 + + 2c74b129-89e6-4c10-bbb0-54cc9990d731 + true + + + + + + 2021-06-07 15:50:06.045 + 2021-06-07 15:50:06.045 + false + true + POS Tender Type Allocation + 0 + 0 + es_MX + 54848 + 100 + 100 + a4b41baf-793f-4406-8b9a-82dcf29584dd + + + + + 2021-06-07 15:50:06.28 + true + POS Tender Type Allocation + + 100 + 11285f7a-69c2-4f5d-bcea-3d51bcca0031 + + 2021-06-07 15:50:06.28 + C_POSPaymentTypeAllocation_ID + + + + POS Tender Type Allocation + + + + + 61764 + 0 + 0 + ECA14 + 100 + + + + + 2021-06-07 15:50:07.655 + + true + 2021-06-07 15:50:07.655 + es_MX + + + POS Tender Type Allocation + + false + POS Tender Type Allocation + + + 0 + 0 + 100 + 100 + 61764 + 5b0fe0cc-9278-4586-91ae-fd5f91253b5f + + + + + + + true + false + false + false + + ECA14 + 0 + 0 + + 54848 + 100 + 61764 + + + 22 + 13 + 100 + 75ba80ae-3976-49f8-98c4-999d176965d4 + + true + + true + + 2021-06-07 15:50:08.079 + + 2021-06-07 15:50:08.079 + + 98978 + false + POS Tender Type Allocation + true + false + + + false + false + + true + + + + 1 + + C_POSPaymentTypeAllocation_ID + + false + + false + N + + + + + 2021-06-07 15:50:09.385 + true + 2021-06-07 15:50:09.385 + 98978 + false + POS Tender Type Allocation + 0 + 0 + 100 + 100 + es_MX + 554a4ebd-de01-41d3-9eaa-189abd75a4da + + + + + Client/Tenant for this installation. + false + + + + 1 + + AD_Client_ID + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54848 + 100 + 102 + + 129 + 22 + 19 + 100 + 279813d3-7e34-4545-8f0f-b96ec9a0141b + + true + + true + + 2021-06-07 15:50:09.596 + + 2021-06-07 15:50:09.596 + + 98979 + false + Client + true + false + @#AD_Client_ID@ + + false + false + + + + + + 2021-06-07 15:50:11.245 + true + 2021-06-07 15:50:11.245 + 98979 + false + Client + 0 + 0 + 100 + 100 + es_MX + 2994dc73-e4c4-4d8e-90f0-a151587b7d11 + + + + + 2021-06-07 15:50:11.545 + Organizational entity within client + true + + 2021-06-07 15:50:11.545 + + + 98980 + false + Organization + true + false + @#AD_Org_ID@ + + false + false + + false + + + + 1 + + AD_Org_ID + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + + false + N + + true + false + false + true + + ECA14 + 0 + 0 + + 54848 + 100 + 113 + + 104 + 22 + 19 + 100 + bafd524c-47cd-4ae6-94ee-20c88954ec4c + + true + + + + + + 2021-06-07 15:50:14.158 + 0 + 0 + 100 + 100 + es_MX + 0500d099-6af9-4d99-bb0b-b0c7a3dc6351 + true + 2021-06-07 15:50:14.158 + 98980 + false + Organization + + + + + The record is active in the system + + 1 + 20 + 100 + 3ae412ed-3e59-4560-af6d-a4315e3a283c + + true + + true + + 2021-06-07 15:50:14.377 + + 2021-06-07 15:50:14.377 + + 98981 + false + Active + true + false + Y + + false + false + + false + + + + 1 + + IsActive + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54848 + 100 + 348 + + + + + + 2021-06-07 15:50:15.702 + true + 2021-06-07 15:50:15.702 + 98981 + false + Active + 0 + 0 + 100 + 100 + es_MX + 25189a89-89f3-4756-b52d-eb09db54656b + + + + + false + Date this record was created + true + + 2021-06-07 15:50:15.954 + + 2021-06-07 15:50:15.954 + + 98982 + false + Created + true + false + + + false + false + + false + + + + 1 + + Created + The Created field indicates the date that this record was created. + true + + false + N + + true + false + false + + ECA14 + 0 + 0 + + 54848 + 100 + 245 + + + 7 + 16 + 100 + 7fb332f2-5ba7-4473-98a7-e9d431167a89 + + true + + + + + + 2021-06-07 15:50:17.259 + true + 2021-06-07 15:50:17.259 + 98982 + false + Created + 0 + 0 + 100 + 100 + es_MX + cef3196c-c10f-4e83-a942-01657fdbd039 + + + + + Date this record was updated + + 1 + + Updated + The Updated field indicates the date that this record was updated. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54848 + 100 + 607 + + + 7 + 16 + 100 + 81b36f66-3e07-4fcb-b605-a191284de10e + + true + + true + + 2021-06-07 15:50:17.527 + + 2021-06-07 15:50:17.527 + + 98983 + false + Updated + true + false + + + false + false + + false + + + + + + + 2021-06-07 15:50:19.029 + true + 2021-06-07 15:50:19.029 + 98983 + false + Updated + 0 + 0 + 100 + 100 + es_MX + 16a52b68-d838-43f8-ae97-142cd5774de8 + + + + + User who created this records + false + Created By + true + false + + + false + false + + false + + + + 1 + + CreatedBy + The Created By field indicates the user who created this record. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54848 + 100 + 246 + 110 + + 22 + 18 + 100 + aecc91f0-696b-4f67-aa6d-bcacfcac7876 + + true + + true + + 2021-06-07 15:50:19.227 + + 2021-06-07 15:50:19.227 + + 98984 + + + + + es_MX + 2021-06-07 15:50:20.454 + true + 2021-06-07 15:50:20.454 + 98984 + false + Created By + 0 + 0 + 100 + 100 + 20e14709-bf11-4acf-944e-b0600c81b8b1 + + + + + + User who updated this records + true + + 2021-06-07 15:50:20.646 + + 2021-06-07 15:50:20.646 + + 98985 + false + Updated By + true + false + + + false + false + + false + + + + 1 + + UpdatedBy + The Updated By field indicates the user who updated this record. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54848 + 100 + 608 + 110 + + 22 + 18 + 100 + 39f1b4cd-69da-43ce-b6d7-14627abe67aa + + true + + + + + 2021-06-07 15:50:22.382 + true + 2021-06-07 15:50:22.382 + 98985 + false + Updated By + 0 + 0 + 100 + 100 + es_MX + 4cf2efee-5268-4c04-9ff9-0fed25290c6b + + + + + Immutable Universally Unique Identifier + 0 + 0 + + 54848 + 100 + 59595 + + + 36 + 10 + 100 + d78b4cc1-0347-4606-b0d4-d58429c56722 + + true + + true + + 2021-06-07 15:50:22.671 + + 2021-06-07 15:50:22.671 + + 98986 + false + Immutable Universally Unique Identifier + false + false + + + false + false + + false + + + + 1 + + UUID + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + true + + false + N + + true + false + false + false + + ECA14 + + + + + 2021-06-07 15:50:24.167 + true + 2021-06-07 15:50:24.167 + 98986 + false + Immutable Universally Unique Identifier + 0 + 0 + 100 + 100 + es_MX + efff047f-a941-418d-806d-7347ecce9113 + + + + + true + Table C_POSPaymentTypeAllocation + 2021-06-07 15:50:24.475 + 2021-06-07 15:50:24.475 + false + + true + false + + + + + C_POSPaymentTypeAllocation + 0 + 0 + 55375 + 1 + 1000000 + true + 50000 + 1000000 + 100 + 100 + 22e8b736-716d-486a-ab93-cec6892144f8 + + + + + Forma de Pago Asignada al PDV + es_MX + 54848 + + + + + 10 + 19 + + + + + es_MX + Forma de Pago Asignada al PDV + Forma de Pago Asignada al PDV para seleccionar + Forma de Pago Asignada al PDV + 61764 + + + + + Point of Sales Terminal + d9dd2bce-75d0-4f99-a3bc-4b9ff4e8d5fd + + true + + true + + 2021-06-07 15:51:52.129 + + 2021-06-07 15:51:52.129 + + 98987 + true + POS Terminal + true + false + + + false + true + N + false + + + + 0 + + C_POS_ID + The POS Terminal defines the defaults and functions available for the POS Form + true + + false + N + + true + false + false + true + 1 + ECA14 + 0 + 0 + + 54848 + 100 + 2581 + + + 22 + 19 + 100 + + + + + 2021-06-07 15:51:54.814 + true + 2021-06-07 15:51:54.814 + 98987 + false + POS Terminal + 0 + 0 + 100 + 100 + es_MX + 489a1e61-579a-4675-8d50-39fa6c81f1c9 + + + + + 2021-06-07 15:55:03.474 + 0 + 100 + + 319cbd55-8ab6-4380-9593-265288cce5fd + true + + 2021-06-07 15:55:03.474 + POS Price List Allocation + false + + true + Price List allocated for POS terminal + + C_POSPriceListAllocation + 2 + + L + false + 0 + false + false + + false + true + false + true + 0 + 0 + 54849 + ECA14 + + 338 + 100 + + + + + 2021-06-07 15:55:04.391 + 2021-06-07 15:55:04.391 + false + true + POS Price List Allocation + 0 + 0 + es_MX + 54849 + 100 + 100 + d7f03a15-c9c3-4139-97db-7d5a643ec8b4 + + + + + 2021-06-07 15:55:04.607 + true + POS Price List Allocation + + 2021-06-07 15:55:04.607 + C_POSPriceListAllocation_ID + + + + POS Price List Allocation + + + + + 61765 + 0 + 0 + ECA14 + 100 + + 100 + 5b9990f3-3510-44a7-a443-e0f7c41e3a40 + + + + + POS Price List Allocation + 2021-06-07 15:55:07.006 + + true + 2021-06-07 15:55:07.006 + es_MX + + + POS Price List Allocation + + false + + + 0 + 0 + 100 + 100 + 61765 + 21fd4f89-d41d-4534-89d6-2f1bfa4e7473 + + + + + 22 + + true + + 2021-06-07 15:55:07.238 + + 2021-06-07 15:55:07.238 + + 98989 + false + POS Price List Allocation + true + false + + + false + false + + true + + + + 1 + + C_POSPriceListAllocation_ID + + false + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54849 + 100 + 61765 + + + 13 + 100 + 0210018b-89c6-4237-8d8a-73a4a35a0ac5 + + true + + + + + + 2021-06-07 15:55:08.438 + true + 2021-06-07 15:55:08.438 + 98989 + false + POS Price List Allocation + 0 + 0 + 100 + 100 + es_MX + 4c6e31c1-c7d8-49b5-8fa9-8394c09b4058 + + + + + false + Client/Tenant for this installation. + true + + 2021-06-07 15:55:08.751 + + 2021-06-07 15:55:08.751 + + 98990 + false + Client + true + false + @#AD_Client_ID@ + + false + false + + false + + + + 1 + + AD_Client_ID + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + true + + false + N + + true + false + false + + ECA14 + 0 + 0 + + 54849 + 100 + 102 + + 129 + 22 + 19 + 100 + 0ecb03ae-fcdc-4918-9c3e-d36a06258956 + + true + + + + + + 2021-06-07 15:55:09.965 + true + 2021-06-07 15:55:09.965 + 98990 + false + Client + 0 + 0 + 100 + 100 + es_MX + f5193c96-7bfe-4073-a4fd-e605e30262d6 + + + + + Organizational entity within client + true + + 2021-06-07 15:55:10.2 + + 2021-06-07 15:55:10.2 + + 98991 + false + Organization + true + false + @#AD_Org_ID@ + + false + false + + false + + + + 1 + + AD_Org_ID + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + + false + N + + true + false + false + true + + ECA14 + 0 + 0 + + 54849 + 100 + 113 + + 104 + 22 + 19 + 100 + de3660ba-a087-46cb-9903-e143b4c85c2a + + true + + + + + + 2021-06-07 15:55:11.482 + true + 2021-06-07 15:55:11.482 + 98991 + false + Organization + 0 + 0 + 100 + 100 + es_MX + fdeeb6d0-b5f6-4b83-ba18-d9f2c2e4a681 + + + + + The record is active in the system + Active + true + false + Y + + false + false + + false + + + + 1 + + IsActive + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54849 + 100 + 348 + + + 1 + 20 + 100 + 9fc7ebbe-e134-4caa-be50-ec797f181f7c + + true + + true + + 2021-06-07 15:55:11.78 + + 2021-06-07 15:55:11.78 + + 98992 + false + + + + + 2021-06-07 15:55:13.102 + true + 2021-06-07 15:55:13.102 + 98992 + false + Active + 0 + 0 + 100 + 100 + es_MX + da443368-24bf-4dc8-b57b-e3a63ae5e259 + + + + + + true + + Date this record was created + true + + 2021-06-07 15:55:13.334 + + 2021-06-07 15:55:13.334 + + 98993 + false + Created + true + false + + + false + false + + false + + + + 1 + + Created + The Created field indicates the date that this record was created. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54849 + 100 + 245 + + + 7 + 16 + 100 + 2cc8ebf5-e0f4-401b-a855-1f7de47f50b1 + + + + + 2021-06-07 15:55:14.858 + true + 2021-06-07 15:55:14.858 + 98993 + false + Created + 0 + 0 + 100 + 100 + es_MX + 5c3e1380-4b28-4a62-8666-d14dbdfc8357 + + + + + 0 + Date this record was updated + true + + 2021-06-07 15:55:15.104 + + 2021-06-07 15:55:15.104 + + 98994 + false + Updated + true + false + + + false + false + + false + + + + 1 + + Updated + The Updated field indicates the date that this record was updated. + true + + false + N + + true + false + false + false + + ECA14 + 0 + + 54849 + 100 + 607 + + + 7 + 16 + 100 + 2876773a-b5e7-4a6e-ad87-0d2126ef0349 + + true + + + + + + 2021-06-07 15:55:16.191 + true + 2021-06-07 15:55:16.191 + 98994 + false + Updated + 0 + 0 + 100 + 100 + es_MX + 9a229177-cdb5-4429-818f-5b34576f5eef + + + + + User who created this records + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54849 + 100 + 246 + 110 + + 22 + 18 + 100 + 135edf8b-9ff8-4900-ab66-004a3a456506 + + true + + true + + 2021-06-07 15:55:16.395 + + 2021-06-07 15:55:16.395 + + 98995 + false + Created By + true + false + + + false + false + + false + + + + 1 + + CreatedBy + The Created By field indicates the user who created this record. + + + + + 2021-06-07 15:55:17.857 + true + 2021-06-07 15:55:17.857 + 98995 + false + Created By + 0 + 0 + 100 + 100 + es_MX + 86357ba0-0206-4b3d-89eb-33cf94219ab9 + + + + + User who updated this records + true + + 2021-06-07 15:55:18.057 + + 2021-06-07 15:55:18.057 + + 98996 + false + Updated By + true + false + + + false + false + + false + + + + 1 + + UpdatedBy + The Updated By field indicates the user who updated this record. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54849 + 100 + 608 + 110 + + 22 + 18 + 100 + bceb1148-8d96-48f9-82a7-b87dbc19f1db + + true + + + + + + 2021-06-07 15:55:19.584 + true + 2021-06-07 15:55:19.584 + 98996 + false + Updated By + 0 + 0 + 100 + 100 + es_MX + 2b155ede-aa2a-4120-8e19-8d748ddbe9a0 + + + + + Immutable Universally Unique Identifier + + 2021-06-07 15:55:19.859 + + 2021-06-07 15:55:19.859 + + 98997 + false + Immutable Universally Unique Identifier + false + false + + + false + false + + false + + + + 1 + + UUID + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54849 + 100 + 59595 + + + 36 + 10 + 100 + ced801a0-58e2-4b4f-954b-8f00e56277b5 + + true + + true + + + + + 2021-06-07 15:55:22.626 + 98997 + false + Immutable Universally Unique Identifier + 0 + 0 + 100 + 100 + es_MX + 70fc64b5-27c0-42fd-a0ba-b2fa2e066c2b + true + 2021-06-07 15:55:22.626 + + + + + true + Table C_POSPriceListAllocation + 2021-06-07 15:55:22.844 + 2021-06-07 15:55:22.844 + false + + true + false + + + + + C_POSPriceListAllocation + 0 + 0 + 55376 + 1 + 1000000 + true + 50000 + 1000000 + 100 + 100 + d66ae425-752e-467a-9589-2a851302416a + + + + + Asignación de Lista de Precio + es_MX + 54849 + + + + + 10 + 19 + + + + + es_MX + Asignación de Lista de Precio + Asignación de Lista de Precio para el PDV + Asignación de Lista de Precio + 61765 + + + + + Point of Sales Terminal + true + POS Terminal + true + false + + + false + true + N + false + + + + 0 + + C_POS_ID + The POS Terminal defines the defaults and functions available for the POS Form + true + + false + N + + true + false + false + true + 1 + ECA14 + 0 + 0 + + 54849 + 100 + 2581 + + + 22 + 19 + 100 + ce0684e7-1b9c-4c94-8876-6d6e043eb32a + + true + + true + + 2021-06-07 15:56:32.73 + + 2021-06-07 15:56:32.73 + + 98998 + + + + + 2021-06-07 15:56:35.432 + true + 2021-06-07 15:56:35.432 + 98998 + false + POS Terminal + 0 + 0 + 100 + 100 + es_MX + 6f8ff2b6-73a4-4de0-8711-85dd174045df + + + + + Unique identifier of a Price List + true + + 2021-06-07 15:56:55.367 + + 2021-06-07 15:56:55.367 + + 98999 + true + Price List + true + false + -1 + + false + true + N + false + + + + 0 + + M_PriceList_ID + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + true + + false + N + + true + false + false + true + 2 + ECA14 + 0 + 0 + + 54849 + 100 + 449 + + + 22 + 19 + 100 + 151910b6-c074-42f3-bdbc-ad9098a609c4 + + true + + + + + + 2021-06-07 15:56:56.869 + true + 2021-06-07 15:56:56.869 + 98999 + false + Price List + 0 + 0 + 100 + 100 + es_MX + aacb1e85-bc67-412e-a4bf-2b0a18d5795a + + + + + Allocated Warehouses for POS + + 0 + 55109 + false + Warehouse Allocation + false + false + false + 2021-06-07 15:59:21.243 + 2021-06-07 15:59:21.243 + + true + false + + Warehouse Allocation for POS + false + false + + false + N + + + true + 338 + 20 + + 100 + 100 + ECA14 + + 0 + 54847 + 98976 + + + 1 + + c3c26515-d1f2-4de1-80ec-d2dd629d87fa + + + + + + Warehouse Allocation for POS + 2021-06-07 15:59:22.472 + true + 2021-06-07 15:59:22.472 + Warehouse Allocation + + Allocated Warehouses for POS + false + 0 + 0 + 55109 + 100 + 100 + es_MX + 1ec3f286-abb9-4f98-9404-3ab50397a64d + + + + + Asignación de Almacenes para el PDV + Asignación de Almacenes + Permite asignar los almacenes disponibles para seleccionar en el Punto de Venta + 55109 + es_MX + + + + + Allocated Tender Type for POS + + 0 + 55110 + false + Tender Type Allocation + false + false + false + 2021-06-07 16:00:42.214 + 2021-06-07 16:00:42.214 + + true + false + + Tender Type Allocation for POS + false + false + + false + N + + + true + 338 + 30 + + 100 + 100 + ECA14 + + 0 + 54848 + 98987 + + + 1 + + a7fe94e3-6ed4-4866-b255-dd3e42788b5a + + + + + + Tender Type Allocation for POS + Tender Type Allocation + + Allocated Tender Type for POS + false + 0 + 0 + 55110 + 100 + 100 + es_MX + 07ca50cf-037e-4874-89d4-b3da150069f6 + 2021-06-07 16:00:43.567 + true + 2021-06-07 16:00:43.567 + + + + + Asignación de Formas de Pago para el PDV + Asignación de Formas de Pago + Permite asignar las formas de pago para seleccionar en el Punto de Ventas + 55110 + es_MX + + + + + 1 + Allocated Price List for POS + + 0 + 55111 + false + Price List Allocation + false + false + false + 2021-06-07 16:01:59.306 + 2021-06-07 16:01:59.306 + + true + false + + Price List Allocation for POS + false + false + + false + N + + + true + 338 + 40 + + 100 + 100 + ECA14 + + 0 + 54849 + 98998 + + + + 9f01cd22-ba49-4925-b22c-9c4f385884e4 + + + + + + Price List Allocation for POS + 2021-06-07 16:02:00.551 + true + 2021-06-07 16:02:00.551 + Price List Allocation + + Allocated Price List for POS + false + 0 + 0 + 55111 + 100 + 100 + es_MX + 6e76a2a6-1365-4ec9-8a5a-ed4202b7b56a + + + + + Asignación de Listas de Precios para el PDV + Asignación de Listas de Precio + PErmiste asignar las listas de precio que serán seleccionadas en el Punto de Ventas + 55111 + es_MX + + + + + Active + false + 2021-06-07 16:02:40.825 + false + + 2021-06-07 16:02:40.825 + + true + + false + false + The record is active in the system + true + false + + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + + + + + true + false + false + + + + false + 0 + 0 + 101253 + ECA14 + 100 + 100 + 0 + + 98970 + + 0 + 1 + 55109 + + f8e75138-6f62-4441-8168-96549ce2f372 + + + + + 2021-06-07 16:02:42.039 + true + 2021-06-07 16:02:42.039 + 0 + The record is active in the system + false + Active + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + 0 + 101253 + 100 + 100 + es_MX + 099e2d3d-a4b6-4b75-8268-c28dbccaa11f + + + + + Client + false + 2021-06-07 16:02:42.275 + false + + 2021-06-07 16:02:42.275 + + true + + false + false + Client/Tenant for this installation. + true + false + + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + + + + + true + false + false + + + + false + 0 + 0 + 101254 + ECA14 + 100 + 100 + 0 + + 98968 + + 0 + 22 + 55109 + + a46dffd7-421e-4b75-b3f9-2aec3a0d1eda + + + + + true + 2021-06-07 16:02:43.637 + 2021-06-07 16:02:43.637 + 0 + Client/Tenant for this installation. + false + Client + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + 0 + 101254 + 100 + 100 + es_MX + fd4c8655-4065-4a5f-a263-518b0f6a461d + + + + + Immutable Universally Unique Identifier + + + + false + 0 + 0 + 101255 + ECA14 + 100 + 100 + 0 + + 98975 + + 0 + 36 + 55109 + + 62b51ca7-0ad7-45d6-b79f-01b174ba63f4 + false + 2021-06-07 16:02:43.906 + false + + 2021-06-07 16:02:43.906 + + true + + false + false + Immutable Universally Unique Identifier + false + false + + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + + + + + true + false + false + + + + + true + 2021-06-07 16:02:45.243 + 2021-06-07 16:02:45.243 + 0 + Immutable Universally Unique Identifier + false + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + 0 + 101255 + 100 + 100 + es_MX + b58f34a3-666e-4367-aff0-7cbabf5e6bb6 + + + + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + Organization + false + 2021-06-07 16:02:45.465 + false + + 2021-06-07 16:02:45.465 + + true + + false + true + Organizational entity within client + true + false + + true + + + + + + true + false + false + + + + false + 0 + 0 + 101256 + ECA14 + 100 + 100 + 0 + + 98969 + + 0 + 22 + 55109 + + af0fe349-3f02-4439-8247-22e86108a142 + + + + + true + 2021-06-07 16:02:47.07 + 2021-06-07 16:02:47.07 + 0 + Organizational entity within client + false + Organization + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + 0 + 101256 + 100 + 100 + es_MX + 448c0ebb-ef31-421a-9a26-a225568de421 + + + + + POS Terminal + + false + true + Point of Sales Terminal + true + false + + true + The POS Terminal defines the defaults and functions available for the POS Form + + + + + + true + false + false + + + + false + 0 + 0 + 101257 + ECA14 + 100 + 100 + 0 + + 98976 + + 0 + 22 + 55109 + + 681e6de0-f702-40bd-9c3e-9d291e0ec1c4 + false + 2021-06-07 16:02:47.282 + false + + 2021-06-07 16:02:47.282 + + true + + + + + true + 2021-06-07 16:02:48.548 + 2021-06-07 16:02:48.548 + 0 + Point of Sales Terminal + false + POS Terminal + The POS Terminal defines the defaults and functions available for the POS Form + 0 + 101257 + 100 + 100 + es_MX + 18dae58d-3a75-4350-83ac-41afd66c058b + + + + + false + 2021-06-07 16:02:48.898 + false + + 2021-06-07 16:02:48.898 + + true + + false + false + All Allocated Warehouses for POS + false + false + + true + + + + + + + true + false + false + + + + false + 0 + 0 + 101258 + ECA14 + 100 + 100 + 0 + + 98967 + + 0 + 22 + 55109 + + 67672ebd-fd69-4733-abc3-9b832a302063 + POS Warehouse Allocation + + + + + 100 + 100 + true + 2021-06-07 16:02:50.438 + 2021-06-07 16:02:50.438 + 0 + All Allocated Warehouses for POS + false + POS Warehouse Allocation + + 0 + 101258 + es_MX + 42627be3-7d82-49e0-bdfe-b292d56e943d + + + + + Warehouse + false + 2021-06-07 16:02:50.678 + false + + 2021-06-07 16:02:50.678 + + true + + false + true + Storage Warehouse and Service Point + true + false + + true + The Warehouse identifies a unique Warehouse where products are stored or Services are provided. + + + + + + true + false + false + + + + false + 0 + 0 + 101259 + ECA14 + 100 + 100 + 0 + + 98977 + + 0 + 22 + 55109 + + 09753b9b-0bd9-4861-a770-4f078615a754 + + + + + Storage Warehouse and Service Point + true + 2021-06-07 16:02:52.206 + 2021-06-07 16:02:52.206 + 0 + false + Warehouse + The Warehouse identifies a unique Warehouse where products are stored or Services are provided. + 0 + 101259 + 100 + 100 + es_MX + 9275e04c-b4b7-48e7-9f3e-f80b03ff2235 + + + + + Active + 0 + 1 + 55110 + + 6f657ff0-4cd2-4ec7-92a1-bdab860e32fc + false + 2021-06-07 16:02:58.107 + false + + 2021-06-07 16:02:58.107 + + true + + false + false + The record is active in the system + true + false + + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + + + + + true + false + false + + + + false + 0 + 0 + 101260 + ECA14 + 100 + 100 + 0 + + 98981 + + + + + + true + 2021-06-07 16:02:59.452 + 2021-06-07 16:02:59.452 + 0 + The record is active in the system + false + Active + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + 0 + 101260 + 100 + 100 + es_MX + 78b1c349-27d2-4f0d-aea8-4c800670c456 + + + + + false + Client + false + 2021-06-07 16:02:59.681 + false + + 2021-06-07 16:02:59.681 + + true + + false + false + Client/Tenant for this installation. + true + false + + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + + + + + true + false + false + + + + 0 + 0 + 101261 + ECA14 + 100 + 100 + 0 + + 98979 + + 0 + 22 + 55110 + + 3bd86129-727e-4f1d-86d1-30c8814e1da4 + + + + + true + 2021-06-07 16:03:01.177 + 2021-06-07 16:03:01.177 + 0 + Client/Tenant for this installation. + false + Client + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + 0 + 101261 + 100 + 100 + es_MX + 779dae1b-16b3-49c3-87ac-84f756ba879a + + + + + + Immutable Universally Unique Identifier + false + 2021-06-07 16:03:01.382 + false + + 2021-06-07 16:03:01.382 + + true + + false + false + Immutable Universally Unique Identifier + false + false + + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + + + + true + false + false + + + + false + 0 + 0 + 101262 + ECA14 + 100 + 100 + 0 + + 98986 + + 0 + 36 + 55110 + + 8c20c27d-17db-41cf-a2b3-51e5c9b90ef3 + + + + + true + 2021-06-07 16:03:04.182 + 2021-06-07 16:03:04.182 + 0 + Immutable Universally Unique Identifier + false + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + 0 + 101262 + 100 + 100 + es_MX + d54571b3-9a99-4feb-a8cd-7dff32e8d658 + + + + + Organization + false + true + Organizational entity within client + true + false + + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + + + + + true + false + false + + + + false + 0 + 0 + 101263 + ECA14 + 100 + 100 + 0 + + 98980 + + 0 + 22 + 55110 + + f63bdd42-d2e6-481f-8977-35c508336690 + false + 2021-06-07 16:03:04.453 + false + + 2021-06-07 16:03:04.453 + + true + + + + + + true + 2021-06-07 16:03:05.683 + 2021-06-07 16:03:05.683 + 0 + Organizational entity within client + false + Organization + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + 0 + 101263 + 100 + 100 + es_MX + f7668f53-fd98-4e5d-8dff-13adc0fc9bda + + + + + POS Tender Type Allocation + false + 2021-06-07 16:03:05.982 + false + + 2021-06-07 16:03:05.982 + + true + + false + false + + false + false + + true + + + + + + + true + false + false + + + + false + 0 + 0 + 101264 + ECA14 + 100 + 100 + 0 + + 98978 + + 0 + 22 + 55110 + + 9b299ceb-72fd-4ece-8a93-833232098c06 + + + + + 100 + true + 2021-06-07 16:03:06.921 + 2021-06-07 16:03:06.921 + 0 + + false + POS Tender Type Allocation + + 0 + 101264 + 100 + es_MX + 5a9c289a-f1a9-4f3b-9f59-d2a43b9dbda2 + + + + + POS Terminal + false + 2021-06-07 16:03:07.172 + false + + 2021-06-07 16:03:07.172 + + true + + false + true + Point of Sales Terminal + true + false + + true + The POS Terminal defines the defaults and functions available for the POS Form + + + + + + true + false + false + + + + false + 0 + 0 + 101265 + ECA14 + 100 + 100 + 0 + + 98987 + + 0 + 22 + 55110 + + 1d69486c-390a-4de2-8cf2-206db57cc478 + + + + + true + Point of Sales Terminal + false + POS Terminal + The POS Terminal defines the defaults and functions available for the POS Form + 0 + 101265 + 100 + 100 + es_MX + 9272bff9-440e-4619-9513-f3647d94f52b + 2021-06-07 16:03:08.572 + 2021-06-07 16:03:08.572 + 0 + + + + + ECA14 + 100 + 100 + 0 + + 98992 + + 0 + 1 + 55111 + + e2406be9-dd19-4259-96d8-6513e1218407 + Active + false + 2021-06-07 16:04:42.332 + false + + 2021-06-07 16:04:42.332 + + true + + false + false + The record is active in the system + true + false + + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + + + + + true + false + false + + + + false + 0 + 0 + 101267 + + + + + true + 2021-06-07 16:04:43.684 + 2021-06-07 16:04:43.684 + 0 + The record is active in the system + false + Active + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + 0 + 101267 + 100 + 100 + es_MX + a6349b97-033c-4fb4-952b-0f80bdeb7634 + + + + + Client + + true + false + false + + + + false + 0 + 0 + 101268 + ECA14 + 100 + 100 + 0 + + 98990 + + 0 + 22 + 55111 + + 0e262a34-9541-4529-9212-e28b40f3f54c + false + 2021-06-07 16:04:43.979 + false + + 2021-06-07 16:04:43.979 + + true + + false + false + Client/Tenant for this installation. + true + false + + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + + + + + + + + true + 2021-06-07 16:04:46.171 + 2021-06-07 16:04:46.171 + 0 + Client/Tenant for this installation. + false + Client + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + 0 + 101268 + 100 + 100 + es_MX + 1dafb344-08c0-42d7-bebd-efec8ff5f656 + + + + + Immutable Universally Unique Identifier + false + + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + + + + + true + false + false + + + + false + 0 + 0 + 101269 + ECA14 + 100 + 100 + 0 + + 98997 + + 0 + 36 + 55111 + + de8401d4-3768-4333-8f17-cadb298b8827 + false + 2021-06-07 16:04:46.413 + false + + 2021-06-07 16:04:46.413 + + true + + false + false + Immutable Universally Unique Identifier + false + + + + + true + 2021-06-07 16:04:47.601 + 2021-06-07 16:04:47.601 + 0 + Immutable Universally Unique Identifier + false + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + 0 + 101269 + 100 + 100 + es_MX + baa0dc47-a353-472a-9223-d4dd19cdf0e1 + + + + + Organization + 2021-06-07 16:04:47.858 + false + + 2021-06-07 16:04:47.858 + + true + + false + true + Organizational entity within client + true + false + + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + + + + + true + false + false + + + + false + 0 + 0 + 101270 + ECA14 + 100 + 100 + 0 + + 98991 + + 0 + 22 + 55111 + + 92477f54-6987-49eb-a6de-dc7d58e10b3c + false + + + + + 101270 + 100 + 100 + es_MX + 960fc626-a1d4-4971-a4cf-e7497d80101b + true + 2021-06-07 16:04:49.127 + 2021-06-07 16:04:49.127 + 0 + Organizational entity within client + false + Organization + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + 0 + + + + + POS Price List Allocation + false + 2021-06-07 16:04:49.385 + false + + 2021-06-07 16:04:49.385 + + true + + false + false + + false + false + + true + + + + + + + true + false + false + + + + false + 0 + 0 + 101271 + ECA14 + 100 + 100 + 0 + + 98989 + + 0 + 22 + 55111 + + bb5ff24f-b7c9-41b4-8b3e-ee75f97c3034 + + + + + true + + false + POS Price List Allocation + + 0 + 101271 + 100 + 100 + es_MX + 2cf5c3ff-d338-43eb-8dc7-efdd13d7fd33 + 2021-06-07 16:04:52.546 + 2021-06-07 16:04:52.546 + 0 + + + + + 55111 + POS Terminal + false + 2021-06-07 16:04:52.778 + false + + 2021-06-07 16:04:52.778 + + true + + false + true + Point of Sales Terminal + true + false + + true + The POS Terminal defines the defaults and functions available for the POS Form + + + + + + true + false + false + + + + false + 0 + 0 + 101272 + ECA14 + 100 + 100 + 0 + + 98998 + + 0 + 22 + + 5f5d743e-5089-427a-a69c-5209bb404170 + + + + + true + 2021-06-07 16:04:55.77 + 2021-06-07 16:04:55.77 + 0 + Point of Sales Terminal + false + POS Terminal + The POS Terminal defines the defaults and functions available for the POS Form + 0 + 101272 + 100 + 100 + es_MX + 3a3dd9c3-ecde-4512-b0b7-5aced3b3a7d8 + + + + + 100 + Price List + false + 2021-06-07 16:04:55.966 + false + + 2021-06-07 16:04:55.966 + + true + + false + true + Unique identifier of a Price List + true + false + + true + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + + + + + + true + false + false + + + + false + 0 + 0 + 101273 + ECA14 + 100 + 0 + + 98999 + + 0 + 22 + 55111 + + a8e797a7-dd89-4e92-9996-4b9f5e790eda + + + + + true + 2021-06-07 16:04:57.418 + 2021-06-07 16:04:57.418 + 0 + Unique identifier of a Price List + false + Price List + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + 0 + 101273 + 100 + 100 + es_MX + 34376543-a961-4317-ab94-75476a53f952 + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + true + + + + + true + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 50 + + + + + true + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + true + + + + + true + + + + diff --git a/pos/xml/migration/07850_Add_Document_Type_Allocation_POS.xml b/pos/xml/migration/07850_Add_Document_Type_Allocation_POS.xml new file mode 100644 index 0000000000..8294649bde --- /dev/null +++ b/pos/xml/migration/07850_Add_Document_Type_Allocation_POS.xml @@ -0,0 +1,1633 @@ + + + + + + 2021-07-13 12:56:56.812 + true + + 2021-07-13 12:56:56.812 + POS Document Type Allocation + false + + true + Document Types allocated for POS terminal + + C_POSDocumentTypeAllocation + 2 + + L + false + 0 + false + false + + false + true + false + true + 0 + 0 + 54850 + ECA14 + + 338 + 100 + 0 + 100 + + 15663207-f47b-429a-95b8-da831d8e09d9 + + + + + 2021-07-13 12:57:00.909 + 2021-07-13 12:57:00.909 + false + true + POS Document Type Allocation + 0 + 0 + es_MX + 54850 + 100 + 100 + 6fe1e484-bb34-4c61-9cd6-4336b22a85b4 + + + + + 2021-07-13 12:57:01.213 + true + POS Document Type Allocation + + 2021-07-13 12:57:01.213 + C_POSDocumentTypeAllocation_ID + + + + POS Document Type Allocation + + + + + 61776 + 0 + 0 + ECA14 + 100 + + 100 + 5bd6abd7-c68c-4a64-94d2-f0265e5bb9b3 + + + + + 2021-07-13 12:57:02.318 + + true + 2021-07-13 12:57:02.318 + es_MX + + + POS Document Type Allocation + + false + POS Document Type Allocation + + + 0 + 0 + 100 + 100 + 61776 + 0eeed927-1285-4df3-9353-1973000aff4c + + + + + + + true + + 2021-07-13 12:57:02.711 + + 2021-07-13 12:57:02.711 + + 99010 + false + POS Document Type Allocation + true + false + + + false + false + + true + + + + 1 + + C_POSDocumentTypeAllocation_ID + + false + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54850 + 100 + 61776 + + + 22 + 13 + 100 + bf8a697d-8bfa-433b-868c-a05d7c2287f8 + true + + + + + + 2021-07-13 12:57:04.078 + true + 2021-07-13 12:57:04.078 + 99010 + false + POS Document Type Allocation + 0 + 0 + 100 + 100 + es_MX + 88468cdc-1238-4bf1-9252-3e0face01842 + + + + + Client/Tenant for this installation. + 0 + 0 + + 54850 + 100 + 102 + + 129 + 22 + 19 + 100 + faa20534-4a76-4511-b787-8105fb117629 + + true + + true + + 2021-07-13 12:57:04.364 + + 2021-07-13 12:57:04.364 + + 99011 + false + Client + true + false + @#AD_Client_ID@ + + false + false + + false + + + + 1 + + AD_Client_ID + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + true + + false + N + + true + false + false + false + + ECA14 + + + + + 2021-07-13 12:57:06.19 + true + 2021-07-13 12:57:06.19 + 99011 + false + Client + 0 + 0 + 100 + 100 + es_MX + 0b07ea1a-1475-4409-935c-9257f38c43f1 + + + + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + Organizational entity within client + true + + 2021-07-13 12:57:06.49 + + 2021-07-13 12:57:06.49 + + 99012 + false + Organization + true + false + @#AD_Org_ID@ + + false + false + + false + + + + 1 + + AD_Org_ID + true + + false + N + + true + false + false + true + + ECA14 + 0 + 0 + + 54850 + 100 + 113 + + 104 + 22 + 19 + 100 + 44c0f52b-1827-4d13-83c6-70641c50a15c + + true + + + + + + 2021-07-13 12:57:07.744 + true + 2021-07-13 12:57:07.744 + 99012 + false + Organization + 0 + 0 + 100 + 100 + es_MX + 0f20e018-2a14-4e9c-b223-c8c6c30dc855 + + + + + The record is active in the system + Y + + false + false + + false + + + + 1 + + IsActive + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54850 + 100 + 348 + + + 1 + 20 + 100 + 3c9dfd04-6db4-4a0d-ad7c-5131afc7ca0e + + true + + true + + 2021-07-13 12:57:07.97 + + 2021-07-13 12:57:07.97 + + 99013 + false + Active + true + false + + + + + es_MX + 8b3f6c3a-0cf6-4b29-91fc-df73b7c85822 + 2021-07-13 12:57:09.422 + true + 2021-07-13 12:57:09.422 + 99013 + false + Active + 0 + 0 + 100 + 100 + + + + + Date this record was created + true + + 2021-07-13 12:57:09.65 + + 2021-07-13 12:57:09.65 + + 99014 + false + Created + true + false + + + false + false + + false + + + + 1 + + Created + The Created field indicates the date that this record was created. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54850 + 100 + 245 + + + 7 + 16 + 100 + 1e8bbcd2-ecd3-46a6-8e8b-16693ce729e8 + + true + + + + + + 2021-07-13 12:57:11.417 + true + 2021-07-13 12:57:11.417 + 99014 + false + Created + 0 + 0 + 100 + 100 + es_MX + 895a5c7a-c4eb-4c4d-b671-8d9aeda1e576 + + + + + Date this record was updated + 100 + 607 + + + 7 + 16 + 100 + 4bc8eaa4-d022-4aa2-81a9-3eaeef944e7d + + true + + true + + 2021-07-13 12:57:11.781 + + 2021-07-13 12:57:11.781 + + 99015 + false + Updated + true + false + + + false + false + + false + + + + 1 + + Updated + The Updated field indicates the date that this record was updated. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54850 + + + + + 2021-07-13 12:57:13.314 + true + 2021-07-13 12:57:13.314 + 99015 + false + Updated + 0 + 0 + 100 + 100 + es_MX + d7faf78c-b630-4db7-ba13-45d2065eda26 + + + + + N + User who created this records + true + + 2021-07-13 12:57:13.55 + + 2021-07-13 12:57:13.55 + + 99016 + false + Created By + true + false + + + false + false + + false + + + + 1 + + CreatedBy + The Created By field indicates the user who created this record. + true + + false + + true + false + false + false + + ECA14 + 0 + 0 + + 54850 + 100 + 246 + 110 + + 22 + 18 + 100 + fd5c04ac-faf5-475f-bed1-0b3302a92707 + + true + + + + + + 2021-07-13 12:57:15.212 + true + 2021-07-13 12:57:15.212 + 99016 + false + Created By + 0 + 0 + 100 + 100 + es_MX + 7749cdfd-3561-437d-af41-773235f2fb26 + + + + + User who updated this records + false + + + + 1 + + UpdatedBy + The Updated By field indicates the user who updated this record. + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54850 + 100 + 608 + 110 + + 22 + 18 + 100 + e0317fb2-f4ef-4845-bb5b-fb84430a9487 + + true + + true + + 2021-07-13 12:57:15.456 + + 2021-07-13 12:57:15.456 + + 99017 + false + Updated By + true + false + + + false + false + + + + + + 2021-07-13 12:57:16.684 + true + 2021-07-13 12:57:16.684 + 99017 + false + Updated By + 0 + 0 + 100 + 100 + es_MX + c7b60c4c-1cff-4044-803c-28178f1a7a97 + + + + + Immutable Universally Unique Identifier + true + + 2021-07-13 12:57:16.992 + + 2021-07-13 12:57:16.992 + + 99018 + false + Immutable Universally Unique Identifier + false + false + + + false + false + + false + + + + 1 + + UUID + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + true + + false + N + + true + false + false + false + + ECA14 + 0 + 0 + + 54850 + 100 + 59595 + + + 36 + 10 + 100 + d16a9ae2-62b6-4f0b-8943-65a8a12311e1 + + true + + + + + + Immutable Universally Unique Identifier + 2021-07-13 12:57:18.443 + true + 2021-07-13 12:57:18.443 + 99018 + false + 0 + 0 + 100 + 100 + es_MX + cf2529d5-92c8-4b8c-bfca-1a7291d6bf49 + + + + + true + Table C_POSDocumentTypeAllocation + 2021-07-13 12:57:18.715 + 2021-07-13 12:57:18.715 + false + + true + false + + + + + C_POSDocumentTypeAllocation + 0 + 0 + 55377 + 1 + 1000000 + true + 50000 + 1000000 + 100 + 100 + 8a2dcdba-31f1-4bd6-8f63-dc6e0ae7eba0 + + + + + Asignación de Tipo de Documento al PDV + es_MX + 54850 + + + + + All Allocated Document Types for POS + 10 + 19 + + + + + All Allocated Document Types for POS + + + + + es_MX + Asignación de Tipo de Documento al PDV + Asignación de Tipo de Documento al PDV para seleccionar + Asignación de Tipo de Documento al PDV + 61776 + + + + + Allocated Document Type for POS + + 0 + 55112 + false + Document Type Allocation + false + false + false + 2021-07-13 13:00:00.439 + 2021-07-13 13:00:00.439 + + true + + Document Type Allocation for POS + false + false + + false + N + + + true + 338 + 50 + + 100 + 100 + ECA14 + + 0 + 54850 + + + + 1 + + ab842ebf-1c32-440c-a6c7-c9c40da007a1 + + false + + + + + Document Type Allocation for POS + 2021-07-13 13:00:03.006 + true + 2021-07-13 13:00:03.006 + Document Type Allocation + + Allocated Document Type for POS + false + 0 + 0 + 55112 + 100 + 100 + es_MX + 26425644-e771-45f9-88b0-426aedac0c23 + + + + + es_MX + Permiste asignar los tipos de documentos que serán seleccionadas en el Punto de Ventas + 55112 + + + + + Asignación de Tipos de Documento para el PDV + 55112 + es_MX + + + + + Asignación de Tipo de Documento + 55112 + es_MX + + + + + Active + + aaf0599a-d00d-478a-be44-ddea603d74d3 + false + 2021-07-13 13:01:07.593 + false + + 2021-07-13 13:01:07.593 + + true + + false + false + The record is active in the system + true + false + + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + + + + + true + false + false + + + + false + 0 + 0 + 101279 + ECA14 + 100 + 100 + 0 + + 99013 + + 0 + 1 + 55112 + + + + + true + 2021-07-13 13:01:09.266 + 2021-07-13 13:01:09.266 + 0 + The record is active in the system + false + Active + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + 0 + 101279 + 100 + 100 + es_MX + 08637bfb-7161-4a62-96c2-e52d6ef8bac4 + + + + + 101280 + Client + false + 2021-07-13 13:01:09.567 + false + + 2021-07-13 13:01:09.567 + + true + + false + false + Client/Tenant for this installation. + true + false + + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + + + + + true + false + false + + + + false + 0 + 0 + ECA14 + 100 + 100 + 0 + + 99011 + + 0 + 22 + 55112 + + 57016777-3504-47eb-809f-808ce7973745 + + + + + true + 2021-07-13 13:01:11.055 + 2021-07-13 13:01:11.055 + 0 + Client/Tenant for this installation. + false + Client + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + 0 + 101280 + 100 + 100 + es_MX + f1a6dbf4-9a99-426b-a701-6d77b9def7d3 + + + + + Immutable Universally Unique Identifier + false + + true + false + false + + + + false + 0 + 0 + 101281 + ECA14 + 100 + 100 + 0 + + 99018 + + 0 + 36 + 55112 + + 5e6ec230-6541-4dd6-8bb3-4c5dedd4a2ca + 2021-07-13 13:01:11.372 + false + + 2021-07-13 13:01:11.372 + + true + + false + false + Immutable Universally Unique Identifier + false + false + + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + + + + + + + + true + 2021-07-13 13:01:12.432 + 2021-07-13 13:01:12.432 + 0 + Immutable Universally Unique Identifier + false + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + 0 + 101281 + 100 + 100 + es_MX + fc8c9a8d-043b-48ca-85dd-68a17e81fe6c + + + + + Organization + false + 2021-07-13 13:01:12.681 + false + + 2021-07-13 13:01:12.681 + + true + + false + true + Organizational entity within client + true + false + + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + + + + + true + false + false + + + + false + 0 + 0 + 101282 + ECA14 + 100 + 100 + 0 + + 99012 + + 0 + 22 + 55112 + + 2c4f0d53-8510-458b-a7e1-c57873eb772d + + + + + true + 2021-07-13 13:01:13.637 + 2021-07-13 13:01:13.637 + 0 + Organizational entity within client + false + Organization + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + 0 + 101282 + 100 + 100 + es_MX + ff05ce65-3cf6-4b5e-9343-bbd478b9090b + + + + + + 2021-07-13 13:01:13.85 + + true + + false + false + All Allocated Document Types for POS + false + false + + true + + + + + + + true + false + false + + + + false + 0 + 0 + 101283 + ECA14 + 100 + 100 + 0 + + 99010 + + 0 + 22 + 55112 + + d92bd862-dc95-4d36-af01-072a3007b1c5 + POS Document Type Allocation + false + 2021-07-13 13:01:13.85 + false + + + + + true + es_MX + 67fd6197-fec4-4450-8773-a82f540fbd22 + 2021-07-13 13:01:14.97 + 2021-07-13 13:01:14.97 + 0 + All Allocated Document Types for POS + false + POS Document Type Allocation + + 0 + 101283 + 100 + 100 + + + + + Document type or rules + true + + 2021-07-13 13:03:19.792 + + 2021-07-13 13:03:19.792 + + 99019 + false + Document Type + true + false + + + false + true + N + false + + + + 0 + + C_DocType_ID + The Document Type determines document sequence and processing rules + true + + false + N + + true + false + false + false + 0 + ECA14 + 0 + 0 + + 54850 + 100 + 196 + + 207 + 22 + 19 + 100 + 24ce6f7d-c49e-4a02-bb15-9f8a256c7c57 + + true + + + + + + 2021-07-13 13:03:20.81 + true + 2021-07-13 13:03:20.81 + 99019 + false + Document Type + 0 + 0 + 100 + 100 + es_MX + 6d498e87-5ed8-47e7-b216-fefea8599592 + + + + + 2581 + + + 22 + 19 + 100 + a027a253-24fe-4dfa-8717-5cab31555bd6 + + true + + Point of Sales Terminal + true + + 2021-07-13 13:03:34.031 + + 2021-07-13 13:03:34.031 + + 99020 + false + POS Terminal + true + false + + + false + true + N + false + + + + 0 + + C_POS_ID + The POS Terminal defines the defaults and functions available for the POS Form + true + + false + N + + true + false + false + true + 0 + ECA14 + 0 + 0 + + 54850 + 100 + + + + + 2021-07-13 13:03:35.152 + true + 2021-07-13 13:03:35.152 + 99020 + false + POS Terminal + 0 + 0 + 100 + 100 + es_MX + ccb92f94-d450-4191-96bb-a956adeb4b63 + + + + + true + 1 + + + + + true + -1 + true + + + + + false + + + + + false + + + + + false + + + + + false + + + + + false + + + + + false + + + + + false + + + + + false + + + + + false + + + + + false + + + + + false + + + + + false + + + + + Document Type + false + 2021-07-13 13:04:36.302 + false + + 2021-07-13 13:04:36.302 + + true + + false + true + Document type or rules + true + false + + true + The Document Type determines document sequence and processing rules + + + + + + true + false + false + + + + false + 0 + 0 + 101284 + ECA14 + 100 + 100 + 0 + + 99019 + + 0 + 22 + 55112 + + 58e09424-8777-4c1d-a2db-2da5984af113 + + + + + true + 101284 + 100 + 100 + es_MX + ce7f7d19-ac82-41df-ac2b-cd5475571412 + 2021-07-13 13:04:38.887 + 2021-07-13 13:04:38.887 + 0 + Document type or rules + false + Document Type + The Document Type determines document sequence and processing rules + 0 + + + + + POS Terminal + false + 2021-07-13 13:04:39.126 + false + + 2021-07-13 13:04:39.126 + + true + + false + true + Point of Sales Terminal + true + false + + true + The POS Terminal defines the defaults and functions available for the POS Form + + + + + + true + false + false + + + + false + 0 + 0 + 101285 + ECA14 + 100 + 100 + 0 + + 99020 + + 0 + 22 + 55112 + + f88fce23-7b26-49d0-a552-258c5515e69a + + + + + true + 2021-07-13 13:04:41.202 + 0 + Point of Sales Terminal + false + POS Terminal + The POS Terminal defines the defaults and functions available for the POS Form + 0 + 101285 + 100 + 100 + es_MX + 1383d091-3383-4783-a7fb-7ee2067b3c38 + 2021-07-13 13:04:41.202 + + + + + 40 + + + + + 50 + + + + + 40 + + + + + 50 + + + + + 99020 + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + true + + + + + true + + + + diff --git a/pos/xml/migration/07850_Add_display_Currency_for_POS.xml b/pos/xml/migration/07850_Add_display_Currency_for_POS.xml new file mode 100644 index 0000000000..aa6fec21ab --- /dev/null +++ b/pos/xml/migration/07850_Add_display_Currency_for_POS.xml @@ -0,0 +1,205 @@ + + + + + + 2021-06-07 16:14:52.652 + + + + Display Currency + + + 0 + 18 + 61766 + 0 + 0 + ECA14 + 100 + 112 + 100 + c80cdc29-0b55-43ed-85a6-6abae4e13dcc + true + Display Currency + Display Currency for POS and Price Checking + 2021-06-07 16:14:52.652 + DisplayCurrency_ID + + + + + 2021-06-07 16:14:54.07 + + true + 2021-06-07 16:14:54.07 + es_MX + + + Display Currency + Display Currency for POS and Price Checking + false + Display Currency + + + 0 + 0 + 100 + 100 + 61766 + 9ebf55a1-7710-4063-b1b1-2de4c988a1b4 + + + + + es_MX + Moneda para Mostrar + Moneda para Mostrar en el PDV y Visor de Precios + Moneda para Mostrar + 61766 + + + + + + + false + false + N + false + + + + 0 + + DisplayCurrency_ID + + true + + false + N + + true + false + false + true + 0 + ECA14 + 0 + 0 + + 748 + 100 + 61766 + 112 + + 10 + 18 + 100 + 818102de-f554-476a-8d74-ba7897d94c1d + + true + + Display Currency for POS and Price Checking + true + + 2021-06-07 16:15:31.166 + + 2021-06-07 16:15:31.166 + + 99000 + false + Display Currency + false + false + + + + + 2021-06-07 16:15:32.434 + true + 2021-06-07 16:15:32.434 + 99000 + false + Display Currency + 0 + 0 + 100 + 100 + es_MX + c7994804-e7f3-4acd-b301-512d811d0b1b + + + + + false + + 2021-06-07 16:15:57.15 + + true + + false + true + Display Currency for POS and Price Checking + true + false + 0 + true + + + + + + 0 + true + false + false + + + + false + 0 + 0 + 101274 + ECA14 + 100 + 100 + 310 + + 99000 + + 310 + 0 + 676 + + 44c2ba48-e8a7-48a5-85a3-20a07d65ef1e + Display Currency + false + 2021-06-07 16:15:57.15 + + + + + es_MX + true + 2021-06-07 16:15:58.394 + 2021-06-07 16:15:58.394 + 0 + Display Currency for POS and Price Checking + false + Display Currency + + 0 + 101274 + 100 + 100 + 90c6d0d2-5f48-4da2-8f64-904bb92a904c + + + + + -1 + + + + diff --git a/pos/xml/migration/07860_Add_POS_Sales_Detail_and_Collection_Report.xml b/pos/xml/migration/07860_Add_POS_Sales_Detail_and_Collection_Report.xml new file mode 100644 index 0000000000..99713a514e --- /dev/null +++ b/pos/xml/migration/07860_Add_POS_Sales_Detail_and_Collection_Report.xml @@ -0,0 +1,375 @@ + + + + + + 3 + + 0 + + 0 + + 54543 + + + + N + 2021-08-13 12:11:13.701 + 100 + This Report show all sales based on POS with each tender type and currencies + ECA14 + N + Use this report as daily control of Cash Closing + true + false + false + true + false + attachment:inf_POS_Sales_Detail.jasper + POS Sales Detail + + Y + 0 + 0 + 2021-08-13 12:11:13.701 + 100 + 1729dd45-f03b-4bcd-8db1-8fd9c92919f2 + inf_POS_Sales_Detail + + + + + + 0 + es_MX + 0 + 54543 + 2021-08-13 12:11:20.574 + 100 + This Report show all sales based on POS with each tender type and currencies + Use this report as daily control of Cash Closing + true + false + POS Sales Detail + 2021-08-13 12:11:20.574 + 100 + e5a441bc-be4e-4d52-b599-27fa4493d416 + + + + + es_MX + 54543 + Este Reporte muestra todas las ventas del Punto de Venta con cada tipo de pago y moneda + Use este reporte como control diario para el Cierre de Caja + Detalle de Ventas (PDV) + + + + + 0 + 113 + 0 + 54543 + 58408 + 19 + + + AD_Org_ID + 2021-08-13 12:12:22.989 + 100 + -1 + + Organizational entity within client + + ECA14 + 22 + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + true + false + false + false + Organization + + 10 + 2021-08-13 12:12:22.99 + 100 + a13419cb-abde-4ff9-869f-abef14b9c9b3 + + + + + + + + 0 + es_MX + 0 + 58408 + 2021-08-13 12:12:24.561 + 100 + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + false + Organization + 2021-08-13 12:12:24.561 + 100 + 907c060c-2581-4eb7-9287-93adeb998578 + + + + + 0 + 2581 + 0 + 54543 + 58409 + 19 + + + C_POS_ID + 2021-08-13 12:12:33.696 + 100 + -1 + + Point of Sales Terminal + + ECA14 + 22 + The POS Terminal defines the defaults and functions available for the POS Form + true + true + false + false + false + POS Terminal + + 20 + 2021-08-13 12:12:33.696 + 100 + ef8e369d-2834-454e-a308-c5f94cdca720 + + + + + + + + 0 + 100 + Point of Sales Terminal + The POS Terminal defines the defaults and functions available for the POS Form + true + false + POS Terminal + 2021-08-13 12:12:34.838 + 100 + ff80b957-28cd-40b2-9104-cd06b0b921c5 + es_MX + 0 + 58409 + 2021-08-13 12:12:34.838 + + + + + 0 + 187 + 0 + 54543 + 58410 + 30 + + 230 + C_BPartner_ID + 2021-08-13 12:13:32.737 + 100 + + + Identifies a Business Partner + + ECA14 + 22 + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + true + true + false + false + false + Business Partner + + 30 + 2021-08-13 12:13:32.737 + 100 + aadefc2c-82d7-4748-b9a2-0a32139ae15c + + + + + + + + 0 + es_MX + 0 + 58410 + 2021-08-13 12:13:33.775 + 100 + Identifies a Business Partner + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + true + false + Business Partner + 2021-08-13 12:13:33.775 + 100 + 35f767dc-d92e-4ff4-a0d3-5b6ac83c278a + + + + + 0 + 267 + 0 + 54543 + 58411 + 15 + + + DateInvoiced + 2021-08-13 12:13:57.658 + 100 + + + Date printed on Invoice + + ECA14 + 7 + The Date Invoice indicates the date printed on the invoice. + true + true + false + true + true + Date Invoiced + + 40 + 2021-08-13 12:13:57.659 + 100 + 1dd76020-adb0-44f4-84ec-af66ae8ebb21 + + + + + + + + 0 + 100 + fbd8dc13-9ee2-4e64-93e8-d77b51978f23 + es_MX + 0 + 58411 + 2021-08-13 12:13:59.09 + 100 + Date printed on Invoice + The Date Invoice indicates the date printed on the invoice. + true + false + Date Invoiced + 2021-08-13 12:13:59.09 + + + + + attachment:inf_POS_Sales_Detail_And_Collection.jasper + POS Sales Detail and Collection + inf_POS_Sales_Detail_And_Collection + + + + + es_MX + 54543 + Detalle de Ventas y Cobranza (PDV) + + + + + R + + 0 + + 54763 + 0 + 54543 + + + + + 2021-08-13 12:15:30.819 + 100 + + ECA14 + true + true + false + true + false + POS Sales Detail and Collection + 2021-08-13 12:15:30.819 + 100 + 6fc79e14-6b4e-4a88-917e-509a6d25ba8a + + + + + 0 + es_MX + 54763 + 0 + 2021-08-13 12:15:31.957 + 100 + + true + false + POS Sales Detail and Collection + 2021-08-13 12:15:31.957 + 100 + 85d3b0ea-a119-40d1-a659-ad6a44ca319e + + + + + 2021-08-13 12:15:32.297 + 0 + 0 + 10 + 100 + true + 54763 + 0 + 999 + 2021-08-13 12:15:32.297 + 100 + d848d05e-33f8-4394-8930-fc6c1c8e4017 + + + + + 10 + 54763 + 54030 + 0 + + + + + 10 + 54670 + 6 + + + + diff --git a/pos/xml/migration/07870_Add_Permission_flags_for_POS.xml b/pos/xml/migration/07870_Add_Permission_flags_for_POS.xml new file mode 100644 index 0000000000..b847012c9b --- /dev/null +++ b/pos/xml/migration/07870_Add_Permission_flags_for_POS.xml @@ -0,0 +1,1848 @@ + + + + + + + 0 + 99039 + 58376 + + 0 + + 20 + + 54847 + + + IsPOSRequiredPIN + + 2021-08-14 19:00:01.814 + 100 + N + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + ECA14 + 1 + + + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + POS Required PIN + + + true + 0 + 2021-08-14 19:00:01.814 + 100 + 665f4279-db45-4e3e-897b-a63354916ec4 + + + 0 + + + + + + 0 + 99039 + es_MX + 0 + 2021-08-14 19:00:19.512 + 100 + true + false + POS Required PIN + 2021-08-14 19:00:19.512 + 100 + 72abd896-c4d7-4267-b967-c1a0d21f943c + + + + + + 0 + 99040 + 58376 + + 0 + + 20 + + 54848 + + + IsPOSRequiredPIN + + 2021-08-14 19:03:17.586 + 100 + N + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + ECA14 + 1 + + + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + POS Required PIN + + + true + 0 + 2021-08-14 19:03:17.587 + 100 + c32744e7-4b1b-4ca9-8f6f-86c78b5fafd4 + + + 0 + + + + + + 0 + 99040 + es_MX + 0 + 2021-08-14 19:04:23.831 + 100 + true + false + POS Required PIN + 2021-08-14 19:04:23.831 + 100 + 3da67e14-3726-4ebd-b5d7-0ae0afef06e4 + + + + + + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + ECA14 + 1 + + + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + POS Required PIN + + + true + 0 + 2021-08-14 19:05:03.635 + 100 + ea6fac2a-e21e-42a1-868c-ae914605c4bc + + + 0 + + 0 + 99041 + 58376 + + 0 + + 20 + + 54849 + + + IsPOSRequiredPIN + + 2021-08-14 19:05:03.635 + 100 + N + + + + + 0 + 99041 + es_MX + 0 + 2021-08-14 19:05:05.287 + 100 + true + false + POS Required PIN + 2021-08-14 19:05:05.287 + 100 + 7edb75d1-50e5-4424-809a-d8375cc16ae8 + + + + + + + 54850 + + + IsPOSRequiredPIN + + 2021-08-14 19:05:23.122 + 100 + N + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + ECA14 + 1 + + + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + POS Required PIN + + + true + 0 + 2021-08-14 19:05:23.122 + 100 + 1cf1e927-167f-46c2-827d-33930fee3070 + + + 0 + + 20 + 0 + 99042 + 58376 + + 0 + + + + + + POS Required PIN + 0 + 99042 + es_MX + 0 + 2021-08-14 19:05:24.694 + 100 + true + false + 2021-08-14 19:05:24.694 + 100 + febb9b14-e80c-4363-b9e4-ca26e3f8554e + + + + + 0 + 61783 + 0 + 20 + + IsAllowedToRefund + 2021-08-14 19:11:35.734 + 100 + This Tender Type can be used to refund to customer + ECA14 + 1 + Usee this flag for determinate if a tender type is allowed to refund to customer + true + Is Allowed To Refund + + + + + Is Allowed To Refund + 2021-08-14 19:11:35.734 + 100 + 157ae4f3-910b-4484-8fa6-669ab86872f3 + + + + + 0 + 61783 + es_MX + 0 + 2021-08-14 19:11:36.793 + 100 + This Tender Type can be used to refund to customer + Usee this flag for determinate if a tender type is allowed to refund to customer + true + false + Is Allowed To Refund + + + + + Is Allowed To Refund + 2021-08-14 19:11:36.793 + 100 + 25785c00-ca81-49de-96b2-b3264ce443e8 + + + + + 61783 + es_MX + Este Tipo de Pago es permitido para reembolso + Use esta bandera para determindar si un tipo de pago está permitido para reembolsar dinero al cliente + Permitir para Reembolso + Permitir para Reembolso + + + + + Use this flag for determinate if a tender type is allowed to refund to customer + + + + + 0 + 61784 + 0 + 12 + + MaximumRefundAllowed + 2021-08-14 19:15:27.584 + 100 + Set the maximum refund allowed for this tender type using the POS currency + ECA14 + 10 + If this field is zero then not have a maxumym refund + true + Maximum Refund Allowed + + + + + Maximum Refund Allowed + 2021-08-14 19:15:27.584 + 100 + 22f636d4-8280-4097-bef7-71a524325ce4 + + + + + 0 + 61784 + es_MX + 0 + 2021-08-14 19:15:28.772 + 100 + Set the maximum refund allowed for this tender type using the POS currency + If this field is zero then not have a maxumym refund + true + false + Maximum Refund Allowed + + + + + Maximum Refund Allowed + 2021-08-14 19:15:28.772 + 100 + ebf943b0-4703-4d9f-b81d-a46daeb31ee0 + + + + + es_MX + Establece el Reembolso Máximo permitido para este tipo de pago en la moneda del Terminal PDV + Si el monto es cero entonces no tiene un máximo establecido + Reembolso Máximo Permitido + Reembolso Máximo Permitido + 61784 + + + + + If this field is zero then not have a maxumum refund + + + + + + 0 + 99043 + 61784 + + 0 + + 12 + + 54848 + + + MaximumRefundAllowed + + 2021-08-14 19:16:46.222 + 100 + + Set the maximum refund allowed for this tender type using the POS currency + ECA14 + 0 + + If this field is zero then not have a maxumum refund + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + Maximum Refund Allowed + + + true + 0 + 2021-08-14 19:16:46.222 + 100 + 7cacae23-ba02-4d88-bc14-967b19c0e7e6 + + + 0 + + + + + + 99043 + es_MX + 0 + 2021-08-14 19:16:48.043 + 100 + true + false + Maximum Refund Allowed + 2021-08-14 19:16:48.043 + 100 + fe0785bc-f7e3-4b22-9206-3c8f73112ac2 + 0 + + + + + 100 + 3fd1ca08-36fa-4a8e-be31-b7a37f40e99f + 0 + 99039 + + + + 101303 + + 0 + + + 55109 + + 2021-08-14 19:17:05.036 + 100 + + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + 1 + + ECA14 + + + + true + true + true + true + true + false + false + false + false + + false + false + false + POS Required PIN + + + 0 + 0 + + 2021-08-14 19:17:05.036 + + + + + 0 + 101303 + es_MX + 0 + 2021-08-14 19:17:06.695 + 100 + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + + true + false + POS Required PIN + 2021-08-14 19:17:06.695 + 100 + c591c206-7ebc-44ac-8f24-66c15f25b515 + + + + + + + 0 + 0 + + 2021-08-14 19:17:12.309 + 100 + 215aa4f5-8253-47b4-9c97-edf7ef755d0c + 0 + 99043 + + + + 101304 + + 0 + + + 55110 + + 2021-08-14 19:17:12.309 + 100 + + Set the maximum refund allowed for this tender type using the POS currency + 0 + + ECA14 + If this field is zero then not have a maxumum refund + + + true + true + true + true + true + false + false + false + false + + false + false + false + Maximum Refund Allowed + + + + + 0 + 101304 + es_MX + 0 + 2021-08-14 19:17:13.69 + 100 + Set the maximum refund allowed for this tender type using the POS currency + If this field is zero then not have a maxumum refund + true + false + Maximum Refund Allowed + 2021-08-14 19:17:13.69 + 100 + 0e283485-476b-42dc-9af2-36fde518278f + + + + + false + false + false + + false + false + false + POS Required PIN + + + 0 + 0 + + 2021-08-14 19:17:14.019 + 100 + 3d7816f3-6fe1-416e-b0c6-52feb21243f5 + 0 + 99040 + + + + 101305 + + 0 + + + 55110 + + 2021-08-14 19:17:14.019 + 100 + + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + 1 + + ECA14 + + + + true + true + true + true + true + false + + + + + 0 + 101305 + es_MX + 0 + 2021-08-14 19:17:15.66 + 100 + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + + true + false + POS Required PIN + 2021-08-14 19:17:15.66 + 100 + f502aa94-82f6-43ab-96dc-6b1fa0fa7ead + + + + + 0 + true + true + true + true + true + false + false + false + false + + false + false + false + POS Required PIN + + + 0 + 0 + + 2021-08-14 19:17:26.821 + 100 + 2943e5e3-5e07-4e14-8bfd-00113477d366 + 99041 + + + + 101306 + + 0 + + + 55111 + + 2021-08-14 19:17:26.82 + 100 + + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + 1 + + ECA14 + + + + + + + + 0 + 101306 + es_MX + 0 + 2021-08-14 19:17:28.177 + 100 + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + + true + false + POS Required PIN + 2021-08-14 19:17:28.177 + 100 + a0b01b5a-56ca-4d37-a90a-a2699d93fde1 + + + + + 1 + + ECA14 + + + + true + true + true + true + true + false + false + false + false + + false + false + false + POS Required PIN + + + 0 + 0 + + 2021-08-14 19:17:32.356 + 100 + b82f46ac-e03a-4f71-8ce8-5198f02848ae + 0 + 99042 + + + + 101307 + + 0 + + + 55112 + + 2021-08-14 19:17:32.356 + 100 + + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + + + + + 0 + 101307 + es_MX + 0 + 2021-08-14 19:17:33.93 + 100 + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + + true + false + POS Required PIN + 2021-08-14 19:17:33.93 + 100 + 0497a526-b32a-4057-8d7a-da4cb5ebe30f + + + + + 50 + + + + + 60 + + + + + true + + + + + 60 + + + + + 50 + + + + + 60 + + + + + true + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 50 + + + + + 60 + + + + + true + + + + + + + 0 + 99044 + 61783 + + 0 + + 20 + + 54848 + + + IsAllowedToRefund + + 2021-08-14 19:20:07.196 + 100 + N + This Tender Type can be used to refund to customer + ECA14 + 1 + + Use this flag for determinate if a tender type is allowed to refund to customer + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + Is Allowed To Refund + + + true + 0 + 2021-08-14 19:20:07.196 + 100 + 867739a4-404b-48b2-8a0e-5a2a619fbe5b + + + 0 + + + + + 0 + 99044 + es_MX + 0 + 2021-08-14 19:20:08.962 + 100 + true + false + Is Allowed To Refund + 2021-08-14 19:20:08.962 + 100 + fc498a0c-eb7a-4c06-902d-d95e819d8ff0 + + + + + 0 + + 2021-08-14 19:20:19.96 + 100 + 2c0d9d0a-aee3-4f28-b689-0bb2ee9b184c + 99044 + + + + 101308 + + 0 + + + 55110 + + 2021-08-14 19:20:19.96 + 100 + + This Tender Type can be used to refund to customer + 1 + + ECA14 + Use this flag for determinate if a tender type is allowed to refund to customer + + + true + true + true + true + true + false + false + false + false + + false + false + false + Is Allowed To Refund + + + 0 + 0 + + + + + 0 + 101308 + es_MX + 0 + 2021-08-14 19:20:21.311 + 100 + This Tender Type can be used to refund to customer + Use this flag for determinate if a tender type is allowed to refund to customer + true + false + Is Allowed To Refund + 2021-08-14 19:20:21.311 + 100 + 65beb530-f15d-41b2-8fd1-56c397705b4f + + + + + 60 + + + + + 70 + + + + + 80 + + + + + true + + + + + @IsAllowedToRefund@='Y' + + + + + 50 + + + + + 60 + + + + + 70 + + + + + true + + + + + 0 + 61785 + 0 + 20 + + IsModifyQuantity + 2021-08-14 19:38:46.008 + 100 + Allow modifying the quantity + ECA14 + 1 + Allow modifying the quantity for products with a non zero price + true + Modify Quantity + + + + + Modify Quantity + 2021-08-14 19:38:46.008 + 100 + 78e208a6-846a-441d-94e3-850b468cad37 + + + + + 0 + 61785 + es_MX + 0 + 2021-08-14 19:38:47.427 + 100 + Allow modifying the quantity + Allow modifying the quantity for products with a non zero price + true + false + Modify Quantity + + + + + Modify Quantity + 2021-08-14 19:38:47.427 + 100 + db98569b-47b4-4f83-b206-d3a3086f8364 + + + + + Allow modifying the quantity for products with a non zero quantity + + + + + 61785 + es_MX + Permitir modificar cantidad en las líneas + PErmite modificar la cantidad para productos cuando la cantidad sea diferente a cero + Permitir Modificar Cantidad + Permitir Modificar Cantidad + + + + + IsAllowsModifyQuantity + + + + + Allows modifying the quantity + Allows modifying the quantity for products with a non zero quantity + Allows Modify Quantity + Allows Modify Quantity + + + + + 0 + Allows Return Order + 2021-08-14 19:42:46.646 + 100 + 422d652d-b788-453c-9198-0ff4830543f7 + 61786 + 0 + 20 + + IsAllowsReturnOrder + 2021-08-14 19:42:46.646 + 100 + Allows return a Sales Order + ECA14 + 1 + Allows return a order based on RMA on Order + true + Allows Return Order + + + + + + + + + 0 + 61786 + es_MX + 0 + 2021-08-14 19:42:48.074 + 100 + Allows return a Sales Order + Allows return a order based on RMA on Order + true + false + Allows Return Order + + + + + Allows Return Order + 2021-08-14 19:42:48.074 + 100 + 36480225-4a79-47d5-9390-e89e5aa7b8f4 + + + + + 61786 + es_MX + Permitir Devolución de una Orden de Venta + PErmite realizar devolución de una orden de venta + Permitir Devolución + Permitir Devolución + + + + + 1906b8e7-47eb-41f0-b8f6-6ceb441930d9 + 0 + 61787 + 0 + 20 + + IsAllowsCollectOrder + 2021-08-14 19:44:16.142 + 100 + Allows collect a Sales Order + ECA14 + 1 + Allows collect a order based on RMA on Order + true + Allows Collect Order + + + + + Allows Collect Order + 2021-08-14 19:44:16.142 + 100 + + + + + 0 + 61787 + es_MX + 0 + 2021-08-14 19:44:17.658 + 100 + Allows collect a Sales Order + Allows collect a order based on RMA on Order + true + false + Allows Collect Order + + + + + Allows Collect Order + 2021-08-14 19:44:17.658 + 100 + 2d5cfbea-276d-47a6-9bae-b90ca5759b83 + + + + + 61787 + es_MX + Permitir Cobrar una Orden de Venta + Permite Cobrar una orden de venta + Permitir Cobrar + Permitir Cobrar + + + + + true + false + false + N + false + false + false + false + false + false + N + false + true + + Allows Modify Quantity + + + true + 0 + 2021-08-14 19:48:49.758 + 100 + c43fda03-0e41-4ffc-aad0-e347a08745ae + + + 0 + + + 0 + 99045 + 61785 + + 0 + + 20 + + 748 + + + IsAllowsModifyQuantity + + 2021-08-14 19:48:49.758 + 100 + Y + Allows modifying the quantity + ECA14 + 1 + + Allows modifying the quantity for products with a non zero quantity + + true + true + + + + + 0 + 99045 + es_MX + 0 + 2021-08-14 19:48:52.037 + 100 + true + false + Allows Modify Quantity + 2021-08-14 19:48:52.037 + 100 + d9c66417-b5ef-44b1-ad0c-1351972502cd + + + + + + 0 + 99046 + 61786 + + 0 + + 20 + + 748 + + + IsAllowsReturnOrder + + 2021-08-14 19:49:04.075 + 100 + Y + Allows return a Sales Order + ECA14 + 1 + + Allows return a order based on RMA on Order + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + Allows Return Order + + + true + 0 + 2021-08-14 19:49:04.075 + 100 + 9ae7fdf1-c147-4fea-acc7-7db375f1c695 + + + 0 + + + + + + 0 + 99046 + es_MX + 0 + 2021-08-14 19:49:06.441 + 100 + true + false + Allows Return Order + 2021-08-14 19:49:06.441 + 100 + 147905ad-ded1-403c-a7e3-8aa6466c5e65 + + + + + 0 + + 20 + + 0 + 99047 + 61787 + + + 748 + + + IsAllowsCollectOrder + + 2021-08-14 19:49:17.713 + 100 + Y + Allows collect a Sales Order + ECA14 + 1 + + Allows collect a order based on RMA on Order + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + Allows Collect Order + + + true + 0 + 2021-08-14 19:49:17.713 + 100 + e541437d-2fd3-4356-bab3-f47ca8ace55d + + + 0 + + + + + + 0 + true + false + Allows Collect Order + 2021-08-14 19:49:19.912 + 100 + adc2284e-0514-4389-b841-91e9e0271424 + 99047 + es_MX + 0 + 2021-08-14 19:49:19.912 + 100 + + + + + 0 + 99045 + + + + 101309 + + 0 + + + 676 + + 2021-08-14 19:49:46.139 + 100 + + Allows modifying the quantity + 0 + + ECA14 + Allows modifying the quantity for products with a non zero quantity + + + true + true + true + true + true + false + false + false + false + + false + false + false + Allows Modify Quantity + + 0 + 320 + 320 + 0 + 2021-08-14 19:49:46.14 + 100 + eb38ce0c-e47a-4e8a-8487-3056cc0352b4 + + + + + 0 + 101309 + es_MX + 0 + 2021-08-14 19:49:48.4 + 100 + Allows modifying the quantity + Allows modifying the quantity for products with a non zero quantity + true + false + Allows Modify Quantity + 2021-08-14 19:49:48.4 + 100 + 24bb2f29-5cbc-4386-937f-0901bc806a83 + + + + + 2021-08-14 19:49:57.593 + 100 + 5f3c0e38-5499-4e9d-b7b3-012fe02d98a3 + 0 + 99046 + + + + 101310 + + 0 + + + 676 + + 2021-08-14 19:49:57.592 + 100 + + Allows return a Sales Order + 0 + + ECA14 + Allows return a order based on RMA on Order + + + true + true + true + true + true + false + false + false + false + + false + false + false + Allows Return Order + + 0 + 330 + 330 + 0 + + + + + 0 + 101310 + es_MX + 0 + 2021-08-14 19:49:59.694 + 100 + Allows return a Sales Order + Allows return a order based on RMA on Order + true + false + Allows Return Order + 2021-08-14 19:49:59.694 + 100 + f8980412-d85c-4c54-8afc-1388fc934282 + + + + + 0 + + 0 + 340 + 340 + 0 + 2021-08-14 19:50:09.8 + 100 + 0f565559-a633-49cc-b426-12f55ac9bcd4 + 99047 + + + + 101311 + + 0 + + + 676 + + 2021-08-14 19:50:09.8 + 100 + + Allows collect a Sales Order + 0 + + ECA14 + Allows collect a order based on RMA on Order + + + true + true + true + true + true + false + false + false + false + + false + false + false + Allows Collect Order + + + + + 0 + 101311 + es_MX + 0 + 2021-08-14 19:50:11.575 + 100 + Allows collect a Sales Order + Allows collect a order based on RMA on Order + true + false + Allows Collect Order + 2021-08-14 19:50:11.575 + 100 + 17c2f5ea-9cf6-4678-98b9-8bc7314901db + + + + + false + false + false + false + false + N + false + true + + Maximum Refund Allowed + + + true + 0 + 2021-08-14 19:50:39.379 + 100 + 008f0e7c-6622-41b5-bd3f-0fd8e1064a8a + + + 0 + + + 0 + 99048 + 61784 + + 0 + + 12 + + 748 + + + MaximumRefundAllowed + + 2021-08-14 19:50:39.379 + 100 + 0 + Set the maximum refund allowed for this tender type using the POS currency + ECA14 + 0 + + If this field is zero then not have a maxumum refund + + true + true + true + false + false + N + false + + + + + 0 + 99048 + es_MX + 0 + 2021-08-14 19:50:41.77 + 100 + true + false + Maximum Refund Allowed + 2021-08-14 19:50:41.77 + 100 + 8ed93cc9-01fe-40a2-9679-65469f7688c5 + + + + + + 0 + 99048 + + + + 101312 + + 0 + + + 676 + + 2021-08-14 19:50:51.562 + 100 + + Set the maximum refund allowed for this tender type using the POS currency + 0 + + ECA14 + If this field is zero then not have a maxumum refund + + true + true + true + true + true + false + false + false + false + + false + false + false + Maximum Refund Allowed + + 0 + 350 + 350 + 0 + 2021-08-14 19:50:51.563 + 100 + e2f97564-ac11-43df-9eed-fa450280d506 + + + + + 0 + 101312 + es_MX + 0 + 2021-08-14 19:50:53.683 + 100 + Set the maximum refund allowed for this tender type using the POS currency + If this field is zero then not have a maxumum refund + true + false + Maximum Refund Allowed + 2021-08-14 19:50:53.683 + 100 + 4e59566e-a026-4d28-9864-ad27621af93a + + + + + 0 + 50141 + 0 + 2021-08-14 19:53:08.571 + 100 + ECA14 + C + true + false + Allowed Operations for Seller + 2021-08-14 19:53:08.571 + 100 + 7c1bb87f-40aa-4e23-a5de-a5848fc5584e + + + + + 50141 + es_MX + 0 + 2021-08-14 19:53:09.792 + 100 + true + false + Allowed Operations for Seller + 2021-08-14 19:53:09.792 + 100 + ff3baf57-e34c-459e-ae74-537b8a62f3a6 + 0 + + + + + 50141 + es_MX + Operaciones Permitidas para El Vendedor + + + + diff --git a/pos/xml/migration/07880_Add_Daily_Amount_to_Refunded.xml b/pos/xml/migration/07880_Add_Daily_Amount_to_Refunded.xml new file mode 100644 index 0000000000..4feaf43878 --- /dev/null +++ b/pos/xml/migration/07880_Add_Daily_Amount_to_Refunded.xml @@ -0,0 +1,384 @@ + + + + + + 0 + 61788 + 0 + 12 + + MaximumDailyRefundAllowed + 2021-08-16 10:56:05.081 + 100 + Set the maximum daily refund allowed for this tender type using the POS currency + ECA14 + 10 + If this field is zero then not have a maxumumdaily refund + true + Maximum Daily Refund Allowed + + + + + Maximum Daily Refund Allowed + 2021-08-16 10:56:05.081 + 100 + 2f8b2676-c9fb-4c55-ae20-3ade6ef42255 + + + + + Set the maximum daily refund allowed for this tender type using the POS currency + If this field is zero then not have a maxumumdaily refund + true + false + Maximum Daily Refund Allowed + + + + Maximum Daily Refund Allowed + 2021-08-16 10:56:07.315 + 100 + 1a69d791-668c-4e6e-9cb1-bc2cf180f000 + + 0 + 61788 + es_MX + 0 + 2021-08-16 10:56:07.315 + 100 + + + + + 61788 + Establece el Reembolso Máximo Diario permitido para este tipo de pago en la moneda del Terminal PDV + es_MX + Si el monto es cero entonces no tiene un máximo diario establecido + Reembolso Máximo Diario Permitido + Reembolso Máximo Diario Permitido + + + + + false + + + 0 + 99049 + 61788 + + 0 + + 12 + + 748 + + + MaximumDailyRefundAllowed + + 2021-08-16 10:59:19.694 + 100 + 0 + Set the maximum daily refund allowed for this tender type using the POS currency + ECA14 + 0 + + false + false + false + false + false + N + false + true + Maximum Daily Refund Allowed + + 0 + 2021-08-16 10:59:19.694 + 100 + 22176233-6c13-40ef-8454-238e7dee6f99 + + + 0 + + If this field is zero then not have a maxumumdaily refund + + true + true + true + false + false + N + + + + + 0 + 99049 + es_MX + 0 + 2021-08-16 10:59:20.995 + 100 + true + false + Maximum Daily Refund Allowed + 2021-08-16 10:59:20.995 + 100 + c65005be-7992-4c7e-a3e7-a0113ae74f8a + + + + + 075f16e5-7d71-4cca-823a-fa4d8650a5f6 + + + 0 + + 0 + 99050 + 61788 + + 0 + + 12 + + 54848 + + + MaximumDailyRefundAllowed + + 2021-08-16 10:59:46.254 + 100 + 0 + Set the maximum daily refund allowed for this tender type using the POS currency + ECA14 + 0 + + If this field is zero then not have a maxumumdaily refund + + true + true + true + false + + false + N + false + false + false + false + false + false + N + false + true + + Maximum Daily Refund Allowed + + 0 + 2021-08-16 10:59:46.254 + 100 + + + + + 0 + 99050 + es_MX + 0 + 2021-08-16 10:59:47.198 + 100 + true + false + Maximum Daily Refund Allowed + 2021-08-16 10:59:47.198 + 100 + fbee875c-9fb5-4be2-8988-4d85125fedca + + + + + + + + 55110 + + 2021-08-16 10:59:51.969 + 100 + + Set the maximum daily refund allowed for this tender type using the POS currency + 0 + ECA14 + If this field is zero then not have a maxumumdaily refund + + + true + true + true + true + true + false + false + false + false + + false + false + false + Maximum Daily Refund Allowed + + + 0 + 0 + + 2021-08-16 10:59:51.969 + 100 + 1df666f8-dc1c-433e-9925-f64e871a53fb + 0 + 99050 + + + + 101313 + + 0 + + + + + 0 + 101313 + es_MX + 0 + 2021-08-16 10:59:53.111 + 100 + Set the maximum daily refund allowed for this tender type using the POS currency + If this field is zero then not have a maxumumdaily refund + true + false + Maximum Daily Refund Allowed + 2021-08-16 10:59:53.111 + 100 + 062ba6da-0846-42ce-899e-7fc253734ff6 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + @IsAllowedToRefund@='Y' + + + + + 0 + + 0 + + + 676 + + 2021-08-16 11:00:26.473 + 100 + + Set the maximum daily refund allowed for this tender type using the POS currency + 0 + + ECA14 + If this field is zero then not have a maxumumdaily refund + + + true + true + true + true + true + false + false + false + false + + false + false + false + Maximum Daily Refund Allowed + + 0 + 360 + 360 + 0 + 2021-08-16 11:00:26.473 + 100 + 14ab9b32-ffae-4609-a385-969818cbf54c + 99049 + + + + 101314 + + + + + 0 + 0 + 100 + 4bfb21d7-de07-4fc3-8fe0-3f41ee47fe57 + 101314 + es_MX + 2021-08-16 11:00:27.946 + 100 + Set the maximum daily refund allowed for this tender type using the POS currency + If this field is zero then not have a maxumumdaily refund + true + false + Maximum Daily Refund Allowed + 2021-08-16 11:00:27.946 + + + + + 320 + + + + + 330 + + + + + 340 + + + + + 350 + + + + + 370 + + + + diff --git a/pos/xml/migration/07880_Add_Is_Allows_Create_Order_Flag.xml b/pos/xml/migration/07880_Add_Is_Allows_Create_Order_Flag.xml new file mode 100644 index 0000000000..b8ef6b67ea --- /dev/null +++ b/pos/xml/migration/07880_Add_Is_Allows_Create_Order_Flag.xml @@ -0,0 +1,201 @@ + + + + + + 0 + Allows Create Order + + + + + Allows Create Order + 2021-08-19 18:59:24.0 + 100 + f3e084b9-e4eb-4e3f-b353-69a7222b4227 + 61789 + 0 + 20 + + IsAllowsCreateOrder + 2021-08-19 18:59:24.0 + 100 + Allows create a Sales Order + ECA14 + 1 + Allows create a order based on RMA on Order + true + + + + + 0 + 61789 + es_MX + 0 + 2021-08-19 18:59:27.105 + 100 + Allows create a Sales Order + Allows create a order based on RMA on Order + true + false + Allows Create Order + + + + + Allows Create Order + 2021-08-19 18:59:27.105 + 100 + ead6547d-e480-494e-ad4a-d86b185d4528 + + + + + 61789 + es_MX + Permitir crear Órdenes de Venta + Permite realizar órdenes de venta + Permitir Crear Orden + Permitir Crear Orden + + + + + Allows create a Sales Order + ECA14 + 1 + + Allows create a order based on RMA on Order + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + Allows Create Order + + + true + 0 + 2021-08-19 19:41:31.233 + 100 + d2b5ac8b-7346-4f8e-90eb-d70afd2aad31 + + + 0 + + + 0 + 99051 + 61789 + + 0 + + 20 + + 748 + + + IsAllowsCreateOrder + + 2021-08-19 19:41:31.233 + 100 + Y + + + + + 0 + 99051 + es_MX + 0 + 2021-08-19 19:41:34.308 + 100 + true + false + Allows Create Order + 2021-08-19 19:41:34.308 + 100 + d11f0e6c-84cb-4faf-a118-55cd7d5c0e42 + + + + + 0 + 99051 + + + + 101315 + + 0 + + + 676 + + 2021-08-19 19:41:50.777 + 100 + + Allows create a Sales Order + 0 + + ECA14 + Allows create a order based on RMA on Order + + + true + true + true + true + true + false + false + false + false + + false + false + false + Allows Create Order + + 0 + 380 + 380 + 0 + 2021-08-19 19:41:50.778 + 100 + 93196dba-dc61-4bde-bab8-50c91d32da07 + + + + + 0 + 101315 + es_MX + 0 + 2021-08-19 19:41:52.099 + 100 + Allows create a Sales Order + Allows create a order based on RMA on Order + true + false + Allows Create Order + 2021-08-19 19:41:52.099 + 100 + db1b9315-019f-42bd-906b-360b613414fe + + + + diff --git a/pos/xml/migration/07892_Add_IsTaxExempt_for_Document_Type.xml b/pos/xml/migration/07892_Add_IsTaxExempt_for_Document_Type.xml new file mode 100644 index 0000000000..0012f43e39 --- /dev/null +++ b/pos/xml/migration/07892_Add_IsTaxExempt_for_Document_Type.xml @@ -0,0 +1,142 @@ + + + + + + + 0 + 99052 + 930 + + 0 + + 20 + + 217 + + + IsTaxExempt + + 2021-08-19 22:54:37.124 + 100 + N + Business partner is exempt from tax on sales + ECA14 + 1 + + If a business partner is exempt from tax on sales, the exempt tax rate is used. For this, you need to set up a tax rate with a 0% rate and indicate that this is your tax exempt rate. This is required for tax reporting, so that you can track tax exempt transactions. + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + SO Tax exempt + + + true + 0 + 2021-08-19 22:54:37.124 + 100 + d0db1391-16cf-411a-84ab-725d94b963a9 + + + 0 + + + + + + es_MX + 0 + 2021-08-19 22:54:39.81 + 100 + true + false + SO Tax exempt + 2021-08-19 22:54:39.81 + 100 + 75dd4882-d3d7-4aed-9076-000691d6ae32 + 0 + 99052 + + + + + 100 + 0 + 99052 + + + + 101316 + + 0 + + + 167 + + 2021-08-19 22:55:04.962 + 100 + + Business partner is exempt from tax on sales + 0 + + ECA14 + If a business partner is exempt from tax on sales, the exempt tax rate is used. For this, you need to set up a tax rate with a 0% rate and indicate that this is your tax exempt rate. This is required for tax reporting, so that you can track tax exempt transactions. + + + true + true + true + true + true + false + false + false + false + + false + false + false + SO Tax exempt + + 0 + 440 + 440 + 0 + 2021-08-19 22:55:04.962 + cf1ad001-94cc-460e-9331-b34bf4fab444 + + + + + 0 + 101316 + es_MX + 0 + 2021-08-19 22:55:06.438 + 100 + Business partner is exempt from tax on sales + If a business partner is exempt from tax on sales, the exempt tax rate is used. For this, you need to set up a tax rate with a 0% rate and indicate that this is your tax exempt rate. This is required for tax reporting, so that you can track tax exempt transactions. + true + false + SO Tax exempt + 2021-08-19 22:55:06.438 + 100 + b3884e45-76ac-4f85-ae2e-544be20e8c17 + + + + diff --git a/pos/xml/migration/07900_Add_Functionality_Setup_for_Change_Tax.xml b/pos/xml/migration/07900_Add_Functionality_Setup_for_Change_Tax.xml new file mode 100644 index 0000000000..21589d3716 --- /dev/null +++ b/pos/xml/migration/07900_Add_Functionality_Setup_for_Change_Tax.xml @@ -0,0 +1,23 @@ + + + + + + 0 + 0 + 50025 + org.spin.pos.setup.ChangeTaxDeploy + 2021-08-19 23:45:25.519 + 100 + Allows define model validator for set new functionality for change tax to documents + ECA14 + + true + Deploy for Change Tax Functionality + 2021-08-19 23:45:25.519 + 100 + 5c341229-d440-4e98-9773-d2035d507a6b + + + + diff --git a/pos/xml/migration/07910_Add_Refund_Reference_Currency.xml b/pos/xml/migration/07910_Add_Refund_Reference_Currency.xml new file mode 100644 index 0000000000..bf8f5edcff --- /dev/null +++ b/pos/xml/migration/07910_Add_Refund_Reference_Currency.xml @@ -0,0 +1,368 @@ + + + + + + 2021-08-20 01:34:28.614 + 100 + ca1c24b2-2e8e-49ad-94e1-7e5a2aea24de + 0 + 61790 + 0 + 18 + 112 + RefundReferenceCurrency_ID + 2021-08-20 01:34:28.614 + 100 + Refund Reference Currency for limit the allowed amount + ECA14 + 22 + Indicates the Currency to be used to reference a value of refund for Point Of Sales + true + Refund Reference Currency + + + + + Refund Reference Currency + + + + + 0 + 61790 + es_MX + 0 + 2021-08-20 01:34:32.838 + 100 + Refund Reference Currency for limit the allowed amount + Indicates the Currency to be used to reference a value of refund for Point Of Sales + true + false + Refund Reference Currency + + + + + Refund Reference Currency + 2021-08-20 01:34:32.838 + 100 + fe7d0555-66f6-4358-a606-f429635c9414 + + + + + 61790 + es_MX + Moneda de Referencia para Reembolso para limite definido + Indica la moneda a ser usada para referencia del valor del monto límite definido para Reembolso + Moneda de Referencia para Reembolso + Moneda de Referencia para Reembolso + + + + + Indicates the Currency to be used to reference a value of refund for Point Of Sales + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + Refund Reference Currency + + + true + 0 + 2021-08-20 01:36:20.151 + 100 + 6d580603-bc0f-494c-938c-f0d292847135 + + + 0 + + + 0 + 99053 + 61790 + + 0 + + 18 + 112 + 54848 + + + RefundReferenceCurrency_ID + + 2021-08-20 01:36:20.151 + 100 + -1 + Refund Reference Currency for limit the allowed amount + ECA14 + 10 + + + + + + 0 + 99053 + es_MX + 0 + 2021-08-20 01:36:22.606 + 100 + true + false + Refund Reference Currency + 2021-08-20 01:36:22.606 + 100 + d339690c-07ef-40bb-b9a9-011d677062c1 + + + + + + + RefundReferenceCurrency_ID + + 2021-08-20 01:36:46.65 + 100 + -1 + Refund Reference Currency for limit the allowed amount + ECA14 + 10 + + Indicates the Currency to be used to reference a value of refund for Point Of Sales + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + Refund Reference Currency + + + true + 0 + 2021-08-20 01:36:46.65 + 100 + 09261f0e-489f-4355-aa43-895640890fab + + + 0 + + 0 + 99054 + 61790 + + 0 + + 18 + 112 + 748 + + + + + + da916670-2c52-4cce-bb62-b23b7bb62610 + 0 + 99054 + es_MX + 0 + 2021-08-20 01:36:48.67 + 100 + true + false + Refund Reference Currency + 2021-08-20 01:36:48.67 + 100 + + + + + 0 + 99054 + + + + 101317 + + 0 + + + 676 + + 2021-08-20 01:37:57.665 + 100 + + Refund Reference Currency for limit the allowed amount + 0 + + ECA14 + Indicates the Currency to be used to reference a value of refund for Point Of Sales + + + true + true + true + true + true + false + false + false + false + + false + false + false + Refund Reference Currency + + 0 + 390 + 390 + 0 + 2021-08-20 01:37:57.666 + 100 + 517fb9b1-2380-45cf-9583-ed7a907e00a4 + + + + + Refund Reference Currency for limit the allowed amount + Indicates the Currency to be used to reference a value of refund for Point Of Sales + true + 0 + 101317 + es_MX + 0 + 2021-08-20 01:37:59.549 + 100 + false + Refund Reference Currency + 2021-08-20 01:37:59.549 + 100 + f9f576c3-8f96-45f9-9d4c-75134a0b3b9e + + + + + 0 + 99053 + + + + 101318 + + 0 + + + 55110 + + 2021-08-20 01:38:13.818 + 100 + + Refund Reference Currency for limit the allowed amount + 0 + + ECA14 + Indicates the Currency to be used to reference a value of refund for Point Of Sales + + + true + true + true + true + true + false + false + false + false + + false + false + false + Refund Reference Currency + + 0 + 100 + 100 + 0 + 2021-08-20 01:38:13.819 + 100 + 58cba214-895b-4b59-9f17-aaaab180d520 + + + + + 0 + 101318 + es_MX + 0 + 2021-08-20 01:38:15.651 + 100 + Refund Reference Currency for limit the allowed amount + Indicates the Currency to be used to reference a value of refund for Point Of Sales + true + false + Refund Reference Currency + 2021-08-20 01:38:15.651 + 100 + 74526a6c-c48b-4441-9843-7bb2800fad47 + + + + + @IsAllowedToRefund@='Y' + + + + + @IsAllowedToRefund@='Y' + + + + + false + + + + + true + + + + + 90 + + + + + 100 + + + + diff --git a/pos/xml/migration/07920_Add_Payment_Method_for_POS_Definition.xml b/pos/xml/migration/07920_Add_Payment_Method_for_POS_Definition.xml new file mode 100644 index 0000000000..9636d2f929 --- /dev/null +++ b/pos/xml/migration/07920_Add_Payment_Method_for_POS_Definition.xml @@ -0,0 +1,134 @@ + + + + + + 61500 + + 0 + + 19 + + 54848 + + + C_PaymentMethod_ID + + 2021-08-21 18:56:55.103 + 100 + + Payment Methods allowed for Store + ECA14 + 10 + + + + true + true + true + false + false + N + false + false + false + true + N + false + true + + Store Payment Method + + + true + 0 + 2021-08-21 18:56:55.104 + 100 + 0fbb0e25-c989-4a70-8d0d-fd4f19a35123 + + + 0 + + false + false + + 0 + 99055 + + + + + 0 + 99055 + es_VE + 0 + 2021-08-21 18:56:58.227 + 100 + true + false + Store Payment Method + 2021-08-21 18:56:58.227 + 100 + 7dfc7422-de88-41da-9d64-f6ee5035424e + + + + + Payment Method allocated for POS terminal + POS Payment Method Allocation + true + C_POSPaymentMethodAllocation + C_POSPaymentTypeAllocation + + + + + C_POSPaymentMethodAllocation + Table C_POSPaymentMethodAllocation + + + + + C_POSPaymentTypeAllocation + + + + + Table C_POSPaymentTypeAllocation + C_POSPaymentTypeAllocation + + + + + POS Payment Method Allocation + C_POSPaymentTypeAllocation_ID + POS Payment Method Allocation + + + + + C_POSPaymentTypeAllocation_ID + POS Payment Method Allocation + true + C_POSPaymentTypeAllocation_ID + + + + + POS Payment Method Allocation + + + + + true + + + + + Payment Method Allocation for POS + Allocated Payment Method for POS + Payment Method Allocation + + + + diff --git a/pos/xml/migration/07930_Add_default_value_for_payment_type.xml b/pos/xml/migration/07930_Add_default_value_for_payment_type.xml new file mode 100644 index 0000000000..eb88e096d4 --- /dev/null +++ b/pos/xml/migration/07930_Add_default_value_for_payment_type.xml @@ -0,0 +1,10 @@ + + + + + + -1 + + + + diff --git a/pos/xml/migration/07940_Add_Product_Catalog_report.xml b/pos/xml/migration/07940_Add_Product_Catalog_report.xml new file mode 100644 index 0000000000..25afedff10 --- /dev/null +++ b/pos/xml/migration/07940_Add_Product_Catalog_report.xml @@ -0,0 +1,652 @@ + + + + + + inf_Product_Catalog + 3 + + 0 + + 0 + + 54550 + + + + N + 2021-08-23 21:57:09.004 + 100 + Show many attributes of product with price, availability and other features + ECA14 + N + A product catalog is a type of marketing collateral that lists essential product details that help buyers make a purchase decision. These details include product features, descriptions, dimensions, price, weight, availability, color, customer reviews, and more. + true + false + false + true + false + attachment:inf_Product_Catalog.jasper + Product Catalog + + Y + 0 + 0 + 2021-08-23 21:57:09.004 + 100 + 9392d28b-a6be-47c5-bc67-45722dc01039 + + + + + + 0 + es_MX + 0 + 54550 + 2021-08-23 21:57:11.144 + 100 + Show many attributes of product with price, availability and other features + A product catalog is a type of marketing collateral that lists essential product details that help buyers make a purchase decision. These details include product features, descriptions, dimensions, price, weight, availability, color, customer reviews, and more. + true + false + Product Catalog + 2021-08-23 21:57:11.144 + 100 + 1c581ef6-1bcc-4216-be19-ec977538c29b + + + + + es_MX + 54550 + Muestra atributos de productos con precio, disponibilidad y otras características + Un catálogo de productos es un tipo de garantía de marketing que enumera los detalles esenciales del producto que ayudan a los compradores a tomar una decisión de compra. Estos detalles incluyen características del producto, descripciones, dimensiones, precio, peso, disponibilidad, color, reseñas de clientes y más. + Catálogo de Productos + + + + + + 10 + 2021-08-23 21:58:47.568 + 0 + 113 + 0 + 54550 + 58428 + 19 + + + AD_Org_ID + 2021-08-23 21:58:47.567 + 100 + -1 + + Organizational entity within client + + ECA14 + 22 + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + true + false + false + false + Organization + 100 + dd4f61c2-9b4b-4813-b700-161634858f92 + + + + + + + + 0 + es_MX + 0 + 58428 + 2021-08-23 21:58:54.897 + 100 + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + false + Organization + 2021-08-23 21:58:54.897 + 100 + 1829e0b2-4002-45eb-8215-118c68b0a90c + + + + + + + + 0 + 449 + 0 + 54550 + 58429 + 19 + + + M_PriceList_ID + 2021-08-23 21:59:09.634 + 100 + -1 + + Unique identifier of a Price List + + ECA14 + 22 + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + true + true + false + true + false + Price List + + 20 + 2021-08-23 21:59:09.634 + 100 + c30f1edb-8ebc-4a0e-be9e-1bb40992e97f + + + + + 0 + es_MX + 0 + 58429 + 2021-08-23 21:59:11.59 + 100 + Unique identifier of a Price List + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + true + false + Price List + 2021-08-23 21:59:11.59 + 100 + 7bc64b26-c7a8-4bdd-b738-720e9f64977b + + + + + 0 + 454 + 0 + 54550 + 58430 + 30 + + + M_Product_ID + 2021-08-23 21:59:30.104 + 100 + -1 + + Product, Service, Item + + ECA14 + 22 + Identifies an item which is either purchased or sold in this organization. + true + true + false + false + false + Product + + 30 + 2021-08-23 21:59:30.105 + 100 + 33cf4afa-4375-44eb-a43f-976d78ffe81c + + + + + + + + 0 + 58430 + 2021-08-23 21:59:33.308 + 100 + Product, Service, Item + Identifies an item which is either purchased or sold in this organization. + true + false + Product + 0 + 2021-08-23 21:59:33.308 + es_MX + 100 + 09dd8c98-830c-4cf5-8981-72c4dd1ba67a + + + + + 0 + 453 + 0 + 54550 + 58431 + 19 + 163 + + M_Product_Category_ID + 2021-08-23 22:00:10.515 + 100 + -1 + + Category of a Product + + ECA14 + 22 + Identifies the category which this product belongs to. Product categories are used for pricing and selection. + true + true + false + false + false + Product Category + + 40 + 2021-08-23 22:00:10.515 + 100 + a712b607-84a0-4af9-b81e-d8fc12f3e187 + + + + + + + + 0 + es_MX + 0 + 58431 + 2021-08-23 22:00:12.197 + 100 + Category of a Product + Identifies the category which this product belongs to. Product categories are used for pricing and selection. + true + false + Product Category + 2021-08-23 22:00:12.197 + 100 + d50657f9-cacf-4ceb-b381-4825756280ae + + + + + 0 + 55494 + 0 + 54550 + 58432 + 19 + + + M_Product_Group_ID + 2021-08-23 22:00:23.665 + 100 + -1 + + Group of a Product + + ECA14 + 22 + Identifies the Group which this product belongs to. + true + true + false + false + false + Product Group + + 50 + 2021-08-23 22:00:23.665 + 100 + ef72404e-a2cf-4b56-99d6-d3f065caf473 + + + + + + + + 0 + es_MX + 0 + 58432 + 2021-08-23 22:00:25.09 + 100 + Group of a Product + Identifies the Group which this product belongs to. + true + false + Product Group + 2021-08-23 22:00:25.09 + 100 + 185efc33-3bef-4657-97d7-544656dd397b + + + + + 0 + 55492 + 0 + 54550 + 58433 + 19 + + + M_Product_Class_ID + 2021-08-23 22:00:55.059 + 100 + -1 + + Class of a Product + + ECA14 + 22 + Identifies the Class which this product belongs to + true + true + false + false + false + Product Class + + 60 + 2021-08-23 22:00:55.059 + 100 + ac50ffe3-f168-4a91-b387-8c1a3002efbc + + + + + + + + 0 + es_MX + 0 + 58433 + 2021-08-23 22:00:56.885 + 100 + Class of a Product + Identifies the Class which this product belongs to + true + false + Product Class + 2021-08-23 22:00:56.885 + 100 + e9e3fb55-8d9e-4274-a49c-4456bd4f7dec + + + + + 0 + 55490 + 0 + + M_Product_Classification_ID + 2021-08-23 22:01:05.628 + 100 + -1 + + Classification of a Product + + ECA14 + 22 + Identifies the classification which this product belongs to. + true + true + false + false + false + Product Classification + + 70 + 2021-08-23 22:01:05.628 + 100 + a40227d4-b3fb-48a6-aa93-f8d1552be81a + + + + 54550 + 58434 + 19 + + + + + + 0 + es_MX + 0 + 58434 + 2021-08-23 22:01:07.302 + 100 + Classification of a Product + Identifies the classification which this product belongs to. + true + false + Product Classification + 2021-08-23 22:01:07.302 + 100 + acbc1e4f-9c9b-419d-ac84-d1e604d19150 + + + + + Valid from including this date (first day) + + ECA14 + 7 + The Valid From date indicates the first day of a date range + true + true + false + true + false + Valid from + + 80 + 2021-08-23 22:01:24.515 + 100 + 30ed4f0a-252b-43de-beb3-86e4aac23f09 + + + + 0 + 617 + 0 + 54550 + 58435 + 15 + + + ValidFrom + 2021-08-23 22:01:24.514 + 100 + @#Date@ + + + + + + 0 + es_MX + 0 + 58435 + 2021-08-23 22:01:25.741 + 100 + Valid from including this date (first day) + The Valid From date indicates the first day of a date range + true + false + Valid from + 2021-08-23 22:01:25.741 + 100 + 2c5f00b2-1440-48c3-9286-edee7d1338a0 + + + + + 0 + 1672 + 0 + 54550 + 58436 + 20 + + + MustBeStocked + 2021-08-23 22:01:44.329 + 100 + + + If not sufficient in stock in the warehouse, the BOM is not produced + + ECA14 + 0 + + true + true + false + false + false + Product quantity must be in stock + + 90 + 2021-08-23 22:01:44.329 + 100 + d2358245-37b5-4e57-ba03-914a9791e6cd + + + + + + + + 0 + es_MX + 0 + 58436 + 2021-08-23 22:01:45.855 + 100 + If not sufficient in stock in the warehouse, the BOM is not produced + + true + false + Product quantity must be in stock + 2021-08-23 22:01:45.855 + 100 + 60c99716-bc4a-4a41-9fff-44a4285984da + + + + + R + + 0 + + 54771 + 0 + 54550 + + + + + 2021-08-23 22:02:15.689 + 100 + + ECA14 + true + true + false + false + false + Product Catalog + 2021-08-23 22:02:15.69 + 100 + 267b58f9-4d74-4634-a55c-99acd974f6c5 + + + + + es_MX + 0 + 54771 + 0 + 2021-08-23 22:02:17.525 + 100 + + true + false + Product Catalog + 2021-08-23 22:02:17.525 + 100 + 9527a4cf-91d6-43b0-a04f-20e19088a629 + + + + + 0 + 0 + 10 + 2021-08-23 22:02:17.921 + 100 + true + 54771 + 0 + 999 + 2021-08-23 22:02:17.921 + 100 + d1c8929b-e3f7-4f7b-b41d-8ed31ed142f4 + + + + + 10 + 54771 + 54677 + 1 + + + + + 10 + 54654 + 2 + + + + + 10 + 54671 + 3 + + + + + 10 + 54676 + 4 + + + + + 10 + 54675 + 5 + + + + diff --git a/pos/xml/migration/07950_Add_Display_Discount_for_POS.xml b/pos/xml/migration/07950_Add_Display_Discount_for_POS.xml new file mode 100644 index 0000000000..9738d1598b --- /dev/null +++ b/pos/xml/migration/07950_Add_Display_Discount_for_POS.xml @@ -0,0 +1,604 @@ + + + + + + 0 + 61791 + 0 + 20 + + IsAllowedToRefundOpen + 2021-08-23 22:14:45.634 + 100 + This Tender Type can be used to refund to customer + ECA14 + 1 + Use this flag for determinate if a tender type is allowed to refund to customer + true + Is Allowed To Refund Open + + + + + Is Allowed To Refund Open + 2021-08-23 22:14:45.634 + 100 + 8c6fe308-dba3-4647-8260-ab1c582f9b21 + + + + + 0 + 61791 + es_MX + 0 + 2021-08-23 22:14:47.668 + 100 + This Tender Type can be used to refund to customer + Use this flag for determinate if a tender type is allowed to refund to customer + true + false + Is Allowed To Refund Open + + + + + Is Allowed To Refund Open + 2021-08-23 22:14:47.668 + 100 + fc6ed83b-0a61-4fec-b5a3-4e0d9731b62e + + + + + 61791 + es_MX + Use esta bandera para permitir hacer reembolsos a clientes posterior al cierre de caja + Permitir Reembolso Pendiente + Permitir Reembolso Pendiente + Permite dejar reembolsos pendientes para cancelar luego + + + + + + 0 + + + 0 + 99056 + 61791 + + 0 + + 20 + + 54848 + + + IsAllowedToRefundOpen + + 2021-08-23 22:18:14.821 + 100 + N + This Tender Type can be used to refund to customer + ECA14 + 1 + + Use this flag for determinate if a tender type is allowed to refund to customer + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + Is Allowed To Refund Open + + + true + 0 + 2021-08-23 22:18:14.821 + 100 + b60abe77-ebfd-453a-88e8-1919954fe230 + + + + + + 0 + 99056 + es_MX + 0 + 2021-08-23 22:18:16.955 + 100 + true + false + Is Allowed To Refund Open + 2021-08-23 22:18:16.955 + 100 + 35a3012f-d709-4801-b6c8-be3205d8f514 + + + + + 0 + 99056 + + + + 101319 + + 0 + + + 55110 + + 2021-08-23 22:18:41.546 + 100 + + This Tender Type can be used to refund to customer + 0 + + ECA14 + Use this flag for determinate if a tender type is allowed to refund to customer + + + true + true + true + true + true + false + false + false + false + + false + false + false + Is Allowed To Refund Open + + 0 + 110 + 110 + 0 + 2021-08-23 22:18:41.546 + 100 + 4c81fd92-0f55-4f69-bc8d-ad46d24bcdc5 + + + + + 0 + Use this flag for determinate if a tender type is allowed to refund to customer + true + false + Is Allowed To Refund Open + 2021-08-23 22:18:43.174 + 100 + eab97abf-247f-46fd-b2e0-ad163c1e79df + 101319 + es_MX + 0 + 2021-08-23 22:18:43.174 + 100 + This Tender Type can be used to refund to customer + + + + + 0 + 61792 + 0 + 20 + + IsDiscountDisplayed + 2021-08-23 22:21:51.281 + 100 + Display Discount on POS window + ECA14 + 1 + Allows display discount on POS window, you can configure this flag for show discount from table and order line + true + Discount Displayed + + + + + Discount Displayed + 2021-08-23 22:21:51.281 + 100 + ff17ba02-0141-4b21-961a-34d928fa1c65 + + + + + 0 + 61792 + es_MX + 0 + 2021-08-23 22:21:53.203 + 100 + Display Discount on POS window + Allows display discount on POS window, you can configure this flag for show discount from table and order line + true + false + Discount Displayed + + + + + Discount Displayed + 2021-08-23 22:21:53.203 + 100 + 2336d223-a334-408e-a6ae-932316c79cdf + + + + + es_MX + Mostrar Descuento en la ventana del PDV + Permite mostrar el descuento en la ventana del Punto de Ventas, puede configurar esta bandera para mostrar el descuento en la tabla que muestra las líneas de la orden de venta + Mostrar Descuento + Mostrar Descuento + 61792 + + + + + IsDisplayDiscount + + + + + Display Discount + Display Discount + + + + + N + + 0 + 99057 + 61792 + + 0 + + 20 + + 748 + + + IsDisplayDiscount + + 2021-08-23 22:25:08.236 + 100 + N + Display Discount on POS window + ECA14 + 1 + + Allows display discount on POS window, you can configure this flag for show discount from table and order line + + true + true + true + false + false + N + false + false + false + false + false + false + false + true + + Display Discount + + + true + 0 + 2021-08-23 22:25:08.236 + 100 + d72e4a12-27ce-47f3-9055-d60b9526466f + + + 0 + + + + + + 0 + 99057 + es_MX + 0 + 2021-08-23 22:25:09.961 + 100 + true + false + Display Discount + 2021-08-23 22:25:09.961 + 100 + 3fabd761-fbbc-4ca7-8f44-6b399155eafb + + + + + 0 + 61793 + 0 + 20 + + IsDisplayTaxAmount + 2021-08-23 22:26:45.171 + 100 + Display Tax Amount on POS window + ECA14 + 1 + Allows display discount on POS window, you can configure this flag for show discount from table and order line + true + Display Tax Amount + + + + + Display Tax Amount + 2021-08-23 22:26:45.171 + 100 + 02fd9189-baf6-4203-b051-377cadb31015 + + + + + 0 + 61793 + es_MX + 0 + 2021-08-23 22:26:46.819 + 100 + Display Tax Amount on POS window + Allows display discount on POS window, you can configure this flag for show discount from table and order line + true + false + Display Tax Amount + + + + + Display Tax Amount + 2021-08-23 22:26:46.819 + 100 + 24e640e5-906f-4a30-a511-163f4f10b8f1 + + + + + 61793 + es_MX + Mostrar Monto de Impuesto en el Terminal PDV + Permite mostrar el monto del impuesto en la ventana del Punto de Ventas, puede configurar esta bandera para mostrar el monto de impuesto en la tabla de las líneas de orden de venta + Mostrar Monto de Impuesto + Mostrar Monto de Impuesto + + + + + true + false + false + N + false + false + false + false + false + false + N + false + true + + Display Tax Amount + + + true + 0 + 2021-08-23 22:28:12.705 + 100 + dfc03aa5-e912-416e-b5b7-03c0b06ac3a9 + + + 0 + + + 0 + 99058 + 61793 + + 0 + + 20 + + 748 + + + IsDisplayTaxAmount + + 2021-08-23 22:28:12.705 + 100 + N + Display Tax Amount on POS window + ECA14 + 1 + + Allows display discount on POS window, you can configure this flag for show discount from table and order line + + true + true + + + + + 0 + 99058 + es_MX + 0 + 2021-08-23 22:28:14.46 + 100 + true + false + Display Tax Amount + 2021-08-23 22:28:14.46 + 100 + 02481d2d-4b05-4217-8bae-b77de30cff4a + + + + + Display Tax Amount on POS window + 0 + 99058 + + + + 101320 + + 0 + + + 676 + + 2021-08-23 22:28:31.541 + 100 + + 0 + + ECA14 + Allows display discount on POS window, you can configure this flag for show discount from table and order line + + + true + true + true + true + true + false + false + false + false + + false + false + false + Display Tax Amount + + 0 + 400 + 400 + 0 + 2021-08-23 22:28:31.541 + 100 + 871b2134-a09f-4376-b6d5-d3ca86383d16 + + + + + 0 + 101320 + es_MX + 0 + 2021-08-23 22:28:33.441 + 100 + Display Tax Amount on POS window + Allows display discount on POS window, you can configure this flag for show discount from table and order line + true + false + Display Tax Amount + 2021-08-23 22:28:33.441 + 100 + a99110f9-fdef-40a2-944e-eda773385e7c + + + + + 0 + 99057 + + + + 101321 + + 0 + + + 676 + + 2021-08-23 22:28:42.334 + 100 + + Display Discount on POS window + 0 + + ECA14 + Allows display discount on POS window, you can configure this flag for show discount from table and order line + + + true + true + true + true + true + false + false + false + false + + false + false + false + Display Discount + + 0 + 410 + 410 + 0 + 2021-08-23 22:28:42.334 + 100 + 52fd8366-5c9f-4711-ba34-42f906431fa5 + + + + + 0 + 101321 + es_MX + 0 + 2021-08-23 22:28:44.008 + 100 + Display Discount on POS window + Allows display discount on POS window, you can configure this flag for show discount from table and order line + true + false + Display Discount + 2021-08-23 22:28:44.008 + 100 + 7e94fff6-3001-457e-94ba-46cd3a62010e + + + + diff --git a/pos/xml/migration/07960_Add_Report_for_Sales_Collection_and_Refund.xml b/pos/xml/migration/07960_Add_Report_for_Sales_Collection_and_Refund.xml new file mode 100644 index 0000000000..2af6db58ed --- /dev/null +++ b/pos/xml/migration/07960_Add_Report_for_Sales_Collection_and_Refund.xml @@ -0,0 +1,374 @@ + + + + + + 3 + + 0 + + 0 + + 54551 + + + + N + 2021-08-25 10:11:30.593 + 100 + This Report show all sales based on POS with each tender type and currencies + ECA14 + N + Use this report as daily control of Cash Closing + true + false + false + true + false + attachment:inf_POS_Sales_Detail_And_Refund_Op.jasper + POS Sales Detail, Collection and Refund Open + + Y + 0 + 0 + 2021-08-25 10:11:30.594 + 100 + 9a248eb9-8c82-4188-8ba5-1358e8ccfcd9 + inf_POS_Sales_Detail_And_Refund_Open + + + + + + 0 + es_MX + 0 + 54551 + 2021-08-25 10:11:33.717 + 100 + This Report show all sales based on POS with each tender type and currencies + Use this report as daily control of Cash Closing + true + false + POS Sales Detail, Collection and Refund Open + 2021-08-25 10:11:33.717 + 100 + f2c1e2ef-648a-49ad-a5d3-d603febe1b9f + + + + + 0 + 113 + 0 + 54551 + 58437 + 19 + + + AD_Org_ID + 2021-08-25 10:11:46.985 + 100 + -1 + + Organizational entity within client + + ECA14 + 22 + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + true + false + false + false + Organization + + 10 + 2021-08-25 10:11:46.985 + 100 + 9b6a51ab-6e31-478e-ae81-8fb960820180 + + + + + + + + 0 + es_MX + 0 + 58437 + 2021-08-25 10:11:47.976 + 100 + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + false + Organization + 2021-08-25 10:11:47.976 + 100 + 6b14b6a5-da45-4dc0-a2de-5242d48de5fd + + + + + 0 + 187 + 0 + 54551 + 58438 + 30 + + 230 + C_BPartner_ID + 2021-08-25 10:11:48.44 + 100 + + + Identifies a Business Partner + + ECA14 + 22 + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + true + true + false + false + false + Business Partner + + 20 + 2021-08-25 10:11:48.44 + 100 + 78643ee6-1a2a-483b-8cf8-9b07408cd1f3 + + + + + + + + 0 + es_MX + 0 + 58438 + 2021-08-25 10:11:49.847 + 100 + Identifies a Business Partner + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + true + false + Business Partner + 2021-08-25 10:11:49.847 + 100 + cf13e4b7-d0c1-430f-9307-8aa1b175fb57 + + + + + 0 + 267 + 0 + 54551 + 58439 + 15 + + + DateInvoiced + 2021-08-25 10:11:50.162 + 100 + + + Date printed on Invoice + + ECA14 + 7 + The Date Invoice indicates the date printed on the invoice. + true + true + false + true + false + Date Invoiced + + 30 + 2021-08-25 10:11:50.162 + 100 + fb73ac3c-0ed2-4ef3-b9fa-9eceaf3cc0fb + + + + + + + + 0 + Date Invoiced + 2021-08-25 10:11:51.413 + 100 + 12dd24b7-bb3e-426b-bfb5-84fddd653f69 + es_MX + 0 + 58439 + 2021-08-25 10:11:51.413 + 100 + Date printed on Invoice + The Date Invoice indicates the date printed on the invoice. + true + false + + + + + 0 + 2581 + 0 + 54551 + 58440 + 19 + + + C_POS_ID + 2021-08-25 10:11:51.72 + 100 + -1 + + Point of Sales Terminal + + ECA14 + 22 + The POS Terminal defines the defaults and functions available for the POS Form + true + true + false + false + false + POS Terminal + + 40 + 2021-08-25 10:11:51.72 + 100 + 55129b7d-d2ee-4171-9f2c-03445813cf3f + + + + + + + + 0 + es_MX + 0 + 58440 + 2021-08-25 10:11:53.14 + 100 + Point of Sales Terminal + The POS Terminal defines the defaults and functions available for the POS Form + true + false + POS Terminal + 2021-08-25 10:11:53.14 + 100 + a7bc01c6-f9a1-4fb0-8d35-4fa39e2c185b + + + + + es_MX + 54551 + Este Reporte muestra todas las ventas del Punto de Venta con cada tipo de pago y moneda + Use este reporte como control diario para el Cierre de Caja + Detalle de Ventas, Cobranza y Reembolso (PDV) + + + + + 20 + + + + + 30 + + + + + 40 + + + + + true + + + + + R + + 0 + + 54772 + 0 + 54551 + + + + + 2021-08-25 10:17:47.188 + 100 + + ECA14 + true + true + false + false + false + POS Sales Detail, Collection and Refund Open + 2021-08-25 10:17:47.188 + 100 + 2e4dc53d-a665-4d7e-b64e-fd88f6729030 + + + + + 0 + es_MX + 54772 + 0 + 2021-08-25 10:17:49.259 + 100 + + true + false + POS Sales Detail, Collection and Refund Open + 2021-08-25 10:17:49.259 + 100 + 34705755-2502-4f9b-b492-19a3039dc450 + + + + + 100 + 0 + 0 + 10 + 2021-08-25 10:17:49.722 + 100 + true + 54772 + 0 + 999 + 2021-08-25 10:17:49.722 + 37414d20-9398-4db7-8f8c-0b5b3558cb3a + + + + + 10 + 54772 + 54030 + 1 + + + + diff --git a/pos/xml/migration/07970_Add_Catalog_Images_for_Organization.xml b/pos/xml/migration/07970_Add_Catalog_Images_for_Organization.xml new file mode 100644 index 0000000000..78e6a06bff --- /dev/null +++ b/pos/xml/migration/07970_Add_Catalog_Images_for_Organization.xml @@ -0,0 +1,895 @@ + + + + + + 0 + 61794 + 0 + 32 + + CatalogCoverImage_ID + 2021-08-25 14:46:55.029 + 100 + Catalog Cover Image + ECA14 + 10 + Catalog Cover Image + true + Catalog Cover Image + + + + + Catalog Cover Image + 2021-08-25 14:46:55.029 + 100 + 6d4a4dad-d178-4c2f-9aaf-ee960669c4ab + + + + + 0 + 61794 + es_MX + 0 + 2021-08-25 14:47:01.567 + 100 + Catalog Cover Image + Catalog Cover Image + true + false + Catalog Cover Image + + + + + Catalog Cover Image + 2021-08-25 14:47:01.567 + 100 + af5e0aee-40a7-483f-ad0b-0421d58795f6 + + + + + Considere utilizar las siguientes medidas: +600 x 540 pixels +Ancho: 600 pixels / 21,167 cm +Alto: 540 pixels / 19,051 cm + Imagen de Portada (Catálogo) + 61794 + es_MX + Establece la imagen que tendrá el catálogo de productos en la portada + Imagen de Portada (Catálogo) + + + + + Cover Image for show on product catalog + 600 x 540 pixels +Width: 600 pixels / 21,167 cm +Height: 540 pixels / 19,051 cm + + + + + 0 + 61795 + 0 + 32 + + CatalogHeaderImage_ID + 2021-08-25 14:51:01.15 + 100 + Cover Image for show on product catalog + ECA14 + 10 + 600 x 40 pixels +Width: 600 pixels / 21,167 cm +Height: 40 pixels / 1,412 cm + true + Catalog Header Image + + + + + Catalog Header Image + 2021-08-25 14:51:01.15 + 100 + 1db725b4-e8c1-447a-87ed-54ac31872c0b + + + + + 0 + 61795 + es_MX + 0 + 2021-08-25 14:51:07.554 + 100 + Cover Image for show on product catalog + 600 x 40 pixels +Width: 600 pixels / 21,167 cm +Height: 40 pixels / 1,412 cm + true + false + Catalog Header Image + + + + + Catalog Header Image + 2021-08-25 14:51:07.554 + 100 + 49aae43f-601d-43d2-b254-8d41942e386e + + + + + 61795 + es_MX + Establece la imagen que tendrá el encabezado de productos en el catálogo + 600 x 40 pixels +Ancho: 600 pixels / 21,167 cm +Alto: 40 pixels / 1,412 cm + Imagen de Cabecera (Catálogo) + Imagen de Cabecera (Catálogo) + + + + + 0 + 61796 + 0 + 32 + + CatalogFooterImage_ID + 2021-08-25 14:52:29.046 + 100 + Footer Image for show on product catalog + ECA14 + 10 + 600 x 40 pixels +Width: 600 pixels / 21,167 cm +Height: 40 pixels / 1,412 cm + true + Catalog Footer Image + + + + + Catalog Footer Image + 2021-08-25 14:52:29.046 + 100 + 8fceaedb-2037-4afe-b078-8c7869818696 + + + + + 0 + 61796 + es_MX + 0 + 2021-08-25 14:52:30.675 + 100 + Footer Image for show on product catalog + 600 x 40 pixels +Width: 600 pixels / 21,167 cm +Height: 40 pixels / 1,412 cm + true + false + Catalog Footer Image + + + + + Catalog Footer Image + 2021-08-25 14:52:30.675 + 100 + 6c56be1c-9720-4319-aebd-b2fbb3470cba + + + + + Header Image for show on product catalog + + + + + es_MX + Establece la imagen que tendrá el catálogo de productos en el pie de página + Considere utilizar las siguientes medidas: +600 x 540 pixels +Ancho: 600 pixels / 21,167 cm +Alto: 540 pixels / 19,051 cm + Imagen de Pie de Página (Catálogo) + Imagen de Pie de Página (Catálogo) + 61796 + + + + + Note that you should use the follow measures: +600 x 40 pixels +Width: 600 pixels / 21,167 cm +Height: 40 pixels / 1,412 cm + + + + + Note that you should use the follow measures: +600 x 40 pixels +Width: 600 pixels / 21,167 cm +Height: 40 pixels / 1,412 cm + + + + + Note that you should use the follow measures: +600 x 540 pixels +Width: 600 pixels / 21,167 cm +Height: 540 pixels / 19,051 cm + + + + + 61797 + 0 + 32 + 0 + + CatalogBackCoverImage_ID + 2021-08-25 14:54:53.791 + 100 + Back Cover Image for show on product catalog + ECA14 + 10 + Note that you should use the follow measures: +600 x 110 pixels +Ancho: 600 pixels / 21,167 cm +Alto: 110 pixels / 3,881 cm + true + Catalog Back Cover Image + + + + + Catalog Back Cover Image + 2021-08-25 14:54:53.792 + 100 + 2b2775d7-21f2-492d-ba25-5ee697011baa + + + + + 0 + 61797 + es_MX + 0 + 2021-08-25 14:54:55.002 + 100 + Back Cover Image for show on product catalog + Note that you should use the follow measures: +600 x 110 pixels +Ancho: 600 pixels / 21,167 cm +Alto: 110 pixels / 3,881 cm + true + false + Catalog Back Cover Image + + + + + Catalog Back Cover Image + 2021-08-25 14:54:55.002 + 100 + ddf3511a-15d3-4285-a73c-4306612de0c2 + + + + + Imagen Posterior (Catálogo) + Imagen Posterior (Catálogo) + 61797 + es_MX + Establece la imagen que tendrá el catálogo de productos en la parte posterior + Considere utilizar las siguientes medidas: +600 x 110 pixels +Ancho: 600 pixels / 21,167 cm +Alto: 110 pixels / 3,881 cm + + + + + Note that you should use the follow measures: +600 x 110 pixels +Width: 600 pixels / 21,167 cm +Height: 110 pixels / 3,881 cm + + + + + + 0 + 99060 + + 0 + + 61794 + + 0 + + 32 + + 228 + + + CatalogCoverImage_ID + + 2021-08-25 14:56:36.016 + 100 + + Cover Image for show on product catalog + ECA14 + 10 + + Note that you should use the follow measures: +600 x 540 pixels +Width: 600 pixels / 21,167 cm +Height: 540 pixels / 19,051 cm + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + Catalog Cover Image + + + true + 0 + 2021-08-25 14:56:36.016 + 100 + ddc5f872-8ca6-4656-9301-14a118314bf3 + + + + + + 0 + 99060 + es_MX + 0 + 2021-08-25 14:56:37.328 + 100 + true + false + Catalog Cover Image + 2021-08-25 14:56:37.328 + 100 + c4ec1798-ca41-45df-8a38-dcbf3237a0bd + + + + + + 0 + 99061 + 61795 + + 0 + + 32 + + 228 + + + CatalogHeaderImage_ID + + 2021-08-25 14:56:49.56 + 100 + + Header Image for show on product catalog + ECA14 + 10 + + Note that you should use the follow measures: +600 x 40 pixels +Width: 600 pixels / 21,167 cm +Height: 40 pixels / 1,412 cm + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + Catalog Header Image + + + true + 0 + 2021-08-25 14:56:49.56 + 100 + 331fa4cf-f415-49a4-b499-c51b63673f3b + + + 0 + + + + + + 0 + es_MX + 0 + 2021-08-25 14:56:51.19 + 100 + true + false + Catalog Header Image + 2021-08-25 14:56:51.19 + 100 + 4efae3f1-d7f2-4dfe-810a-0ff83878f911 + 99061 + + + + + + Catalog Footer Image + + + true + 0 + 2021-08-25 14:57:02.896 + 100 + 57cf95d0-7620-411d-8f2d-50f6de86dd57 + + + 0 + + + 0 + 99062 + 61796 + + 0 + + 32 + + 228 + + + CatalogFooterImage_ID + + 2021-08-25 14:57:02.896 + 100 + + Footer Image for show on product catalog + ECA14 + 10 + + Note that you should use the follow measures: +600 x 40 pixels +Width: 600 pixels / 21,167 cm +Height: 40 pixels / 1,412 cm + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + + + + 0 + 99062 + es_MX + 0 + 2021-08-25 14:57:04.502 + 100 + true + false + Catalog Footer Image + 2021-08-25 14:57:04.502 + 100 + e2952edf-f88f-44ec-8b72-c3a74eeee0ea + + + + + + false + N + false + false + false + false + false + false + N + false + true + + Catalog Back Cover Image + + + true + 0 + 2021-08-25 14:57:12.641 + 100 + 081a9d33-0cac-42a1-90f2-826be40eafc3 + + + 0 + + 0 + 99063 + 61797 + + 0 + + 32 + + 228 + + + CatalogBackCoverImage_ID + + 2021-08-25 14:57:12.641 + 100 + + Back Cover Image for show on product catalog + ECA14 + 10 + + Note that you should use the follow measures: +600 x 110 pixels +Width: 600 pixels / 21,167 cm +Height: 110 pixels / 3,881 cm + + true + true + true + false + + + + + 0 + 99063 + es_MX + 0 + 2021-08-25 14:57:14.782 + 100 + true + false + Catalog Back Cover Image + 2021-08-25 14:57:14.782 + 100 + 1d2a475b-a48b-49f7-ab46-5dfd4c57bf92 + + + + + 0 + 99060 + + + + 101324 + + 0 + + + 170 + + 2021-08-25 14:57:34.673 + 100 + + Cover Image for show on product catalog + 0 + + ECA14 + Note that you should use the follow measures: +600 x 540 pixels +Width: 600 pixels / 21,167 cm +Height: 540 pixels / 19,051 cm + + + true + true + true + true + true + false + false + false + false + + false + false + false + Catalog Cover Image + + 0 + 420 + 420 + 0 + 2021-08-25 14:57:34.673 + 100 + 28122ad1-f7e5-4562-82c5-608c409a30bb + + + + + 0 + 101324 + es_MX + 0 + 2021-08-25 14:57:35.969 + 100 + Cover Image for show on product catalog + Note that you should use the follow measures: +600 x 540 pixels +Width: 600 pixels / 21,167 cm +Height: 540 pixels / 19,051 cm + true + false + Catalog Cover Image + 2021-08-25 14:57:35.969 + 100 + 49c369a8-1d1e-4959-854a-2897420d6e9c + + + + + + 2021-08-25 14:57:43.561 + 100 + + Header Image for show on product catalog + 0 + 0 + 99061 + + + + 101325 + + 0 + + + 170 + + ECA14 + Note that you should use the follow measures: +600 x 40 pixels +Width: 600 pixels / 21,167 cm +Height: 40 pixels / 1,412 cm + + + true + true + true + true + true + false + false + false + false + + false + false + false + Catalog Header Image + + 0 + 430 + 430 + 0 + 2021-08-25 14:57:43.561 + 100 + 890946ec-89d9-406b-88df-b7d8b7562479 + + + + + 0 + 101325 + es_MX + 0 + 2021-08-25 14:57:45.112 + 100 + Header Image for show on product catalog + Note that you should use the follow measures: +600 x 40 pixels +Width: 600 pixels / 21,167 cm +Height: 40 pixels / 1,412 cm + true + false + Catalog Header Image + 2021-08-25 14:57:45.112 + 100 + 173f3640-7ec2-4d1a-8c75-3a6fff5e872f + + + + + 0 + 99062 + + + + 101326 + + 0 + + + 170 + + 2021-08-25 14:57:51.745 + 100 + + Footer Image for show on product catalog + 0 + + ECA14 + Note that you should use the follow measures: +600 x 40 pixels +Width: 600 pixels / 21,167 cm +Height: 40 pixels / 1,412 cm + + + true + true + true + true + true + false + false + false + false + + false + false + false + Catalog Footer Image + + 0 + 440 + 440 + 0 + 2021-08-25 14:57:51.745 + 100 + ee5782bd-9560-448a-9419-522790a258f2 + + + + + 0 + 101326 + es_MX + 0 + 2021-08-25 14:57:53.317 + 100 + Footer Image for show on product catalog + Note that you should use the follow measures: +600 x 40 pixels +Width: 600 pixels / 21,167 cm +Height: 40 pixels / 1,412 cm + true + false + Catalog Footer Image + 2021-08-25 14:57:53.317 + 100 + bc17f6f9-d27a-4e0e-a2fb-a2497cd80932 + + + + + false + 0 + 99063 + + + + 101327 + + 0 + + + 170 + + 2021-08-25 14:58:00.073 + 100 + + Back Cover Image for show on product catalog + 0 + + ECA14 + Note that you should use the follow measures: +600 x 110 pixels +Width: 600 pixels / 21,167 cm +Height: 110 pixels / 3,881 cm + + + true + true + true + true + true + false + false + false + false + + false + false + Catalog Back Cover Image + + 0 + 450 + 450 + 0 + 2021-08-25 14:58:00.073 + 100 + cd3290b0-e92a-4dcd-aa57-153608d25b56 + + + + + 0 + 101327 + es_MX + 0 + 2021-08-25 14:58:01.421 + 100 + Back Cover Image for show on product catalog + Note that you should use the follow measures: +600 x 110 pixels +Width: 600 pixels / 21,167 cm +Height: 110 pixels / 3,881 cm + true + false + Catalog Back Cover Image + 2021-08-25 14:58:01.421 + 100 + 23dc6d85-4e28-4310-a200-8b97f94a5cab + + + + diff --git a/pos/xml/migration/07980_Add_Reference_Currency.xml b/pos/xml/migration/07980_Add_Reference_Currency.xml new file mode 100644 index 0000000000..a9f8da83b1 --- /dev/null +++ b/pos/xml/migration/07980_Add_Reference_Currency.xml @@ -0,0 +1,246 @@ + + + + + + 0 + 61798 + 0 + 18 + 112 + ReferenceCurrency_ID + 2021-09-02 07:19:40.144 + 100 + Reference Currency for limit the allowed amount + ECA14 + 22 + Indicates the Currency to be used to reference a value of refund for Point Of Sales + true + Reference Currency + + + + + Reference Currency + 2021-09-02 07:19:40.144 + 100 + fb4eacce-82ed-41c3-8d1a-455fc19eb7c5 + + + + + 0 + 61798 + es_MX + 0 + 2021-09-02 07:19:42.409 + 100 + Reference Currency for limit the allowed amount + Indicates the Currency to be used to reference a value of refund for Point Of Sales + true + false + Reference Currency + + + + + Reference Currency + 2021-09-02 07:19:42.409 + 100 + c147c1f4-3305-45e8-8230-fba07cd30f6b + + + + + es_MX + 61798 + Moneda de Referencia para el método de pago + Indica la moneda a ser usada para referencia el método de pago + Moneda de Referencia + Moneda de Referencia + + + + + 6ada0830-06ca-4897-a121-543a14cfbf5b + + + 0 + + + 0 + 99071 + 61798 + + 0 + + 18 + 112 + 54848 + + + ReferenceCurrency_ID + + 2021-09-02 07:21:00.186 + 100 + -1 + Reference Currency for limit the allowed amount + ECA14 + 10 + + Indicates the Currency to be used to reference a value of refund for Point Of Sales + + true + true + true + false + false + N + false + false + false + false + false + false + N + false + true + + Reference Currency + + + true + 0 + 2021-09-02 07:21:00.187 + 100 + + + + + 0 + 99071 + es_MX + 0 + 2021-09-02 07:21:01.327 + 100 + true + false + Reference Currency + 2021-09-02 07:21:01.327 + 100 + e4859a5b-0cc3-4254-807f-84cc079f8f94 + + + + + 0 + 99071 + + + + 101335 + + 0 + + + 55110 + + 2021-09-02 07:21:25.713 + 100 + + Reference Currency for limit the allowed amount + 0 + + ECA14 + Indicates the Currency to be used to reference a value of refund for Point Of Sales + + + true + true + true + true + true + false + false + false + false + + false + false + false + Reference Currency + + 0 + 120 + 120 + 0 + 2021-09-02 07:21:25.713 + 100 + 89376afa-dd2a-4230-b7f0-ff48453558e8 + + + + + 0 + 101335 + es_MX + 0 + 2021-09-02 07:21:26.637 + 100 + Reference Currency for limit the allowed amount + Indicates the Currency to be used to reference a value of refund for Point Of Sales + true + false + Reference Currency + 2021-09-02 07:21:26.637 + 100 + ccc2aee3-8bbb-48a8-92b4-94e0b4b84e55 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + true + + + + diff --git a/pos/xml/migration/09290_Add_Product_Catalog_from_Order.xml b/pos/xml/migration/09290_Add_Product_Catalog_from_Order.xml new file mode 100644 index 0000000000..cb42d9f9be --- /dev/null +++ b/pos/xml/migration/09290_Add_Product_Catalog_from_Order.xml @@ -0,0 +1,299 @@ + + + + + + inf_Product_Catalog_Order + cebc376e-8dd2-4c04-be08-83e92c2240e1 + 100 + 2021-09-13 17:52:21.636 + 0 + 0 + Y + + Product Catalog From Order + attachment:inf_Product_Catalog_Order.jasper + false + true + false + false + true + A product catalog is a type of marketing collateral that lists essential product details that help buyers make a purchase decision. These details include product features, descriptions, dimensions, price, weight, availability, color, customer reviews, and more. + N + ECA14 + Show many attributes of product with price, availability and other features based on Sales Order + 100 + 2021-09-13 17:52:21.635 + N + + + + 54553 + + 0 + + 0 + + 3 + + + + + + 33279831-38f7-45b0-b610-dfbc27f27b84 + 100 + 2021-09-13 17:52:24.594 + Product Catalog From Order + false + true + A product catalog is a type of marketing collateral that lists essential product details that help buyers make a purchase decision. These details include product features, descriptions, dimensions, price, weight, availability, color, customer reviews, and more. + Show many attributes of product with price, availability and other features based on Sales Order + 100 + 2021-09-13 17:52:24.594 + 54553 + 0 + es_MX + 0 + + + + + Un catálogo de productos es un tipo de garantía de marketing que enumera los detalles esenciales del producto que ayudan a los compradores a tomar una decisión de compra. Estos detalles incluyen características del producto, descripciones, dimensiones, precio, peso, disponibilidad, color, reseñas de clientes y más. + Catálogo de Productos desde Orden de Venta + Muestra atributos de productos con precio, disponibilidad y otras características basado en Orden de Ventas + 54553 + es_MX + + + + + 0631736c-64a2-4131-ba21-eb722da19488 + 100 + 2021-09-13 17:54:54.451 + true + ECA14 + 100 + 2021-09-13 17:54:54.451 + 259 + 54553 + 0 + 0 + + + + + 100 + 2021-09-13 17:55:28.58 + N + + + + 54554 + + 0 + + 0 + + inf_Product_Catalog_Order_Menu + 009dc4e3-b949-41de-9a36-23ac960ba6d4 + 100 + 2021-09-13 17:55:28.581 + 0 + 0 + Y + + Product Catalog From Order Menu + attachment:inf_Product_Catalog_Order.jasper + false + true + false + false + true + A product catalog is a type of marketing collateral that lists essential product details that help buyers make a purchase decision. These details include product features, descriptions, dimensions, price, weight, availability, color, customer reviews, and more. + N + ECA14 + Show many attributes of product with price, availability and other features based on Sales Order + + 3 + + + + + c550854a-5ffc-4643-884d-a33ab3afe945 + 100 + 2021-09-13 17:55:29.824 + Product Catalog From Order Menu + false + true + A product catalog is a type of marketing collateral that lists essential product details that help buyers make a purchase decision. These details include product features, descriptions, dimensions, price, weight, availability, color, customer reviews, and more. + Show many attributes of product with price, availability and other features based on Sales Order + 100 + 2021-09-13 17:55:29.824 + 54554 + 0 + es_MX + 0 + + + + + Un catálogo de productos es un tipo de garantía de marketing que enumera los detalles esenciales del producto que ayudan a los compradores a tomar una decisión de compra. Estos detalles incluyen características del producto, descripciones, dimensiones, precio, peso, disponibilidad, color, reseñas de clientes y más. + Catálogo de Productos desde Orden de Venta (Menú) + Muestra atributos de productos con precio, disponibilidad y otras características basado en Orden de Ventas + 54554 + es_MX + + + + + + + + 06393d51-fdc3-4000-8b63-cc258a6a1163 + 100 + 2021-09-13 17:57:07.817 + 10 + + Order + false + true + false + true + true + The Order is a control document. The Order is complete when the quantity ordered is the same as the quantity shipped and invoiced. When you close an order, unshipped (backordered) quantities are cancelled. + 22 + ECA14 + + Order + + + 100 + 2021-09-13 17:57:07.817 + C_Order_ID + + + 30 + 58441 + 54554 + 0 + 558 + 0 + + + + + Order + false + true + The Order is a control document. The Order is complete when the quantity ordered is the same as the quantity shipped and invoiced. When you close an order, unshipped (backordered) quantities are cancelled. + Order + 100 + 2021-09-13 17:57:09.091 + 58441 + 0 + es_MX + 0 + 4819470a-e777-4901-9ab7-a6ada28f9cfa + 100 + 2021-09-13 17:57:09.091 + + + + + 85f2ad21-6228-4ea6-83a2-78de74165ef7 + 100 + 2021-09-13 17:57:30.994 + Product Catalog From Order Menu + false + false + false + true + true + ECA14 + + 100 + 2021-09-13 17:57:30.994 + + + 54554 + 0 + 54774 + + 0 + + R + + + + + + + 9377647f-f0d6-4859-a81b-842d172ffa61 + 100 + 2021-09-13 17:57:32.208 + Product Catalog From Order Menu + false + true + + 100 + 2021-09-13 17:57:32.208 + 0 + 54774 + es_MX + 0 + + + + + cc730593-7942-42b3-9b45-271fee83eb05 + 100 + 2021-09-13 17:57:32.54 + 999 + 0 + 54774 + true + 100 + 2021-09-13 17:57:32.54 + 10 + 0 + 0 + + + + + 2 + 54677 + 54774 + 10 + + + + + 54654 + 3 + 10 + + + + + 4 + 54671 + 10 + + + + + 5 + 54676 + 10 + + + + + 6 + 54675 + 10 + + + + diff --git a/pos/xml/migration/09300_Add_POS_Validation_for_Cash_Opening.xml b/pos/xml/migration/09300_Add_POS_Validation_for_Cash_Opening.xml new file mode 100644 index 0000000000..65da2251ab --- /dev/null +++ b/pos/xml/migration/09300_Add_POS_Validation_for_Cash_Opening.xml @@ -0,0 +1,23 @@ + + + + + + 0 + (C_POS.SalesRep_ID = @#AD_User_ID@ OR C_POS.IsSharedPOS = 'Y' OR C_POS.Supervisor_ID = @#AD_User_ID@ OR EXISTS(SELECT 1 FROM AD_User u WHERE u.AD_User_ID = @#AD_User_ID@ AND u.IsPOSManager = 'Y')) + 2021-09-29 13:07:57.886 + 100 + + ECA14 + true + C_POS Only User / Shared and Supervisor POS + S + 2021-09-29 13:07:57.887 + 100 + 1d76e0e8-288c-48c4-b3b1-b78b77d13d5a + 0 + 52882 + + + + diff --git a/pos/xml/migration/09310_Add_Flag_IsAllowsConfirmShipment.xml b/pos/xml/migration/09310_Add_Flag_IsAllowsConfirmShipment.xml new file mode 100644 index 0000000000..e386a4fbf4 --- /dev/null +++ b/pos/xml/migration/09310_Add_Flag_IsAllowsConfirmShipment.xml @@ -0,0 +1,201 @@ + + + + + + 04be4364-c6b0-45c7-bfbe-ff8eb68aa25f + 100 + 2021-10-14 14:10:50.412 + Allows Confirm Shipment + + + + + Allows Confirm Shipment + true + This flag determine if is allowed confirm a shipment from POS + 1 + ECA14 + Allows Confirm Shipment from Order + 100 + 2021-10-14 14:10:50.412 + IsAllowsConfirmShipment + + 20 + 0 + 61847 + 0 + + + + + e151a49b-2a12-4293-9821-574f3cd92671 + 100 + 2021-10-14 14:10:51.733 + Allows Confirm Shipment + + + + + Allows Confirm Shipment + false + true + This flag determine if is allowed confirm a shipment from POS + Allows Confirm Shipment from Order + 100 + 2021-10-14 14:10:51.733 + 0 + es_MX + 61847 + 0 + + + + + Permitir Confirmar Entrega + Permitir Confirmar Entrega + Esta bandera determina si es permitido confirmar una entrega desde el Punto de Ventas + Permitir Confirmar Entrega desde Orden + es_MX + 61847 + + + + + + 0 + + + c853bde6-145b-4433-945e-e465ee7de8f9 + 100 + 2021-10-14 14:11:40.597 + 0 + true + + + Allows Confirm Shipment + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + This flag determine if is allowed confirm a shipment from POS + + 1 + ECA14 + Allows Confirm Shipment from Order + N + 100 + 2021-10-14 14:11:40.597 + + IsAllowsConfirmShipment + + + 748 + + 20 + + 0 + + 61847 + 99232 + 0 + + + + + + 21312c2f-7ad1-4cfe-929d-b7a04df46364 + 100 + 2021-10-14 14:11:41.54 + Allows Confirm Shipment + false + true + 100 + 2021-10-14 14:11:41.54 + 0 + es_MX + 99232 + 0 + + + + + 83013211-dcc1-4da8-9634-6060d8c31cda + 100 + 2021-10-14 14:11:58.6 + 0 + 420 + 420 + 0 + + Allows Confirm Shipment + false + false + false + + false + false + false + false + true + true + true + true + true + + + This flag determine if is allowed confirm a shipment from POS + ECA14 + + 0 + Allows Confirm Shipment from Order + + 100 + 2021-10-14 14:11:58.599 + + 676 + + + 0 + + 101637 + + + + 99232 + 0 + + + + + 6ed4d989-4119-4967-b28e-bc334ffe6276 + 100 + 2021-10-14 14:11:59.81 + Allows Confirm Shipment + false + true + This flag determine if is allowed confirm a shipment from POS + Allows Confirm Shipment from Order + 100 + 2021-10-14 14:11:59.81 + 0 + es_MX + 101637 + 0 + + + + diff --git a/pos/xml/migration/09320_Add_Withdrawal_Receipt_process.xml b/pos/xml/migration/09320_Add_Withdrawal_Receipt_process.xml new file mode 100644 index 0000000000..a12547b956 --- /dev/null +++ b/pos/xml/migration/09320_Add_Withdrawal_Receipt_process.xml @@ -0,0 +1,69 @@ + + + + + + + inf_WithdrawalReceipt + b6d0291f-0732-4b8f-97d4-12314f06f296 + 100 + 2021-11-09 15:16:36.571 + 0 + 0 + Y + + Withdrawal Receipt + attachment:inf_WithdrawalReceipt.jasper + false + true + false + false + true + Use this report for see the cash Withdrawal Receipt + N + ECA14 + Cash Withdrawal Receipt + 100 + 2021-11-09 15:16:36.57 + N + + + + 54572 + + 0 + + 0 + + 3 + + + + + 3f126bf1-124d-42a4-9908-94213460e713 + 100 + 2021-11-09 15:16:38.029 + Withdrawal Receipt + false + true + Use this report for see the cash Withdrawal Receipt + Cash Withdrawal Receipt + 100 + 2021-11-09 15:16:38.029 + 54572 + 0 + es_MX + 0 + + + + + Recibo de Retiro de Caja + Use este reporte para ver el recibo de retiro de caja + Recibo de Retiro de Caja + 54572 + es_MX + + + + diff --git a/pos/xml/migration/09330_Add_Verification_for_payment.xml b/pos/xml/migration/09330_Add_Verification_for_payment.xml new file mode 100644 index 0000000000..a83829ecef --- /dev/null +++ b/pos/xml/migration/09330_Add_Verification_for_payment.xml @@ -0,0 +1,16453 @@ + + + + + + 362e3029-d63d-4b09-8652-7a65f5c1e818 + 100 + 2021-11-09 20:28:49.989 + Require Payment Verification + + + + + Require Payment Verification + true + + 1 + ECA14 + This document require a verification + 100 + 2021-11-09 20:28:49.989 + IsPaymentVerificationRequired + + 20 + 0 + 61888 + 0 + + + + + 82dc2a62-348b-4a91-8e9b-922fb5c556fe + 100 + 2021-11-09 20:28:51.788 + Require Payment Verification + + + + + Require Payment Verification + false + true + + This document require a verification + 100 + 2021-11-09 20:28:51.788 + 0 + es_MX + 61888 + 0 + + + + + Requiere Verificación + Requiere Verificación + Este método de pago Requiere Verificación + es_MX + 61888 + + + + + 6ce2cbb5-8491-406e-a0fa-3698c6651935 + 100 + 2021-11-09 20:31:43.128 + Payment Verified + + + + + Payment Verified + true + + 1 + ECA14 + This document require a verification + 100 + 2021-11-09 20:31:43.128 + IsPaymentVerified + + 20 + 0 + 61889 + 0 + + + + + 48870cb6-98a5-47d2-bb76-e5c6aacbe0cd + 100 + 2021-11-09 20:31:43.909 + Payment Verified + + + + + Payment Verified + false + true + + This document require a verification + 100 + 2021-11-09 20:31:43.909 + 0 + es_MX + 61889 + 0 + + + + + Pago Verificado + Pago Verificado + Este documento fue verificado + es_MX + 61889 + + + + + + 0 + + + 7d7ac3f6-6bac-48f6-8804-65456d4577c7 + 100 + 2021-11-09 20:59:04.025 + 0 + true + + + Require Payment Verification + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 1 + ECA14 + This document require a verification + N + 100 + 2021-11-09 20:59:04.025 + + IsPaymentVerificationRequired + + + 54848 + + 20 + + 0 + + 61888 + 99436 + 0 + + + + + + 1f795861-5494-4f2a-9104-c2610dd0c1a0 + 100 + 2021-11-09 20:59:05.851 + Require Payment Verification + false + true + 100 + 2021-11-09 20:59:05.851 + 0 + es_MX + 99436 + 0 + + + + + 68f32bc3-0a69-4ef8-ac7e-989a601b3a6e + 100 + 2021-11-09 20:59:22.288 + 0 + 130 + 130 + 0 + + Require Payment Verification + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + This document require a verification + + 100 + 2021-11-09 20:59:22.287 + + 55110 + + + 0 + + 101816 + + + + 99436 + 0 + + + + + 781bccb7-cee3-4358-ab86-175098ca1afc + 100 + 2021-11-09 20:59:23.371 + Require Payment Verification + false + true + + This document require a verification + 100 + 2021-11-09 20:59:23.371 + 0 + es_MX + 101816 + 0 + + + + + + 0 + + + 7e9486a4-1c9e-4cbc-9d10-3b280386194d + 100 + 2021-11-09 20:59:51.217 + 0 + true + + + Payment Verified + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 1 + ECA14 + This document require a verification + N + 100 + 2021-11-09 20:59:51.217 + + IsPaymentVerified + + + 335 + + 20 + + 0 + + 61889 + 99437 + 0 + + + + + + 3a1b228b-5ffe-4ded-b25f-14ed45eb2192 + 100 + 2021-11-09 20:59:52.006 + Payment Verified + false + true + 100 + 2021-11-09 20:59:52.006 + 0 + es_MX + 99437 + 0 + + + + + 1cb1274c-23a2-4a0f-afde-3e6223d30018 + 100 + 2021-11-09 21:00:01.933 + 0 + 750 + 750 + 0 + + Payment Verified + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + This document require a verification + + 100 + 2021-11-09 21:00:01.932 + + 330 + + + 0 + + 101817 + + + + 99437 + 0 + + + + + bb9bd4a1-faa4-4c80-be2b-6939472e3e10 + 100 + 2021-11-09 21:00:02.898 + Payment Verified + false + true + + This document require a verification + 100 + 2021-11-09 21:00:02.897 + 0 + es_MX + 101817 + 0 + + + + + 685263f2-a3bd-49fa-bf47-e2bebe4d300b + 100 + 2021-11-09 21:00:16.203 + 0 + 730 + 730 + 0 + + Payment Verified + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + This document require a verification + + 100 + 2021-11-09 21:00:16.203 + + 54419 + + + 0 + + 101818 + + + + 99437 + 0 + + + + + f5bb6ffd-1d8e-4c1b-8de8-80e5abef2952 + 100 + 2021-11-09 21:00:17.032 + Payment Verified + false + true + + This document require a verification + 100 + 2021-11-09 21:00:17.032 + 0 + es_MX + 101818 + 0 + + + + + + 0 + + + c34ba1a4-867b-4448-9a5a-ea91134b2ce4 + 100 + 2021-11-09 21:07:02.249 + 0 + true + + + Require Payment Verification + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 1 + ECA14 + This document require a verification + N + 100 + 2021-11-09 21:07:02.248 + + IsPaymentVerificationRequired + + + 335 + + 20 + + 0 + + 61888 + 99438 + 0 + + + + + + c151a8d4-ed07-477e-883b-9372afa0b689 + 100 + 2021-11-09 21:07:03.51 + Require Payment Verification + false + true + 100 + 2021-11-09 21:07:03.51 + 0 + es_MX + 99438 + 0 + + + + + c80ba1fa-2b60-4bdf-93ae-5c9e265fd90c + 100 + 2021-11-09 21:07:22.007 + 0 + 760 + 760 + 0 + + Require Payment Verification + false + true + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + This document require a verification + + 100 + 2021-11-09 21:07:22.007 + + 330 + + + 0 + + 101819 + + + + 99438 + 0 + + + + + e4000f33-54bd-4735-9067-4fe7bb8c0aec + 100 + 2021-11-09 21:07:22.894 + Require Payment Verification + false + true + + This document require a verification + 100 + 2021-11-09 21:07:22.894 + 0 + es_MX + 101819 + 0 + + + + + 240 + + + + + 250 + + + + + 260 + + + + + 270 + + + + + 280 + + + + + 290 + + + + + 300 + + + + + 310 + + + + + 320 + + + + + 330 + + + + + 340 + + + + + 350 + + + + + 360 + + + + + 370 + + + + + 380 + + + + + 390 + + + + + 400 + + + + + 410 + + + + + 420 + + + + + 430 + + + + + 440 + + + + + 450 + + + + + 460 + + + + + 470 + + + + + 480 + + + + + 490 + + + + + 500 + + + + + 510 + + + + + 520 + + + + + 530 + + + + + 540 + + + + + 550 + + + + + 560 + + + + + 570 + + + + + 580 + + + + + 590 + + + + + 600 + + + + + 610 + + + + + 620 + + + + + 630 + + + + + 640 + + + + + 650 + + + + + 660 + + + + + 670 + + + + + 680 + + + + + 690 + + + + + 700 + + + + + 710 + + + + + 720 + + + + + 730 + + + + + 740 + + + + + 760 + + + + + 770 + + + + + 780 + + + + + true + true + + + + + 8649fcbc-69e6-4767-a0fe-c221764df54b + 100 + 2021-11-09 21:07:49.833 + 0 + 740 + 740 + 0 + + Require Payment Verification + false + true + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + This document require a verification + + 100 + 2021-11-09 21:07:49.832 + + 54419 + + + 0 + + 101820 + + + + 99438 + 0 + + + + + 899c25d6-caa3-4d17-9f64-2be544e4586f + 100 + 2021-11-09 21:07:50.703 + Require Payment Verification + false + true + + This document require a verification + 100 + 2021-11-09 21:07:50.703 + 0 + es_MX + 101820 + 0 + + + + + 240 + + + + + 250 + + + + + 260 + + + + + 270 + + + + + 280 + + + + + 290 + + + + + 300 + + + + + 310 + + + + + 320 + + + + + 330 + + + + + 340 + + + + + 350 + + + + + 360 + + + + + 370 + + + + + 380 + + + + + 390 + + + + + 400 + + + + + 410 + + + + + 420 + + + + + 430 + + + + + 440 + + + + + 450 + + + + + 460 + + + + + 470 + + + + + 480 + + + + + 490 + + + + + 500 + + + + + 510 + + + + + 520 + + + + + 530 + + + + + 540 + + + + + 550 + + + + + 560 + + + + + 570 + + + + + 580 + + + + + 590 + + + + + 600 + + + + + 610 + + + + + 620 + + + + + 630 + + + + + 640 + + + + + 650 + + + + + 660 + + + + + 670 + + + + + 680 + + + + + 690 + + + + + 700 + + + + + 720 + + + + + 730 + + + + + 740 + + + + + 750 + + + + + 760 + + + + + true + true + + + + + 0 + 0 + 50215 + N + 2021-11-09 21:27:35.917 + 100 + Show all payments of POS + ECA14 + + true + Payments to Verify + 2021-11-09 21:27:35.917 + 100 + 18ab985b-b865-4439-b0e5-e132ebaeb4c3 + POSPaymentsToVerify + + + + + 0 + es_MX + 0 + 50215 + 2021-11-09 21:27:36.707 + 100 + Show all payments of POS + + true + false + Payments to Verify + 2021-11-09 21:27:36.707 + 100 + 1fc17dfd-4ff3-4a8c-a28d-feb6bd94eb00 + + + + + es_MX + 50215 + Muestra los pagos del punto de venta que se encuentran por verificar + Pagos por Verificar + + + + + 0 + 0 + 335 + 50569 + 50215 + 2021-11-09 21:28:09.1 + 100 + true + + false + 10 + p + 2021-11-09 21:28:09.1 + 100 + 2964494d-acb2-4e10-8479-5281e0dcae0f + + + + + 0 + 5037 + 0 + 72557 + 50569 + 50215 + P_R_RespMsg + p.R_RespMsg + 2021-11-09 21:28:11.142 + 100 + Response message + ECA14 + The Response Message indicates the message returned from the Credit Card Company as the result of a transmission + true + Response Message + 2021-11-09 21:28:11.142 + 100 + d11f3e7a-2921-4873-82d4-546dc640b044 + + + + + 0 + es_MX + 0 + 72557 + 2021-11-09 21:28:11.953 + 100 + Response message + + true + false + Response Message + 2021-11-09 21:28:11.953 + 100 + 71472099-f7b9-4a80-8aa5-ab59235c902a + + + + + 0 + 5355 + 0 + 72558 + 50569 + 50215 + P_C_Invoice_ID + p.C_Invoice_ID + 2021-11-09 21:28:12.107 + 100 + Invoice Identifier + ECA14 + The Invoice Document. + true + Invoice + 2021-11-09 21:28:12.107 + 100 + 26260ae0-c9dc-42d1-a983-392e0ebb130b + + + + + 0 + es_MX + 0 + 72558 + 2021-11-09 21:28:12.742 + 100 + Invoice Identifier + + true + false + Invoice + 2021-11-09 21:28:12.742 + 100 + 605decfd-a73b-47e4-a3e3-07e245258ee1 + + + + + 0 + 12925 + 0 + 72559 + 50569 + 50215 + P_C_Order_ID + p.C_Order_ID + 2021-11-09 21:28:12.867 + 100 + Order + ECA14 + The Order is a control document. The Order is complete when the quantity ordered is the same as the quantity shipped and invoiced. When you close an order, unshipped (backordered) quantities are cancelled. + true + Order + 2021-11-09 21:28:12.867 + 100 + eee3dec6-af65-48a1-bcf6-11d63c91d64e + + + + + 0 + es_MX + 0 + 72559 + 2021-11-09 21:28:13.75 + 100 + Order + + true + false + Order + 2021-11-09 21:28:13.75 + 100 + b4ce5442-38f1-4e3d-87ff-cd1ea78d4c65 + + + + + 0 + 79166 + 0 + 72560 + 50569 + 50215 + P_C_POS_ID + p.C_POS_ID + 2021-11-09 21:28:13.912 + 100 + Point of Sales Terminal + ECA14 + The POS Terminal defines the defaults and functions available for the POS Form + true + POS Terminal + 2021-11-09 21:28:13.912 + 100 + 4573e768-fc38-47b4-a948-79d644466df6 + + + + + 0 + es_MX + 0 + 72560 + 2021-11-09 21:28:14.424 + 100 + Point of Sales Terminal + + true + false + POS Terminal + 2021-11-09 21:28:14.424 + 100 + 57f13382-bb05-4d4b-aec2-06c446eef0d0 + + + + + 0 + 12128 + 0 + 72561 + 50569 + 50215 + P_DateAcct + p.DateAcct + 2021-11-09 21:28:14.561 + 100 + Accounting Date + ECA14 + The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion. + true + Account Date + 2021-11-09 21:28:14.561 + 100 + e4476a76-9242-4f0e-961f-3390f7149c67 + + + + + 0 + es_MX + 0 + 72561 + 2021-11-09 21:28:15.204 + 100 + Accounting Date + + true + false + Account Date + 2021-11-09 21:28:15.204 + 100 + 1c98398a-42c7-4bb3-9583-3ef120342818 + + + + + 0 + 3880 + 0 + 72562 + 50569 + 50215 + P_C_BankAccount_ID + p.C_BankAccount_ID + 2021-11-09 21:28:15.332 + 100 + Account at the Bank + ECA14 + The Bank Account identifies an account at this Bank. + true + Bank Account + 2021-11-09 21:28:15.332 + 100 + 4045da26-c7ef-4160-bfeb-2fe6e85c363c + + + + + 0 + es_MX + 0 + 72562 + 2021-11-09 21:28:16.007 + 100 + Account at the Bank + + true + false + Bank Account + 2021-11-09 21:28:16.007 + 100 + 874873a9-9fb2-4ff6-a720-33311eff83c5 + + + + + 0 + 3879 + 0 + 72563 + 50569 + 50215 + P_IsReconciled + p.IsReconciled + 2021-11-09 21:28:16.122 + 100 + Payment is reconciled with bank statement + ECA14 + + true + Reconciled + 2021-11-09 21:28:16.122 + 100 + 1cdb81f3-01b5-4517-afa1-9f646410b57a + + + + + 0 + es_MX + 0 + 72563 + 2021-11-09 21:28:16.925 + 100 + Payment is reconciled with bank statement + + true + false + Reconciled + 2021-11-09 21:28:16.925 + 100 + 5af685b7-9d56-4f85-a6f0-628fb0b26d1b + + + + + 0 + 6216 + 0 + 72564 + 50569 + 50215 + P_IsReceipt + p.IsReceipt + 2021-11-09 21:28:17.052 + 100 + This is a sales transaction (receipt) + ECA14 + + true + Receipt + 2021-11-09 21:28:17.052 + 100 + c1d3dabc-d7bb-45b9-8ffa-24a84096746f + + + + + 0 + es_MX + 0 + 72564 + 2021-11-09 21:28:17.638 + 100 + This is a sales transaction (receipt) + + true + false + Receipt + 2021-11-09 21:28:17.638 + 100 + 48177421-1084-407b-8789-695a8ae8ec1e + + + + + 0 + 5400 + 0 + 72565 + 50569 + 50215 + P_IsAllocated + p.IsAllocated + 2021-11-09 21:28:17.822 + 100 + Indicates if the payment has been allocated + ECA14 + The Allocated checkbox indicates if a payment has been allocated or associated with an invoice or invoices. + true + Allocated + 2021-11-09 21:28:17.822 + 100 + 349f0df0-26a5-4901-8f93-dd54b400a99d + + + + + 0 + es_MX + 0 + 72565 + 2021-11-09 21:28:18.444 + 100 + Indicates if the payment has been allocated + + true + false + Allocated + 2021-11-09 21:28:18.444 + 100 + 7e3e2e3e-fa98-4ff6-b3e6-1882bc932f3b + + + + + 0 + 5042 + 0 + 72566 + 50569 + 50215 + P_Posted + p.Posted + 2021-11-09 21:28:18.617 + 100 + Posting status + ECA14 + The Posted field indicates the status of the Generation of General Ledger Accounting Lines + true + Posted + 2021-11-09 21:28:18.617 + 100 + 2b9415d6-d489-49b3-a207-20a9c55058b8 + + + + + 0 + es_MX + 0 + 72566 + 2021-11-09 21:28:19.263 + 100 + Posting status + + true + false + Posted + 2021-11-09 21:28:19.263 + 100 + 16458aca-5ca5-4d99-b4cb-560b24fee888 + + + + + 0 + 3875 + 0 + 72567 + 50569 + 50215 + P_IsApproved + p.IsApproved + 2021-11-09 21:28:19.381 + 100 + Indicates if this document requires approval + ECA14 + The Approved checkbox indicates if this document requires approval before it can be processed. + true + Approved + 2021-11-09 21:28:19.381 + 100 + 2050c557-54ab-4df3-997e-70e01d23239e + + + + + 0 + es_MX + 0 + 72567 + 2021-11-09 21:28:19.961 + 100 + Indicates if this document requires approval + + true + false + Approved + 2021-11-09 21:28:19.961 + 100 + 672fabd1-a531-4daf-8526-e3dfbc9c2778 + + + + + 0 + 86858 + 0 + 72568 + 50569 + 50215 + P_RelatedPayment_ID + p.RelatedPayment_ID + 2021-11-09 21:28:20.102 + 100 + + ECA14 + + true + Payment Related + 2021-11-09 21:28:20.102 + 100 + 527c5171-1d10-4679-aa4a-4f4039e05830 + + + + + 0 + es_MX + 0 + 72568 + 2021-11-09 21:28:20.682 + 100 + + + true + false + Payment Related + 2021-11-09 21:28:20.682 + 100 + 6cb6682c-0ef6-4d28-982f-862e00b0470a + + + + + 0 + 3865 + 0 + 72569 + 50569 + 50215 + P_Created + p.Created + 2021-11-09 21:28:20.831 + 100 + Date this record was created + ECA14 + The Created field indicates the date that this record was created. + true + Created + 2021-11-09 21:28:20.831 + 100 + 5da18acd-511f-4e82-b00d-d1ea95f44b0c + + + + + 0 + es_MX + 0 + 72569 + 2021-11-09 21:28:21.44 + 100 + Date this record was created + + true + false + Created + 2021-11-09 21:28:21.44 + 100 + 9068a8a8-25b6-41d0-a6ab-782c90c688cb + + + + + 0 + 5497 + 0 + 72570 + 50569 + 50215 + P_DocAction + p.DocAction + 2021-11-09 21:28:21.562 + 100 + The targeted status of the document + ECA14 + You find the current status in the Document Status field. The options are listed in a popup + true + Document Action + 2021-11-09 21:28:21.562 + 100 + cd4679fa-6b42-43c5-a636-69240d0c7e52 + + + + + 0 + es_MX + 0 + 72570 + 2021-11-09 21:28:22.314 + 100 + The targeted status of the document + + true + false + Document Action + 2021-11-09 21:28:22.314 + 100 + 181a20b7-d8c6-43b3-9652-9a410e9ac4b4 + + + + + 0 + 5398 + 0 + 72571 + 50569 + 50215 + P_C_BPartner_ID + p.C_BPartner_ID + 2021-11-09 21:28:22.426 + 100 + Identifies a Business Partner + ECA14 + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + true + Business Partner + 2021-11-09 21:28:22.426 + 100 + 001c2941-4b0b-4f1d-995a-ccec080c78dc + + + + + 0 + es_MX + 0 + 72571 + 2021-11-09 21:28:23.166 + 100 + Identifies a Business Partner + + true + false + Business Partner + 2021-11-09 21:28:23.166 + 100 + d66d1be1-578e-4273-a400-31c54cd75ca3 + + + + + 0 + 8984 + 0 + 72572 + 50569 + 50215 + P_C_Charge_ID + p.C_Charge_ID + 2021-11-09 21:28:23.286 + 100 + Additional document charges + ECA14 + The Charge indicates a type of Charge (Handling, Shipping, Restocking) + true + Charge + 2021-11-09 21:28:23.286 + 100 + 344387ab-1020-43d4-9541-023399ca9187 + + + + + 0 + es_MX + 0 + 72572 + 2021-11-09 21:28:23.814 + 100 + Additional document charges + + true + false + Charge + 2021-11-09 21:28:23.814 + 100 + 184e7adf-5337-43f2-bb9c-d54da98193e1 + + + + + 0 + 3877 + 0 + 72573 + 50569 + 50215 + P_Processing + p.Processing + 2021-11-09 21:28:23.93 + 100 + + ECA14 + + true + Process Now + 2021-11-09 21:28:23.93 + 100 + 08d67cf0-34f9-4a74-8efb-6afd53bf4ab1 + + + + + 0 + es_MX + 0 + 72573 + 2021-11-09 21:28:24.508 + 100 + + + true + false + Process Now + 2021-11-09 21:28:24.508 + 100 + 67107969-b190-4bc1-b5fc-0cdd04b08f01 + + + + + 0 + 3878 + 0 + 72574 + 50569 + 50215 + P_Processed + p.Processed + 2021-11-09 21:28:24.647 + 100 + The document has been processed + ECA14 + The Processed checkbox indicates that a document has been processed. + true + Processed + 2021-11-09 21:28:24.647 + 100 + 8a305354-9437-4fea-9362-246a67f76897 + + + + + 0 + es_MX + 0 + 72574 + 2021-11-09 21:28:25.292 + 100 + The document has been processed + + true + false + Processed + 2021-11-09 21:28:25.292 + 100 + ad29c9cf-0e56-4895-a8d9-60ced290db99 + + + + + 0 + 5401 + 0 + 72575 + 50569 + 50215 + P_DocumentNo + p.DocumentNo + 2021-11-09 21:28:25.407 + 100 + Document sequence number of the document + ECA14 + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + true + Document No + 2021-11-09 21:28:25.407 + 100 + 2fa19ad4-784a-44be-a40e-7191aa1a9dd5 + + + + + 0 + es_MX + 0 + 72575 + 2021-11-09 21:28:26.082 + 100 + Document sequence number of the document + + true + false + Document No + 2021-11-09 21:28:26.082 + 100 + 5a946ee1-9c1a-429a-9940-76063a4111ab + + + + + 0 + 3864 + 0 + 72576 + 50569 + 50215 + P_IsActive + p.IsActive + 2021-11-09 21:28:26.256 + 100 + The record is active in the system + ECA14 + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + true + Active + 2021-11-09 21:28:26.256 + 100 + 0281eabb-b569-4f14-9383-7cc8887b57b4 + + + + + 0 + es_MX + 0 + 72576 + 2021-11-09 21:28:26.964 + 100 + The record is active in the system + + true + false + Active + 2021-11-09 21:28:26.964 + 100 + ca966c95-2671-4d3f-afe6-7e75623f9837 + + + + + 0 + 5496 + 0 + 72577 + 50569 + 50215 + P_DocStatus + p.DocStatus + 2021-11-09 21:28:27.1 + 100 + The current status of the document + ECA14 + The Document Status indicates the status of a document at this time. If you want to change the document status, use the Document Action field + true + Document Status + 2021-11-09 21:28:27.1 + 100 + 9c6188ab-a1e9-4285-b59f-2701902e2862 + + + + + 0 + es_MX + 0 + 72577 + 2021-11-09 21:28:27.839 + 100 + The current status of the document + + true + false + Document Status + 2021-11-09 21:28:27.839 + 100 + fd9c9ec3-70aa-440d-9922-e79b4a50edcf + + + + + 0 + 3867 + 0 + 72578 + 50569 + 50215 + P_Updated + p.Updated + 2021-11-09 21:28:28.005 + 100 + Date this record was updated + ECA14 + The Updated field indicates the date that this record was updated. + true + Updated + 2021-11-09 21:28:28.005 + 100 + f7bd64a5-150c-40f1-827e-32ab8adbedd3 + + + + + 0 + es_MX + 0 + 72578 + 2021-11-09 21:28:28.55 + 100 + Date this record was updated + + true + false + Updated + 2021-11-09 21:28:28.55 + 100 + 3d186df9-ede9-4a74-8947-4300f42b27f6 + + + + + 0 + 5399 + 0 + 72579 + 50569 + 50215 + P_DateTrx + p.DateTrx + 2021-11-09 21:28:28.684 + 100 + Transaction Date + ECA14 + The Transaction Date indicates the date of the transaction. + true + Transaction Date + 2021-11-09 21:28:28.684 + 100 + 029fc323-98d3-4f4a-8e1c-e1b86b123291 + + + + + 0 + es_MX + 0 + 72579 + 2021-11-09 21:28:29.35 + 100 + Transaction Date + + true + false + Transaction Date + 2021-11-09 21:28:29.35 + 100 + 68a80f6e-b87e-4d23-bfb4-6f3f8c540c3a + + + + + 0 + 13045 + 0 + 72580 + 50569 + 50215 + P_IsPrepayment + p.IsPrepayment + 2021-11-09 21:28:29.48 + 100 + The Payment/Receipt is a Prepayment + ECA14 + Payments not allocated to an invoice with a charge are posted to Unallocated Payments. When setting this flag, the payment is posted to the Customer or Vendor Prepayment account. + true + Prepayment + 2021-11-09 21:28:29.48 + 100 + 50fac303-0a20-458c-ba6b-cad3041f9840 + + + + + 0 + es_MX + 0 + 72580 + 2021-11-09 21:28:30.166 + 100 + The Payment/Receipt is a Prepayment + + true + false + Prepayment + 2021-11-09 21:28:30.166 + 100 + 3cd7b54a-8a41-4d6d-9b8a-e6012cdbbfec + + + + + 0 + 5047 + 0 + 72581 + 50569 + 50215 + P_CreditCardVV + p.CreditCardVV + 2021-11-09 21:28:30.324 + 100 + Credit Card Verification code on credit card + ECA14 + The Credit Card Verification indicates the verification code on the credit card (AMEX 4 digits on front; MC,Visa 3 digits back) + true + Verification Code + 2021-11-09 21:28:30.324 + 100 + 5439b446-406a-49d5-9106-c1b900ef460a + + + + + 0 + es_MX + 0 + 72581 + 2021-11-09 21:28:31.046 + 100 + Credit Card Verification code on credit card + + true + false + Verification Code + 2021-11-09 21:28:31.046 + 100 + 44144772-107b-4101-a208-e8edaf1486a8 + + + + + 0 + 8775 + 0 + 72582 + 50569 + 50215 + P_IsSelfService + p.IsSelfService + 2021-11-09 21:28:31.159 + 100 + This is a Self-Service entry or this entry can be changed via Self-Service + ECA14 + Self-Service allows users to enter data or update their data. The flag indicates, that this record was entered or created via Self-Service or that the user can change it via the Self-Service functionality. + true + Self-Service + 2021-11-09 21:28:31.159 + 100 + 418887f6-1191-4663-8ce7-5a3a8d914e44 + + + + + 0 + es_MX + 0 + 72582 + 2021-11-09 21:28:31.866 + 100 + This is a Self-Service entry or this entry can be changed via Self-Service + + true + false + Self-Service + 2021-11-09 21:28:31.866 + 100 + 25b27897-6193-417d-9ecf-2c2f9f3e749c + + + + + 0 + 52117 + 0 + 72583 + 50569 + 50215 + P_C_CashBook_ID + p.C_CashBook_ID + 2021-11-09 21:28:31.989 + 100 + Cash Book for recording petty cash transactions + ECA14 + The Cash Book identifies a unique cash book. The cash book is used to record cash transactions. + true + Cash Book + 2021-11-09 21:28:31.989 + 100 + 5a3caaf6-44c0-429a-aad5-5e575e36386e + + + + + 0 + es_MX + 0 + 72583 + 2021-11-09 21:28:32.688 + 100 + Cash Book for recording petty cash transactions + + true + false + Cash Book + 2021-11-09 21:28:32.688 + 100 + 61cb4145-eed1-41c9-bddd-5dc9b7b15859 + + + + + 0 + 5302 + 0 + 72584 + 50569 + 50215 + P_C_DocType_ID + p.C_DocType_ID + 2021-11-09 21:28:32.808 + 100 + Document type or rules + ECA14 + The Document Type determines document sequence and processing rules + true + Document Type + 2021-11-09 21:28:32.808 + 100 + ee7bc9ce-5def-4400-bcad-765be4b7f571 + + + + + 0 + es_MX + 0 + 72584 + 2021-11-09 21:28:33.531 + 100 + Document type or rules + + true + false + Document Type + 2021-11-09 21:28:33.531 + 100 + 328dca4f-4b96-403a-8100-300ded135373 + + + + + 0 + 58620 + 0 + 72585 + 50569 + 50215 + P_User3_ID + p.User3_ID + 2021-11-09 21:28:33.687 + 100 + User defined list element #3 + ECA14 + The user defined element displays the optional elements that have been defined for this account combination. + true + User List 3 + 2021-11-09 21:28:33.687 + 100 + 851ece2e-3a31-421f-ab20-6c3cd51c3946 + + + + + 0 + es_MX + 0 + 72585 + 2021-11-09 21:28:34.487 + 100 + User defined list element #3 + + true + false + User List 3 + 2021-11-09 21:28:34.487 + 100 + a6e4737e-1714-456e-8f4b-95169131f162 + + + + + 0 + 58621 + 0 + 72586 + 50569 + 50215 + P_User4_ID + p.User4_ID + 2021-11-09 21:28:34.628 + 100 + User defined list element #4 + ECA14 + The user defined element displays the optional elements that have been defined for this account combination. + true + User List 4 + 2021-11-09 21:28:34.628 + 100 + 8123c73b-90f1-4795-a4d0-34d28103fae6 + + + + + 0 + es_MX + 0 + 72586 + 2021-11-09 21:28:35.26 + 100 + User defined list element #4 + + true + false + User List 4 + 2021-11-09 21:28:35.26 + 100 + 6cd36c3d-7c07-402d-8c5f-d6656c60f7f9 + + + + + 0 + 5026 + 0 + 72587 + 50569 + 50215 + P_A_Zip + p.A_Zip + 2021-11-09 21:28:35.385 + 100 + Zip Code of the Credit Card or Account Holder + ECA14 + The Zip Code of the Credit Card or Account Holder. + true + Account Zip/Postal + 2021-11-09 21:28:35.385 + 100 + a5bdee11-b60e-40bc-91df-47eb5c4c88e8 + + + + + 0 + es_MX + 0 + 72587 + 2021-11-09 21:28:36.146 + 100 + Zip Code of the Credit Card or Account Holder + + true + false + Account Zip/Postal + 2021-11-09 21:28:36.146 + 100 + 2982af4a-4ffc-4da0-8068-75ea3e96a7f5 + + + + + 0 + 5044 + 0 + 72588 + 50569 + 50215 + P_TrxType + p.TrxType + 2021-11-09 21:28:36.281 + 100 + Type of credit card transaction + ECA14 + The Transaction Type indicates the type of transaction to be submitted to the Credit Card Company. + true + Transaction Type + 2021-11-09 21:28:36.281 + 100 + 30324c7f-b05d-4520-bc14-676e5754d76a + + + + + 0 + es_MX + 0 + 72588 + 2021-11-09 21:28:36.934 + 100 + Type of credit card transaction + + true + false + Transaction Type + 2021-11-09 21:28:36.934 + 100 + e6e9ee9d-9296-40ee-be80-9a3823f08671 + + + + + 0 + 5038 + 0 + 72589 + 50569 + 50215 + P_R_AuthCode + p.R_AuthCode + 2021-11-09 21:28:37.074 + 100 + Authorization Code returned + ECA14 + The Authorization Code indicates the code returned from the electronic transmission. + true + Authorization Code + 2021-11-09 21:28:37.074 + 100 + d91d35cb-874d-4a4a-ae1d-79f7242db1c9 + + + + + 0 + es_MX + 0 + 72589 + 2021-11-09 21:28:37.82 + 100 + Authorization Code returned + + true + false + Authorization Code + 2021-11-09 21:28:37.82 + 100 + d4de9ade-2e47-42bc-99f5-3960f3436291 + + + + + 0 + 5495 + 0 + 72590 + 50569 + 50215 + P_IsOnline + p.IsOnline + 2021-11-09 21:28:37.961 + 100 + Can be accessed online + ECA14 + The Online Access check box indicates if the application can be accessed via the web. + true + Online Access + 2021-11-09 21:28:37.961 + 100 + e50f7725-2ca8-42b5-9660-9e5340267acf + + + + + 0 + es_MX + 0 + 72590 + 2021-11-09 21:28:38.967 + 100 + Can be accessed online + + true + false + Online Access + 2021-11-09 21:28:38.967 + 100 + 32c48700-539c-4076-b814-ac0de5a9a03a + + + + + 0 + 5035 + 0 + 72591 + 50569 + 50215 + P_R_PnRef + p.R_PnRef + 2021-11-09 21:28:39.165 + 100 + Payment reference + ECA14 + The Payment Reference indicates the reference returned from the Credit Card Company for a payment + true + Reference + 2021-11-09 21:28:39.165 + 100 + c58dae55-615e-48c5-bf6b-82a310b8e7a1 + + + + + 0 + es_MX + 0 + 72591 + 2021-11-09 21:28:40.02 + 100 + Payment reference + + true + false + Reference + 2021-11-09 21:28:40.02 + 100 + 4dd76b13-044f-4bbb-bc69-dbcb17cf193e + + + + + 0 + 3869 + 0 + 72592 + 50569 + 50215 + P_CreditCardType + p.CreditCardType + 2021-11-09 21:28:40.177 + 100 + Credit Card (Visa, MC, AmEx) + ECA14 + The Credit Card drop down list box is used for selecting the type of Credit Card presented for payment. + true + Credit Card + 2021-11-09 21:28:40.177 + 100 + e02521c9-32aa-440c-b747-6dba21938cda + + + + + 0 + es_MX + 0 + 72592 + 2021-11-09 21:28:41.113 + 100 + Credit Card (Visa, MC, AmEx) + + true + false + Credit Card + 2021-11-09 21:28:41.113 + 100 + 82cfcc86-aec2-4f94-b11e-4b67cc5a543e + + + + + 0 + 5050 + 0 + 72593 + 50569 + 50215 + P_A_Name + p.A_Name + 2021-11-09 21:28:41.278 + 100 + Name on Credit Card or Account holder + ECA14 + The Name of the Credit Card or Account holder. + true + Account Name + 2021-11-09 21:28:41.278 + 100 + b0dddd78-799c-4fa2-a978-1e581e328ec7 + + + + + 0 + es_MX + 0 + 72593 + 2021-11-09 21:28:41.94 + 100 + Name on Credit Card or Account holder + + true + false + Account Name + 2021-11-09 21:28:41.94 + 100 + cdba773e-0c63-4259-915d-9be810c9e936 + + + + + 0 + 5039 + 0 + 72594 + 50569 + 50215 + P_R_AvsAddr + p.R_AvsAddr + 2021-11-09 21:28:42.083 + 100 + This address has been verified + ECA14 + The Address Verified indicates if the address has been verified by the Credit Card Company. + true + Address verified + 2021-11-09 21:28:42.083 + 100 + 5b5a196a-6985-41ce-b592-9aa19e18aa1e + + + + + 0 + es_MX + 0 + 72594 + 2021-11-09 21:28:42.739 + 100 + This address has been verified + + true + false + Address verified + 2021-11-09 21:28:42.739 + 100 + cd72720e-3b9a-4f02-b131-114402369f6c + + + + + 0 + 5303 + 0 + 72595 + 50569 + 50215 + P_PayAmt + p.PayAmt + 2021-11-09 21:28:42.882 + 100 + Amount being paid + ECA14 + Indicates the amount this payment is for. The payment amount can be for single or multiple invoices or a partial payment for an invoice. + true + Payment amount + 2021-11-09 21:28:42.882 + 100 + f58f4944-97c7-48bc-b771-a3161a15f050 + + + + + 0 + es_MX + 0 + 72595 + 2021-11-09 21:28:43.671 + 100 + Amount being paid + + true + false + Payment amount + 2021-11-09 21:28:43.671 + 100 + 2b030c50-b179-4175-9715-b23439512746 + + + + + 0 + 7035 + 0 + 72596 + 50569 + 50215 + P_IsOverUnderPayment + p.IsOverUnderPayment + 2021-11-09 21:28:43.812 + 100 + Over-Payment (unallocated) or Under-Payment (partial payment) + ECA14 + Overpayments (negative) are unallocated amounts and allow you to receive money for more than the particular invoice. +Underpayments (positive) is a partial payment for the invoice. You do not write off the unpaid amount. + true + Over/Under Payment + 2021-11-09 21:28:43.812 + 100 + c1a9ddd3-f6bb-4313-ad5d-962ee16324eb + + + + + 0 + es_MX + 0 + 72596 + 2021-11-09 21:28:44.552 + 100 + Over-Payment (unallocated) or Under-Payment (partial payment) + + true + false + Over/Under Payment + 2021-11-09 21:28:44.552 + 100 + 723648ce-0edc-48eb-a270-14625c522d9f + + + + + 0 + 5040 + 0 + 72597 + 50569 + 50215 + P_R_AvsZip + p.R_AvsZip + 2021-11-09 21:28:44.681 + 100 + The Zip Code has been verified + ECA14 + The Zip Verified indicates if the zip code has been verified by the Credit Card Company. + true + Zip verified + 2021-11-09 21:28:44.681 + 100 + 7df3cfec-f009-44a1-9ad2-dcccc997767e + + + + + 0 + es_MX + 0 + 72597 + 2021-11-09 21:28:45.411 + 100 + The Zip Code has been verified + + true + false + Zip verified + 2021-11-09 21:28:45.411 + 100 + 3f676ebb-5342-4ae4-9cc5-fb65409a7e9b + + + + + 0 + 5049 + 0 + 72598 + 50569 + 50215 + P_CheckNo + p.CheckNo + 2021-11-09 21:28:45.552 + 100 + Check Number + ECA14 + The Check Number indicates the number on the check. + true + Check No + 2021-11-09 21:28:45.552 + 100 + 30fc7147-45b4-4e48-849f-200d95c48b6d + + + + + 0 + es_MX + 0 + 72598 + 2021-11-09 21:28:46.254 + 100 + Check Number + + true + false + Check No + 2021-11-09 21:28:46.254 + 100 + 3e54c7ee-68bc-4e63-befb-5571863b2396 + + + + + 0 + 5048 + 0 + 72599 + 50569 + 50215 + P_Micr + p.Micr + 2021-11-09 21:28:46.402 + 100 + Combination of routing no, account and check no + ECA14 + The Micr number is the combination of the bank routing number, account number and check number + true + Micr + 2021-11-09 21:28:46.402 + 100 + 52254918-4c16-46ab-aa88-68543b302098 + + + + + 0 + es_MX + 0 + 72599 + 2021-11-09 21:28:47.079 + 100 + Combination of routing no, account and check no + + true + false + Micr + 2021-11-09 21:28:47.079 + 100 + bbc05553-e10e-4caa-836c-9c4901329709 + + + + + 0 + 5032 + 0 + 72600 + 50569 + 50215 + P_PONum + p.PONum + 2021-11-09 21:28:47.255 + 100 + Purchase Order Number + ECA14 + The PO Number indicates the number assigned to a purchase order + true + PO Number + 2021-11-09 21:28:47.255 + 100 + 38068210-0fbe-4d85-bee4-fb1187f51639 + + + + + 0 + es_MX + 0 + 72600 + 2021-11-09 21:28:48.017 + 100 + Purchase Order Number + + true + false + PO Number + 2021-11-09 21:28:48.017 + 100 + e18e9cae-7298-4b58-90e6-2d283b1eb998 + + + + + 0 + 5034 + 0 + 72601 + 50569 + 50215 + P_TaxAmt + p.TaxAmt + 2021-11-09 21:28:48.172 + 100 + Tax Amount for a document + ECA14 + The Tax Amount displays the total tax amount for a document. + true + Tax Amount + 2021-11-09 21:28:48.172 + 100 + 41e1f166-1bbf-4852-995b-1dbbee9044c1 + + + + + 0 + es_MX + 0 + 72601 + 2021-11-09 21:28:48.871 + 100 + Tax Amount for a document + + true + false + Tax Amount + 2021-11-09 21:28:48.871 + 100 + e091f4c8-ef93-4024-b8e3-54c747393c3e + + + + + 0 + 5027 + 0 + 72602 + 50569 + 50215 + P_A_Ident_DL + p.A_Ident_DL + 2021-11-09 21:28:49.073 + 100 + Payment Identification - Driver License + ECA14 + The Driver's License being used as identification. + true + Driver License + 2021-11-09 21:28:49.073 + 100 + 4daacadc-331c-4eda-be27-666538e708cb + + + + + 0 + es_MX + 0 + 72602 + 2021-11-09 21:28:49.761 + 100 + Payment Identification - Driver License + + true + false + Driver License + 2021-11-09 21:28:49.761 + 100 + f9ac5c23-f5a9-4524-822c-8db359fab452 + + + + + 0 + 5030 + 0 + 72603 + 50569 + 50215 + P_VoiceAuthCode + p.VoiceAuthCode + 2021-11-09 21:28:49.887 + 100 + Voice Authorization Code from credit card company + ECA14 + The Voice Authorization Code indicates the code received from the Credit Card Company. + true + Voice authorization code + 2021-11-09 21:28:49.887 + 100 + c40c5883-516b-4c7f-861f-e750b22c8aeb + + + + + 0 + es_MX + 0 + 72603 + 2021-11-09 21:28:50.544 + 100 + Voice Authorization Code from credit card company + + true + false + Voice authorization code + 2021-11-09 21:28:50.544 + 100 + cb717c57-41ee-4c37-b640-8ef01c43c9d6 + + + + + 0 + 5052 + 0 + 72604 + 50569 + 50215 + P_A_City + p.A_City + 2021-11-09 21:28:50.677 + 100 + City or the Credit Card or Account Holder + ECA14 + The Account City indicates the City of the Credit Card or Account holder + true + Account City + 2021-11-09 21:28:50.677 + 100 + b3271017-3f84-4be2-8d9d-ac6e82279950 + + + + + 0 + es_MX + 0 + 72604 + 2021-11-09 21:28:51.466 + 100 + City or the Credit Card or Account Holder + + true + false + Account City + 2021-11-09 21:28:51.466 + 100 + 70216d5c-8af8-4000-b189-1ecbbcb59c80 + + + + + 0 + 7034 + 0 + 72605 + 50569 + 50215 + P_OverUnderAmt + p.OverUnderAmt + 2021-11-09 21:28:51.619 + 100 + Over-Payment (unallocated) or Under-Payment (partial payment) Amount + ECA14 + Overpayments (negative) are unallocated amounts and allow you to receive money for more than the particular invoice. +Underpayments (positive) is a partial payment for the invoice. You do not write off the unpaid amount. + true + Over/Under Payment + 2021-11-09 21:28:51.619 + 100 + 867eff7f-b894-48c1-8c21-69bca9ac1ef6 + + + + + 0 + es_MX + 0 + 72605 + 2021-11-09 21:28:52.301 + 100 + Over-Payment (unallocated) or Under-Payment (partial payment) Amount + + true + false + Over/Under Payment + 2021-11-09 21:28:52.301 + 100 + 56c53104-22ea-42d4-9b17-e8f03d7dbdce + + + + + 0 + 3873 + 0 + 72606 + 50569 + 50215 + P_RoutingNo + p.RoutingNo + 2021-11-09 21:28:52.427 + 100 + Bank Routing Number + ECA14 + The Bank Routing Number (ABA Number) identifies a legal Bank. It is used in routing checks and electronic transactions. + true + Routing No + 2021-11-09 21:28:52.427 + 100 + 9407a328-1a55-4371-b941-011e54fbc66e + + + + + 0 + es_MX + 0 + 72606 + 2021-11-09 21:28:53.048 + 100 + Bank Routing Number + + true + false + Routing No + 2021-11-09 21:28:53.048 + 100 + 7a6de1cb-054c-4d2b-98fb-154bc6d8234b + + + + + 0 + 6475 + 0 + 72607 + 50569 + 50215 + P_WriteOffAmt + p.WriteOffAmt + 2021-11-09 21:28:53.19 + 100 + Amount to write-off + ECA14 + The Write Off Amount indicates the amount to be written off as uncollectible. + true + Write-off Amount + 2021-11-09 21:28:53.19 + 100 + 92942d9d-447d-4ea3-a982-c7dbf16be89e + + + + + 0 + es_MX + 0 + 72607 + 2021-11-09 21:28:53.895 + 100 + Amount to write-off + + true + false + Write-off Amount + 2021-11-09 21:28:53.895 + 100 + b847c94b-5625-4fd2-991b-7aa775b5c698 + + + + + 0 + 5301 + 0 + 72608 + 50569 + 50215 + P_DiscountAmt + p.DiscountAmt + 2021-11-09 21:28:54.023 + 100 + Calculated amount of discount + ECA14 + The Discount Amount indicates the discount amount for a document or line. + true + Discount Amount + 2021-11-09 21:28:54.023 + 100 + b567a8bc-b3f5-4776-ade9-d38b8a41b829 + + + + + 0 + es_MX + 0 + 72608 + 2021-11-09 21:28:54.578 + 100 + Calculated amount of discount + + true + false + Discount Amount + 2021-11-09 21:28:54.578 + 100 + 324b7eaf-99a1-48be-8cbb-3a565dbdff46 + + + + + 0 + 5046 + 0 + 72609 + 50569 + 50215 + P_TenderType + p.TenderType + 2021-11-09 21:28:54.711 + 100 + Method of Payment + ECA14 + The Tender Type indicates the method of payment (ACH or Direct Deposit, Credit Card, Check, Direct Debit) + true + Tender type + 2021-11-09 21:28:54.711 + 100 + 99b12667-694b-456b-b5fa-01845dced46c + + + + + 0 + es_MX + 0 + 72609 + 2021-11-09 21:28:55.326 + 100 + Method of Payment + + true + false + Tender type + 2021-11-09 21:28:55.326 + 100 + 3cff5907-cbf5-4adc-ba17-a9ac10161647 + + + + + 0 + 8980 + 0 + 72610 + 50569 + 50215 + P_ChargeAmt + p.ChargeAmt + 2021-11-09 21:28:55.468 + 100 + Charge Amount + ECA14 + The Charge Amount indicates the amount for an additional charge. + true + Charge amount + 2021-11-09 21:28:55.468 + 100 + b6ef3934-3d66-4f9f-ab65-9993a4603609 + + + + + 0 + es_MX + 0 + 72610 + 2021-11-09 21:28:56.23 + 100 + Charge Amount + + true + false + Charge amount + 2021-11-09 21:28:56.23 + 100 + f286e0b6-9367-497a-88c5-ad905ad57bd7 + + + + + 0 + 12127 + 0 + 72611 + 50569 + 50215 + P_Description + p.Description + 2021-11-09 21:28:56.36 + 100 + Optional short description of the record + ECA14 + A description is limited to 255 characters. + true + Description + 2021-11-09 21:28:56.36 + 100 + 7adcdb10-ee2a-43e9-8b89-685c83258806 + + + + + 0 + es_MX + 0 + 72611 + 2021-11-09 21:28:57.097 + 100 + Optional short description of the record + + true + false + Description + 2021-11-09 21:28:57.097 + 100 + 3c719fcd-ac40-48cc-8365-ea286cb58363 + + + + + 0 + 3874 + 0 + 72612 + 50569 + 50215 + P_AccountNo + p.AccountNo + 2021-11-09 21:28:57.225 + 100 + Account Number + ECA14 + The Account Number indicates the Number assigned to this bank account. + true + Account No + 2021-11-09 21:28:57.225 + 100 + 1f66fb79-afc2-41da-8c44-4018aba3ff45 + + + + + 0 + es_MX + 0 + 72612 + 2021-11-09 21:28:58.023 + 100 + Account Number + + true + false + Account No + 2021-11-09 21:28:58.023 + 100 + 652cdaab-7319-46e0-b1d5-267fbc7287b8 + + + + + 0 + 5041 + 0 + 72613 + 50569 + 50215 + P_R_Info + p.R_Info + 2021-11-09 21:28:58.197 + 100 + Response info + ECA14 + The Info indicates any response information returned from the Credit Card Company. + true + Info + 2021-11-09 21:28:58.197 + 100 + f4c8300b-b651-4163-b822-7de4f26280ca + + + + + 0 + es_MX + 0 + 72613 + 2021-11-09 21:28:58.797 + 100 + Response info + + true + false + Info + 2021-11-09 21:28:58.797 + 100 + cb13110d-9032-4e43-99ea-44d6c6f65a3b + + + + + 0 + 5356 + 0 + 72614 + 50569 + 50215 + P_OProcessing + p.OProcessing + 2021-11-09 21:28:58.928 + 100 + This payment can be processed online + ECA14 + The Online Processing indicates if the payment can be processed online. + true + Online Processing + 2021-11-09 21:28:58.928 + 100 + 89a1ccd7-40be-409b-89e6-5b2f9a11a220 + + + + + 0 + es_MX + 0 + 72614 + 2021-11-09 21:28:59.646 + 100 + This payment can be processed online + + true + false + Online Processing + 2021-11-09 21:28:59.646 + 100 + ac38b6c7-27c5-4f59-bd66-9fd64efaf719 + + + + + 0 + 5036 + 0 + 72615 + 50569 + 50215 + P_R_Result + p.R_Result + 2021-11-09 21:28:59.779 + 100 + Result of transmission + ECA14 + The Response Result indicates the result of the transmission to the Credit Card Company. + true + Result + 2021-11-09 21:28:59.779 + 100 + e0fe3688-700c-4671-85b2-1bce7016dad2 + + + + + 0 + es_MX + 0 + 72615 + 2021-11-09 21:29:00.64 + 100 + Result of transmission + + true + false + Result + 2021-11-09 21:29:00.64 + 100 + 6c094824-8803-473c-9d08-701b70ed3b71 + + + + + 0 + 3870 + 0 + 72616 + 50569 + 50215 + P_CreditCardNumber + p.CreditCardNumber + 2021-11-09 21:29:00.832 + 100 + Credit Card Number + ECA14 + The Credit Card number indicates the number on the credit card, without blanks or spaces. + true + Number + 2021-11-09 21:29:00.832 + 100 + 1002444a-a01a-4666-b5a8-092302f92751 + + + + + 0 + es_MX + 0 + 72616 + 2021-11-09 21:29:01.465 + 100 + Credit Card Number + + true + false + Number + 2021-11-09 21:29:01.465 + 100 + 685b6d3a-94ea-4e8a-87be-1f7b0ce3cb52 + + + + + 0 + 5051 + 0 + 72617 + 50569 + 50215 + P_A_Street + p.A_Street + 2021-11-09 21:29:01.6 + 100 + Street address of the Credit Card or Account holder + ECA14 + The Street Address of the Credit Card or Account holder. + true + Account Street + 2021-11-09 21:29:01.6 + 100 + fde7714e-81b4-420e-b4af-8d20391d90c3 + + + + + 0 + es_MX + 0 + 72617 + 2021-11-09 21:29:02.284 + 100 + Street address of the Credit Card or Account holder + + true + false + Account Street + 2021-11-09 21:29:02.284 + 100 + f0e85aac-eb56-4eef-976c-b6ae3c75b5a4 + + + + + 0 + 5028 + 0 + 72618 + 50569 + 50215 + P_A_Ident_SSN + p.A_Ident_SSN + 2021-11-09 21:29:02.473 + 100 + Payment Identification - Social Security No + ECA14 + The Social Security number being used as identification. + true + Social Security No + 2021-11-09 21:29:02.473 + 100 + 71495d03-cbe3-443e-a99a-552950fa40fd + + + + + 0 + es_MX + 0 + 72618 + 2021-11-09 21:29:03.263 + 100 + Payment Identification - Social Security No + + true + false + Social Security No + 2021-11-09 21:29:03.263 + 100 + c34b59ae-727f-410e-8d6f-8983b7411b0f + + + + + 0 + 5053 + 0 + 72619 + 50569 + 50215 + P_A_State + p.A_State + 2021-11-09 21:29:03.414 + 100 + State of the Credit Card or Account holder + ECA14 + The State of the Credit Card or Account holder + true + Account State + 2021-11-09 21:29:03.414 + 100 + d925b2b8-8a16-47ee-91fb-d074214b888a + + + + + 0 + es_MX + 0 + 72619 + 2021-11-09 21:29:04.191 + 100 + State of the Credit Card or Account holder + + true + false + Account State + 2021-11-09 21:29:04.191 + 100 + 99f7d9c7-f18b-4d94-a6e6-530439520994 + + + + + 0 + 8982 + 0 + 72620 + 50569 + 50215 + P_R_CVV2Match + p.R_CVV2Match + 2021-11-09 21:29:04.333 + 100 + Credit Card Verification Code Match + ECA14 + The Credit Card Verification Code was matched + true + CVV Match + 2021-11-09 21:29:04.333 + 100 + df52dcb6-38ca-45a9-ab76-5d3a3bf5b1c9 + + + + + 0 + es_MX + 0 + 72620 + 2021-11-09 21:29:04.913 + 100 + Credit Card Verification Code Match + + true + false + CVV Match + 2021-11-09 21:29:04.913 + 100 + 54e4313c-3278-448d-b8a5-440edc30aa88 + + + + + 0 + 8981 + 0 + 72621 + 50569 + 50215 + P_R_AuthCode_DC + p.R_AuthCode_DC + 2021-11-09 21:29:05.117 + 100 + Authorization Code Delayed Capture returned + ECA14 + The Authorization Code indicates the code returned from the electronic transmission. + true + Authorization Code (DC) + 2021-11-09 21:29:05.117 + 100 + 183f09eb-eba2-4d52-91ae-697379c4889b + + + + + 0 + es_MX + 0 + 72621 + 2021-11-09 21:29:05.847 + 100 + Authorization Code Delayed Capture returned + + true + false + Authorization Code (DC) + 2021-11-09 21:29:05.847 + 100 + f79c3301-aa80-4dcd-88e3-0cef964501b5 + + + + + 0 + 5029 + 0 + 72622 + 50569 + 50215 + P_A_EMail + p.A_EMail + 2021-11-09 21:29:05.983 + 100 + Email Address + ECA14 + The EMail Address indicates the EMail address off the Credit Card or Account holder. + true + Account EMail + 2021-11-09 21:29:05.983 + 100 + e79ec581-3568-4bec-af01-955a9caa0e32 + + + + + 0 + es_MX + 0 + 72622 + 2021-11-09 21:29:06.686 + 100 + Email Address + + true + false + Account EMail + 2021-11-09 21:29:06.686 + 100 + 329b2856-84a6-40bd-a684-ed54c06f51ba + + + + + 0 + 8979 + 0 + 72623 + 50569 + 50215 + P_IsDelayedCapture + p.IsDelayedCapture + 2021-11-09 21:29:06.846 + 100 + Charge after Shipment + ECA14 + Delayed Capture is required, if you ship products. The first credit card transaction is the Authorization, the second is the actual transaction after the shipment of the product. + true + Delayed Capture + 2021-11-09 21:29:06.846 + 100 + a6539d66-0b0a-4ada-bdb8-7bfd2498f777 + + + + + 0 + es_MX + 0 + 72623 + 2021-11-09 21:29:07.569 + 100 + Charge after Shipment + + true + false + Delayed Capture + 2021-11-09 21:29:07.569 + 100 + e587af1a-1fc8-4c3a-a852-077e44c8f48d + + + + + 0 + 8983 + 0 + 72624 + 50569 + 50215 + P_R_PnRef_DC + p.R_PnRef_DC + 2021-11-09 21:29:07.704 + 100 + Payment Reference Delayed Capture + ECA14 + The Payment Reference indicates the reference returned from the Credit Card Company for a payment + true + Reference (DC) + 2021-11-09 21:29:07.704 + 100 + 0e772625-5ab0-487c-8f32-7305a700e5f6 + + + + + 0 + es_MX + 0 + 72624 + 2021-11-09 21:29:08.375 + 100 + Payment Reference Delayed Capture + + true + false + Reference (DC) + 2021-11-09 21:29:08.375 + 100 + debf4a88-adae-4a04-8564-494649b9636d + + + + + 0 + 8985 + 0 + 72625 + 50569 + 50215 + P_Swipe + p.Swipe + 2021-11-09 21:29:08.578 + 100 + Track 1 and 2 of the Credit Card + ECA14 + Swiped information for Credit Card Presence Transactions + true + Swipe + 2021-11-09 21:29:08.578 + 100 + bc2347cb-c84a-4a57-94b9-b0b744b78a4e + + + + + 0 + es_MX + 0 + 72625 + 2021-11-09 21:29:09.178 + 100 + Track 1 and 2 of the Credit Card + + true + false + Swipe + 2021-11-09 21:29:09.178 + 100 + 1815351b-3159-4a90-9953-b7085bdd27f1 + + + + + 0 + 8213 + 0 + 72626 + 50569 + 50215 + P_A_Country + p.A_Country + 2021-11-09 21:29:09.308 + 100 + Country + ECA14 + Account Country Name + true + Account Country + 2021-11-09 21:29:09.308 + 100 + 3519dea7-5196-438f-8081-d24052d64772 + + + + + 0 + es_MX + 0 + 72626 + 2021-11-09 21:29:10.31 + 100 + Country + + true + false + Account Country + 2021-11-09 21:29:10.31 + 100 + f709d296-c43a-4199-a74b-645f2e0fa4d6 + + + + + 0 + 59039 + 0 + 72627 + 50569 + 50215 + P_ProcessedOn + p.ProcessedOn + 2021-11-09 21:29:10.461 + 100 + The date+time (expressed in decimal format) when the document has been processed + ECA14 + The ProcessedOn Date+Time save the exact moment (nanoseconds precision if allowed by the DB) when a document has been processed. + true + Processed On + 2021-11-09 21:29:10.461 + 100 + 5acadb49-8487-4975-a3d9-3df7599fd7d3 + + + + + 0 + es_MX + 0 + 72627 + 2021-11-09 21:29:11.178 + 100 + The date+time (expressed in decimal format) when the document has been processed + + true + false + Processed On + 2021-11-09 21:29:11.178 + 100 + 79757774-fcc5-4903-a7c9-800c70a4fe28 + + + + + 0 + 55309 + 0 + 72628 + 50569 + 50215 + P_Reversal_ID + p.Reversal_ID + 2021-11-09 21:29:11.307 + 100 + ID of document reversal + ECA14 + + true + Reversal ID + 2021-11-09 21:29:11.307 + 100 + fab4482c-3f8f-4d1b-9da3-a7d60d85dec3 + + + + + 0 + es_MX + 0 + 72628 + 2021-11-09 21:29:11.934 + 100 + ID of document reversal + + true + false + Reversal ID + 2021-11-09 21:29:11.934 + 100 + 6a840260-9039-4aa7-b09f-763c55135e92 + + + + + 0 + 5299 + 0 + 72629 + 50569 + 50215 + P_C_Currency_ID + p.C_Currency_ID + 2021-11-09 21:29:12.08 + 100 + The Currency for this record + ECA14 + Indicates the Currency to be used when processing or reporting on this record + true + Currency + 2021-11-09 21:29:12.08 + 100 + 8bc16caa-a829-4ccb-b3aa-687b6615c5b2 + + + + + 0 + es_MX + 0 + 72629 + 2021-11-09 21:29:12.867 + 100 + The Currency for this record + + true + false + Currency + 2021-11-09 21:29:12.867 + 100 + fe7c99e4-3439-4a73-bb64-b1f837be4fa9 + + + + + 0 + 3863 + 0 + 72630 + 50569 + 50215 + P_AD_Org_ID + p.AD_Org_ID + 2021-11-09 21:29:13.042 + 100 + Organizational entity within client + ECA14 + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + Organization + 2021-11-09 21:29:13.042 + 100 + d40f088b-822d-40ef-99f0-75828688c58b + + + + + 0 + es_MX + 0 + 72630 + 2021-11-09 21:29:13.778 + 100 + Organizational entity within client + + true + false + Organization + 2021-11-09 21:29:13.778 + 100 + ce79a8de-22a1-454f-863a-b50eef6d1411 + + + + + 0 + 3862 + 0 + 72631 + 50569 + 50215 + P_AD_Client_ID + p.AD_Client_ID + 2021-11-09 21:29:14.025 + 100 + Client/Tenant for this installation. + ECA14 + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + true + Client + 2021-11-09 21:29:14.025 + 100 + a8833deb-e6e9-4303-96d9-7afa89a10096 + + + + + 0 + es_MX + 0 + 72631 + 2021-11-09 21:29:14.792 + 100 + Client/Tenant for this installation. + + true + false + Client + 2021-11-09 21:29:14.792 + 100 + f4c61b62-6eef-4f00-ad66-0e5f08a09bbe + + + + + 0 + 5043 + 0 + 72632 + 50569 + 50215 + P_C_Payment_ID + p.C_Payment_ID + 2021-11-09 21:29:15.016 + 100 + Payment identifier + ECA14 + The Payment is a unique identifier of this payment. + true + Payment + 2021-11-09 21:29:15.016 + 100 + b91459fc-90af-499e-a0fc-0a8034e3f274 + + + + + 0 + es_MX + 0 + 72632 + 2021-11-09 21:29:15.81 + 100 + Payment identifier + + true + false + Payment + 2021-11-09 21:29:15.81 + 100 + b0cda182-30a4-4041-891f-841978be450b + + + + + 0 + 5031 + 0 + 72633 + 50569 + 50215 + P_Orig_TrxID + p.Orig_TrxID + 2021-11-09 21:29:16.095 + 100 + Original Transaction ID + ECA14 + The Original Transaction ID is used for reversing transactions and indicates the transaction that has been reversed. + true + Original Transaction ID + 2021-11-09 21:29:16.095 + 100 + 49de3c51-7196-49a2-90e6-7975497526c5 + + + + + 0 + es_MX + 0 + 72633 + 2021-11-09 21:29:16.814 + 100 + Original Transaction ID + + true + false + Original Transaction ID + 2021-11-09 21:29:16.814 + 100 + 4289e2d0-3a8b-4127-a566-b42eb6a99d7e + + + + + 0 + 5298 + 0 + 72634 + 50569 + 50215 + P_C_BP_BankAccount_ID + p.C_BP_BankAccount_ID + 2021-11-09 21:29:16.948 + 100 + Bank Account of the Business Partner + ECA14 + The Partner Bank Account identifies the bank account to be used for this Business Partner + true + Partner Bank Account + 2021-11-09 21:29:16.948 + 100 + dbd86e96-74ce-4b35-b472-317bafd56fc3 + + + + + 0 + es_MX + 0 + 72634 + 2021-11-09 21:29:17.549 + 100 + Bank Account of the Business Partner + + true + false + Partner Bank Account + 2021-11-09 21:29:17.549 + 100 + 7d527e21-60f1-4ff0-a951-546e05066e3c + + + + + 0 + 3872 + 0 + 72635 + 50569 + 50215 + P_CreditCardExpYY + p.CreditCardExpYY + 2021-11-09 21:29:17.681 + 100 + Expiry Year + ECA14 + The Expiry Year indicates the expiry year for this credit card. + true + Exp. Year + 2021-11-09 21:29:17.681 + 100 + 95d34e1b-b705-4b26-8516-3f065baa2789 + + + + + 0 + es_MX + 0 + 72635 + 2021-11-09 21:29:18.296 + 100 + Expiry Year + + true + false + Exp. Year + 2021-11-09 21:29:18.296 + 100 + 19e230a4-470e-48fb-af1b-d84f4c10290b + + + + + 0 + 5300 + 0 + 72636 + 50569 + 50215 + P_C_PaymentBatch_ID + p.C_PaymentBatch_ID + 2021-11-09 21:29:18.431 + 100 + Payment batch for EFT + ECA14 + Electronic Fund Transfer Payment Batch. + true + Payment Batch + 2021-11-09 21:29:18.431 + 100 + 8d3f0578-9ad4-4848-8cf6-4eaee12fe63c + + + + + 0 + es_MX + 0 + 72636 + 2021-11-09 21:29:19.152 + 100 + Payment batch for EFT + + true + false + Payment Batch + 2021-11-09 21:29:19.152 + 100 + c77a02f3-bf9d-433e-8a59-8f6e35aa5c22 + + + + + 0 + 9563 + 0 + 72637 + 50569 + 50215 + P_User1_ID + p.User1_ID + 2021-11-09 21:29:19.305 + 100 + User defined list element #1 + ECA14 + The user defined element displays the optional elements that have been defined for this account combination. + true + User List 1 + 2021-11-09 21:29:19.305 + 100 + f0a2a023-4d9c-4b66-84b3-82c8a3cb3349 + + + + + 0 + es_MX + 0 + 72637 + 2021-11-09 21:29:20.013 + 100 + User defined list element #1 + + true + false + User List 1 + 2021-11-09 21:29:20.013 + 100 + f0f1e5ba-8537-4b0a-a72b-ce97d731c998 + + + + + 0 + 8554 + 0 + 72638 + 50569 + 50215 + P_C_Project_ID + p.C_Project_ID + 2021-11-09 21:29:20.143 + 100 + Financial Project + ECA14 + A Project allows you to track and control internal or external activities. + true + Project + 2021-11-09 21:29:20.143 + 100 + 81878d6b-1447-4d44-9dcd-467f7e4d1145 + + + + + 0 + es_MX + 0 + 72638 + 2021-11-09 21:29:20.7 + 100 + Financial Project + + true + false + Project + 2021-11-09 21:29:20.7 + 100 + 0ba69a39-27f8-4013-ba37-10e2a51bf947 + + + + + 0 + 9564 + 0 + 72639 + 50569 + 50215 + P_C_Campaign_ID + p.C_Campaign_ID + 2021-11-09 21:29:20.84 + 100 + Marketing Campaign + ECA14 + The Campaign defines a unique marketing program. Projects can be associated with a pre defined Marketing Campaign. You can then report based on a specific Campaign. + true + Campaign + 2021-11-09 21:29:20.84 + 100 + 3902a4ae-0e8e-4bb7-ad08-28552104d4dd + + + + + 0 + es_MX + 0 + 72639 + 2021-11-09 21:29:21.518 + 100 + Marketing Campaign + + true + false + Campaign + 2021-11-09 21:29:21.518 + 100 + 04e40c37-4221-4ad0-b2e5-a2164b815af7 + + + + + 0 + 9565 + 0 + 72640 + 50569 + 50215 + P_AD_OrgTrx_ID + p.AD_OrgTrx_ID + 2021-11-09 21:29:21.649 + 100 + Performing or initiating organization + ECA14 + The organization which performs or initiates this transaction (for another organization). The owning Organization may not be the transaction organization in a service bureau environment, with centralized services, and inter-organization transactions. + true + Trx Organization + 2021-11-09 21:29:21.649 + 100 + 9acd0be8-974b-4159-857a-5d11dab0c99e + + + + + 0 + es_MX + 0 + 72640 + 2021-11-09 21:29:22.354 + 100 + Performing or initiating organization + + true + false + Trx Organization + 2021-11-09 21:29:22.354 + 100 + d524a100-33f0-4935-ad0d-ba20f3fef863 + + + + + 0 + 3871 + 0 + 72641 + 50569 + 50215 + P_CreditCardExpMM + p.CreditCardExpMM + 2021-11-09 21:29:22.488 + 100 + Expiry Month + ECA14 + The Expiry Month indicates the expiry month for this credit card. + true + Exp. Month + 2021-11-09 21:29:22.488 + 100 + 790b0e0d-890d-4f3d-bf9d-2fb5b1af4217 + + + + + 0 + es_MX + 0 + 72641 + 2021-11-09 21:29:23.259 + 100 + Expiry Month + + true + false + Exp. Month + 2021-11-09 21:29:23.259 + 100 + b86a6e6d-09b3-4226-a48b-0948cdedefa9 + + + + + 0 + 3868 + 0 + 72642 + 50569 + 50215 + P_UpdatedBy + p.UpdatedBy + 2021-11-09 21:29:23.405 + 100 + User who updated this records + ECA14 + The Updated By field indicates the user who updated this record. + true + Updated By + 2021-11-09 21:29:23.405 + 100 + 56cfe42b-9a39-4a8a-8cf5-74afbad3f267 + + + + + 0 + es_MX + 0 + 72642 + 2021-11-09 21:29:24.085 + 100 + User who updated this records + + true + false + Updated By + 2021-11-09 21:29:24.085 + 100 + 956cb332-da39-48ea-86be-999462422d48 + + + + + 0 + 3866 + 0 + 72643 + 50569 + 50215 + P_CreatedBy + p.CreatedBy + 2021-11-09 21:29:24.283 + 100 + User who created this records + ECA14 + The Created By field indicates the user who created this record. + true + Created By + 2021-11-09 21:29:24.283 + 100 + b9133120-b7e4-493c-9e81-c2a5763df35b + + + + + 0 + es_MX + 0 + 72643 + 2021-11-09 21:29:25.06 + 100 + User who created this records + + true + false + Created By + 2021-11-09 21:29:25.06 + 100 + ddfd4d17-ed10-420b-8e03-9df8d085fde9 + + + + + 0 + 9567 + 0 + 72644 + 50569 + 50215 + P_User2_ID + p.User2_ID + 2021-11-09 21:29:25.23 + 100 + User defined list element #2 + ECA14 + The user defined element displays the optional elements that have been defined for this account combination. + true + User List 2 + 2021-11-09 21:29:25.23 + 100 + a97e9ceb-6975-4a92-8d4a-76c80cdd93ca + + + + + 0 + es_MX + 0 + 72644 + 2021-11-09 21:29:25.95 + 100 + User defined list element #2 + + true + false + User List 2 + 2021-11-09 21:29:25.95 + 100 + b322c139-bf74-44a1-90f4-fbbc30f2b73f + + + + + 0 + 9566 + 0 + 72645 + 50569 + 50215 + P_C_Activity_ID + p.C_Activity_ID + 2021-11-09 21:29:26.128 + 100 + Business Activity + ECA14 + Activities indicate tasks that are performed and used to utilize Activity based Costing + true + Activity + 2021-11-09 21:29:26.128 + 100 + a4d0a0dc-c46d-4ea4-a790-134e44158203 + + + + + 0 + es_MX + 0 + 72645 + 2021-11-09 21:29:26.814 + 100 + Business Activity + + true + false + Activity + 2021-11-09 21:29:26.814 + 100 + 39e3ca23-956a-4b6c-b8d9-7eef50a3f89b + + + + + 0 + 10265 + 0 + 72646 + 50569 + 50215 + P_C_ConversionType_ID + p.C_ConversionType_ID + 2021-11-09 21:29:26.993 + 100 + Currency Conversion Rate Type + ECA14 + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + true + Currency Type + 2021-11-09 21:29:26.993 + 100 + d3e040ee-3956-4e35-a921-1a516b6cc5a4 + + + + + 0 + es_MX + 0 + 72646 + 2021-11-09 21:29:27.602 + 100 + Currency Conversion Rate Type + + true + false + Currency Type + 2021-11-09 21:29:27.602 + 100 + 1cedb34e-fee6-41ed-8475-9e68bb8b772f + + + + + 0 + 84695 + 0 + 72647 + 50569 + 50215 + P_UUID + p.UUID + 2021-11-09 21:29:27.747 + 100 + Immutable Universally Unique Identifier + ECA14 + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + true + Immutable Universally Unique Identifier + 2021-11-09 21:29:27.747 + 100 + cbc0f9ee-1a45-489b-a9a7-5c9777af3c32 + + + + + 0 + es_MX + 0 + 72647 + 2021-11-09 21:29:28.353 + 100 + Immutable Universally Unique Identifier + + true + false + Immutable Universally Unique Identifier + 2021-11-09 21:29:28.353 + 100 + 88fed13a-3b86-4580-b245-946677d806b4 + + + + + 0 + 94567 + 0 + 72648 + 50569 + 50215 + P_IsUnidentifiedPayment + p.IsUnidentifiedPayment + 2021-11-09 21:29:28.487 + 100 + This flag determine ig a payment is unidentify + ECA14 + + true + Unidentified Payment + 2021-11-09 21:29:28.487 + 100 + 5f6f9f86-c231-4429-a882-90b4a7787751 + + + + + 0 + es_MX + 0 + 72648 + 2021-11-09 21:29:29.083 + 100 + This flag determine ig a payment is unidentify + + true + false + Unidentified Payment + 2021-11-09 21:29:29.083 + 100 + 10f0dccb-84e6-4cd6-bd6e-1fd88877d217 + + + + + 0 + 13705 + 0 + 72649 + 50569 + 50215 + P_Ref_Payment_ID + p.Ref_Payment_ID + 2021-11-09 21:29:29.214 + 100 + + ECA14 + + true + Referenced Payment + 2021-11-09 21:29:29.214 + 100 + cde6ff6f-f4be-4448-b60a-249ba112ad45 + + + + + 0 + es_MX + 0 + 72649 + 2021-11-09 21:29:29.839 + 100 + + + true + false + Referenced Payment + 2021-11-09 21:29:29.839 + 100 + c80c02dd-b983-460b-a2b9-6697791218b1 + + + + + 0 + 95741 + 0 + 72650 + 50569 + 50215 + P_C_Bank_ID + p.C_Bank_ID + 2021-11-09 21:29:29.976 + 100 + Bank + ECA14 + The Bank is a unique identifier of a Bank for this Organization or for a Business Partner with whom this Organization transacts. + true + Bank + 2021-11-09 21:29:29.976 + 100 + 2f56a8ff-d974-452e-b384-246575a31fb1 + + + + + 0 + es_MX + 0 + 72650 + 2021-11-09 21:29:30.725 + 100 + Bank + + true + false + Bank + 2021-11-09 21:29:30.725 + 100 + 2ced3193-d1fb-498d-8410-5c9fa1d4e16e + + + + + 0 + 99437 + 0 + 72651 + 50569 + 50215 + P_IsPaymentVerified + p.IsPaymentVerified + 2021-11-09 21:29:30.866 + 100 + This document require a verification + ECA14 + + true + Payment Verified + 2021-11-09 21:29:30.866 + 100 + 8f1c4953-c710-4182-b303-21b925bbcd58 + + + + + 0 + es_MX + 0 + 72651 + 2021-11-09 21:29:31.551 + 100 + This document require a verification + + true + false + Payment Verified + 2021-11-09 21:29:31.551 + 100 + d0e9ec0e-cf32-4ce2-b615-469263ba4fa9 + + + + + 0 + 99438 + 0 + 72652 + 50569 + 50215 + P_IsPaymentVerificationRequired + p.IsPaymentVerificationRequired + 2021-11-09 21:29:31.691 + 100 + This document require a verification + ECA14 + + true + Require Payment Verification + 2021-11-09 21:29:31.691 + 100 + 418a19d9-5e16-43cf-8257-a682fca942a4 + + + + + 0 + es_MX + 0 + 72652 + 2021-11-09 21:29:32.425 + 100 + This document require a verification + + true + false + Require Payment Verification + 2021-11-09 21:29:32.425 + 100 + 6deb2884-d0e1-460f-a8b4-56d6a0a04349 + + + + + 0 + 0 + 748 + 50570 + 50215 + 2021-11-09 21:30:30.325 + 100 + true + LEF JOIN C_POS pos ON(pos.C_POS_ID = p.C_POS_ID) + false + 20 + pos + 2021-11-09 21:30:30.325 + 100 + 6cba95f1-9641-433d-86c2-4035fb4cac93 + + + + + 0 + 12747 + 0 + 72653 + 50570 + 50215 + POS_AD_Client_ID + pos.AD_Client_ID + 2021-11-09 21:30:32.618 + 100 + Client/Tenant for this installation. + ECA14 + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + true + Client + 2021-11-09 21:30:32.618 + 100 + 1b893c5e-4ab4-4971-bc6e-0d0fa92e362c + + + + + 0 + es_MX + 0 + 72653 + 2021-11-09 21:30:33.314 + 100 + Client/Tenant for this installation. + + true + false + Client + 2021-11-09 21:30:33.314 + 100 + 1dde8b6d-bbd9-4e44-a7ae-4f854509875b + + + + + 0 + 12742 + 0 + 72654 + 50570 + 50215 + POS_AD_Org_ID + pos.AD_Org_ID + 2021-11-09 21:30:33.416 + 100 + Organizational entity within client + ECA14 + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + Organization + 2021-11-09 21:30:33.416 + 100 + 182442a0-8133-4fee-9cc6-0cfac8257f1c + + + + + 0 + es_MX + 0 + 72654 + 2021-11-09 21:30:34.122 + 100 + Organizational entity within client + + true + false + Organization + 2021-11-09 21:30:34.122 + 100 + 20cefdd8-b485-41c7-9d4f-a5dbb43bc61e + + + + + 0 + 59103 + 0 + 72655 + 50570 + 50215 + POS_AutoLogoutDelay + pos.AutoLogoutDelay + 2021-11-09 21:30:34.237 + 100 + Automatically logout if terminal inactive for this period + ECA14 + Measured in seconds, zero for no automatic logout + true + Auto Logout Delay + 2021-11-09 21:30:34.237 + 100 + b3c81db5-45e2-470f-a390-45375d8038c3 + + + + + 0 + es_MX + 0 + 72655 + 2021-11-09 21:30:34.965 + 100 + Automatically logout if terminal inactive for this period + + true + false + Auto Logout Delay + 2021-11-09 21:30:34.965 + 100 + 9ff07641-348a-46f6-bf0d-d630b0f8c4a6 + + + + + 0 + 52058 + 0 + 72656 + 50570 + 50215 + POS_CashDrawer + pos.CashDrawer + 2021-11-09 21:30:35.125 + 100 + + ECA14 + + true + CashDrawer + 2021-11-09 21:30:35.125 + 100 + 4e49249d-c3bc-4160-aed9-1d59ff00c3b1 + + + + + 0 + es_MX + 0 + 72656 + 2021-11-09 21:30:35.718 + 100 + + + true + false + CashDrawer + 2021-11-09 21:30:35.718 + 100 + 005b7f8b-9189-417c-92a9-d36ae15ffa8f + + + + + 0 + 79170 + 0 + 72657 + 50570 + 50215 + POS_CashTransferBankAccount_ID + pos.CashTransferBankAccount_ID + 2021-11-09 21:30:35.876 + 100 + Bank Account on which to transfer all Cash transactions + ECA14 + + true + Transfer Cash trx to + 2021-11-09 21:30:35.876 + 100 + 762654ff-2c8b-4e87-81a2-57e9ccedf70e + + + + + 0 + es_MX + 0 + 72657 + 2021-11-09 21:30:36.553 + 100 + Bank Account on which to transfer all Cash transactions + + true + false + Transfer Cash trx to + 2021-11-09 21:30:36.553 + 100 + 007b02b5-ccc9-4b47-b2ae-494eaf4a5c2b + + + + + 0 + 54236 + 0 + 72658 + 50570 + 50215 + POS_C_BankAccount_ID + pos.C_BankAccount_ID + 2021-11-09 21:30:36.668 + 100 + Account at the Bank + ECA14 + The Bank Account identifies an account at this Bank. + true + Bank Account + 2021-11-09 21:30:36.668 + 100 + 5536d535-ee13-4a8d-a65c-ccc1080e0cab + + + + + 0 + es_MX + 0 + 72658 + 2021-11-09 21:30:37.511 + 100 + Account at the Bank + + true + false + Bank Account + 2021-11-09 21:30:37.511 + 100 + 18c4816a-6cd8-44f6-baa7-a3ee554bbbfd + + + + + 0 + 12785 + 0 + 72659 + 50570 + 50215 + POS_C_BPartnerCashTrx_ID + pos.C_BPartnerCashTrx_ID + 2021-11-09 21:30:37.621 + 100 + Business Partner used for creating new Business Partners on the fly + ECA14 + When creating a new Business Partner from the Business Partner Search Field (right-click: Create), the selected business partner is used as a template, e.g. to define price list, payment terms, etc. + true + Template B.Partner + 2021-11-09 21:30:37.621 + 100 + 633dae37-e077-450a-9317-7f36e8554f32 + + + + + 0 + es_MX + 0 + 72659 + 2021-11-09 21:30:38.251 + 100 + Business Partner used for creating new Business Partners on the fly + + true + false + Template B.Partner + 2021-11-09 21:30:38.251 + 100 + 2d0403d6-f195-45dd-bb65-674421fbfe3d + + + + + 0 + 12750 + 0 + 72660 + 50570 + 50215 + POS_C_CashBook_ID + pos.C_CashBook_ID + 2021-11-09 21:30:38.367 + 100 + Cash Book for recording petty cash transactions + ECA14 + The Cash Book identifies a unique cash book. The cash book is used to record cash transactions. + true + Cash Book + 2021-11-09 21:30:38.367 + 100 + 68925230-545a-415b-ac3a-285bd6851088 + + + + + 0 + es_MX + 0 + 72660 + 2021-11-09 21:30:39.058 + 100 + Cash Book for recording petty cash transactions + + true + false + Cash Book + 2021-11-09 21:30:39.058 + 100 + fd95ce2d-287f-4d78-9b1b-f83486f8620d + + + + + 0 + 91124 + 0 + 72661 + 50570 + 50215 + POS_C_ConversionType_ID + pos.C_ConversionType_ID + 2021-11-09 21:30:39.2 + 100 + Currency Conversion Rate Type + ECA14 + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + true + Currency Type + 2021-11-09 21:30:39.2 + 100 + 600ead47-77c0-47b3-a04e-1e90dd8d2c82 + + + + + 0 + es_MX + 0 + 72661 + 2021-11-09 21:30:39.825 + 100 + Currency Conversion Rate Type + + true + false + Currency Type + 2021-11-09 21:30:39.825 + 100 + 9071ad39-5caf-41c9-8208-b009ac790c19 + + + + + 0 + 12795 + 0 + 72662 + 50570 + 50215 + POS_C_DocType_ID + pos.C_DocType_ID + 2021-11-09 21:30:39.952 + 100 + Document type or rules + ECA14 + The Document Type determines document sequence and processing rules + true + Document Type + 2021-11-09 21:30:39.952 + 100 + 2de7d86e-de66-45c1-a6b8-e34564daaea0 + + + + + 0 + es_MX + 0 + 72662 + 2021-11-09 21:30:40.71 + 100 + Document type or rules + + true + false + Document Type + 2021-11-09 21:30:40.71 + 100 + 64922a48-02b5-494c-888e-2d0a41b36c7f + + + + + 0 + 12745 + 0 + 72663 + 50570 + 50215 + POS_C_POS_ID + pos.C_POS_ID + 2021-11-09 21:30:40.857 + 100 + Point of Sales Terminal + ECA14 + The POS Terminal defines the defaults and functions available for the POS Form + true + POS Terminal + 2021-11-09 21:30:40.857 + 100 + ecc696d3-4254-4d62-bb1a-64a96abecbef + + + + + 0 + es_MX + 0 + 72663 + 2021-11-09 21:30:41.401 + 100 + Point of Sales Terminal + + true + false + POS Terminal + 2021-11-09 21:30:41.401 + 100 + 852056b3-9542-46fc-ab2c-fa51326b2371 + + + + + 0 + 12746 + 0 + 72664 + 50570 + 50215 + POS_C_POSKeyLayout_ID + pos.C_POSKeyLayout_ID + 2021-11-09 21:30:41.519 + 100 + POS Function Key Layout + ECA14 + POS Function Key Layout + true + POS Key Layout + 2021-11-09 21:30:41.519 + 100 + d6115ef6-cda1-4711-bb91-ccae05bd6f5f + + + + + 0 + es_MX + 0 + 72664 + 2021-11-09 21:30:42.241 + 100 + POS Function Key Layout + + true + false + POS Key Layout + 2021-11-09 21:30:42.241 + 100 + 425afb58-bf17-4b70-8507-9b2ce8717d38 + + + + + 0 + 12739 + 0 + 72665 + 50570 + 50215 + POS_Created + pos.Created + 2021-11-09 21:30:42.359 + 100 + Date this record was created + ECA14 + The Created field indicates the date that this record was created. + true + Created + 2021-11-09 21:30:42.359 + 100 + d8f9ae5e-fd55-4645-a514-9f77c901c194 + + + + + 0 + es_MX + 0 + 72665 + 2021-11-09 21:30:43.765 + 100 + Date this record was created + + true + false + Created + 2021-11-09 21:30:43.765 + 100 + a1c9076e-3a59-441f-a594-4f6da97e5d66 + + + + + 0 + 12743 + 0 + 72666 + 50570 + 50215 + POS_CreatedBy + pos.CreatedBy + 2021-11-09 21:30:43.935 + 100 + User who created this records + ECA14 + The Created By field indicates the user who created this record. + true + Created By + 2021-11-09 21:30:43.935 + 100 + e5c20471-191a-4136-bd4f-363e68517c65 + + + + + 0 + es_MX + 0 + 72666 + 2021-11-09 21:30:44.535 + 100 + User who created this records + + true + false + Created By + 2021-11-09 21:30:44.535 + 100 + 705eae4e-a012-4091-9e18-d1c9afa0e757 + + + + + 0 + 78422 + 0 + 72667 + 50570 + 50215 + POS_DeliveryRule + pos.DeliveryRule + 2021-11-09 21:30:44.656 + 100 + Defines the timing of Delivery + ECA14 + The Delivery Rule indicates when an order should be delivered. For example should the order be delivered when the entire order is complete, when a line is complete or as the products become available. + true + Delivery Rule + 2021-11-09 21:30:44.656 + 100 + 2f623054-97ab-4643-b756-8d3002728725 + + + + + 0 + es_MX + 0 + 72667 + 2021-11-09 21:30:45.464 + 100 + Defines the timing of Delivery + + true + false + Delivery Rule + 2021-11-09 21:30:45.464 + 100 + 1b933e8a-4203-48fb-8ad9-4f81f329fe36 + + + + + 0 + 12740 + 0 + 72668 + 50570 + 50215 + POS_Description + pos.Description + 2021-11-09 21:30:45.587 + 100 + Optional short description of the record + ECA14 + A description is limited to 255 characters. + true + Description + 2021-11-09 21:30:45.587 + 100 + 4a69b79f-38f2-43c2-b306-f8b8108bb9d3 + + + + + 0 + es_MX + 0 + 72668 + 2021-11-09 21:30:46.227 + 100 + Optional short description of the record + + true + false + Description + 2021-11-09 21:30:46.227 + 100 + c6961382-5ed1-471d-b675-dc68abf3d96d + + + + + 0 + 78423 + 0 + 72669 + 50570 + 50215 + POS_ElectronicScales + pos.ElectronicScales + 2021-11-09 21:30:46.397 + 100 + Allows to define path for Device Electronic Scales e.g. /dev/ttyS0/ + ECA14 + + true + Electronic Scales + 2021-11-09 21:30:46.397 + 100 + ffb07d56-d6bc-414e-862b-69c636565ef8 + + + + + 0 + es_MX + 0 + 72669 + 2021-11-09 21:30:47.024 + 100 + Allows to define path for Device Electronic Scales e.g. /dev/ttyS0/ + + true + false + Electronic Scales + 2021-11-09 21:30:47.024 + 100 + 6fc5ccb0-eb63-45b1-97d9-1a97f6070a35 + + + + + 0 + 12753 + 0 + 72670 + 50570 + 50215 + POS_Help + pos.Help + 2021-11-09 21:30:47.166 + 100 + Comment or Hint + ECA14 + The Help field contains a hint, comment or help about the use of this item. + true + Comment/Help + 2021-11-09 21:30:47.166 + 100 + d711bb31-674c-48de-bb57-a3d145b5ead9 + + + + + 0 + es_MX + 0 + 72670 + 2021-11-09 21:30:47.86 + 100 + Comment or Hint + + true + false + Comment/Help + 2021-11-09 21:30:47.86 + 100 + badaaee4-5a2f-4c7c-aa2a-a9cde40e9cc5 + + + + + 0 + 78421 + 0 + 72671 + 50570 + 50215 + POS_InvoiceRule + pos.InvoiceRule + 2021-11-09 21:30:48.042 + 100 + Frequency and method of invoicing + ECA14 + The Invoice Rule defines how a Business Partner is invoiced and the frequency of invoicing. + true + Invoice Rule + 2021-11-09 21:30:48.042 + 100 + ed992e87-a13b-411d-9587-af930afdb8ac + + + + + 0 + es_MX + 0 + 72671 + 2021-11-09 21:30:48.728 + 100 + Frequency and method of invoicing + + true + false + Invoice Rule + 2021-11-09 21:30:48.728 + 100 + f3a93386-7e9f-4fa1-9d8f-3be0a44a08a8 + + + + + 0 + 12755 + 0 + 72672 + 50570 + 50215 + POS_IsActive + pos.IsActive + 2021-11-09 21:30:48.846 + 100 + The record is active in the system + ECA14 + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + true + Active + 2021-11-09 21:30:48.846 + 100 + 406d2e37-673e-4dcd-bbc7-e39afa1f1789 + + + + + 0 + es_MX + 0 + 72672 + 2021-11-09 21:30:49.476 + 100 + The record is active in the system + + true + false + Active + 2021-11-09 21:30:49.476 + 100 + 8f73ad8e-bb16-4581-87d8-7d1c767a5baa + + + + + 0 + 78393 + 0 + 72673 + 50570 + 50215 + POS_IsEnableProductLookup + pos.IsEnableProductLookup + 2021-11-09 21:30:49.699 + 100 + Allows product lookup in order to show search key , name , quantity available , standard price and list price for selecting a product + ECA14 + + true + Enable POS Product Lookup + 2021-11-09 21:30:49.699 + 100 + 1b20d947-8136-4a35-bce9-31fddcdaed7c + + + + + 0 + es_MX + 0 + 72673 + 2021-11-09 21:30:50.29 + 100 + Allows product lookup in order to show search key , name , quantity available , standard price and list price for selecting a product + + true + false + Enable POS Product Lookup + 2021-11-09 21:30:50.29 + 100 + 2e8d1683-cf00-455a-8e50-a679f3c51650 + + + + + 0 + 12783 + 0 + 72674 + 50570 + 50215 + POS_IsModifyPrice + pos.IsModifyPrice + 2021-11-09 21:30:50.443 + 100 + Allow modifying the price + ECA14 + Allow modifying the price for products with a non zero price + true + Modify Price + 2021-11-09 21:30:50.443 + 100 + aa9d4d25-3731-4141-9a28-4ead7a326f02 + + + + + 0 + es_MX + 0 + 72674 + 2021-11-09 21:30:51.17 + 100 + Allow modifying the price + + true + false + Modify Price + 2021-11-09 21:30:51.17 + 100 + 037833db-fe75-4b88-86ae-d8a1dcb5ebbe + + + + + 0 + 78394 + 0 + 72675 + 50570 + 50215 + POS_IsPOSRequiredPIN + pos.IsPOSRequiredPIN + 2021-11-09 21:30:51.349 + 100 + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + ECA14 + + true + POS Required PIN + 2021-11-09 21:30:51.349 + 100 + 710e75ca-f3d0-4c1a-985c-375e4d8435db + + + + + 0 + es_MX + 0 + 72675 + 2021-11-09 21:30:52.351 + 100 + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + + true + false + POS Required PIN + 2021-11-09 21:30:52.351 + 100 + b4b6fd1b-e7ac-42e7-b0e2-bf82cfc3e538 + + + + + 0 + 78424 + 0 + 72676 + 50570 + 50215 + POS_MeasureRequestCode + pos.MeasureRequestCode + 2021-11-09 21:30:52.517 + 100 + String for taking measurement from Device Electronic Scales + ECA14 + + true + Measure Request Code + 2021-11-09 21:30:52.517 + 100 + 75cb64f2-128d-45e0-9558-5ab2dfe85a3a + + + + + 0 + es_MX + 0 + 72676 + 2021-11-09 21:30:53.283 + 100 + String for taking measurement from Device Electronic Scales + + true + false + Measure Request Code + 2021-11-09 21:30:53.283 + 100 + 8fe7728e-4f46-480e-8071-2da7d431c538 + + + + + 0 + 12754 + 0 + 72677 + 50570 + 50215 + POS_M_PriceList_ID + pos.M_PriceList_ID + 2021-11-09 21:30:53.524 + 100 + Unique identifier of a Price List + ECA14 + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + true + Price List + 2021-11-09 21:30:53.524 + 100 + dd669e7a-2435-4fb6-82d1-6f660a698cbe + + + + + 0 + es_MX + 0 + 72677 + 2021-11-09 21:30:54.517 + 100 + Unique identifier of a Price List + + true + false + Price List + 2021-11-09 21:30:54.517 + 100 + b3b7d8fa-2df6-4bf3-8273-fa4ce778c604 + + + + + 0 + 12752 + 0 + 72678 + 50570 + 50215 + POS_M_Warehouse_ID + pos.M_Warehouse_ID + 2021-11-09 21:30:54.696 + 100 + Storage Warehouse and Service Point + ECA14 + The Warehouse identifies a unique Warehouse where products are stored or Services are provided. + true + Warehouse + 2021-11-09 21:30:54.696 + 100 + fc78eb70-5a2c-4ef4-9ba0-57e31eb99748 + + + + + 0 + es_MX + 0 + 72678 + 2021-11-09 21:30:55.286 + 100 + Storage Warehouse and Service Point + + true + false + Warehouse + 2021-11-09 21:30:55.286 + 100 + 0bef4368-b23c-41f8-b4e5-3aa8fbb11f83 + + + + + 0 + 12749 + 0 + 72679 + 50570 + 50215 + POS_Name + pos.Name + 2021-11-09 21:30:55.453 + 100 + Alphanumeric identifier of the entity + ECA14 + The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length. + true + Name + 2021-11-09 21:30:55.453 + 100 + bb8ede9e-78de-4834-b2d9-be29db43e235 + + + + + 0 + es_MX + 0 + 72679 + 2021-11-09 21:30:56.093 + 100 + Alphanumeric identifier of the entity + + true + false + Name + 2021-11-09 21:30:56.093 + 100 + 9e62087a-87cc-4d29-859e-bdcccd8ce231 + + + + + 0 + 59091 + 0 + 72680 + 50570 + 50215 + POS_OSK_KeyLayout_ID + pos.OSK_KeyLayout_ID + 2021-11-09 21:30:56.219 + 100 + The key layout to use for on screen keyboard for text fields. + ECA14 + If empty, the on screen keyboard will not be used. + true + On Screen Keyboard layout + 2021-11-09 21:30:56.219 + 100 + e5431eae-984b-463e-a8fa-d6438e2a2e6e + + + + + 0 + es_MX + 0 + 72680 + 2021-11-09 21:30:57.522 + 100 + The key layout to use for on screen keyboard for text fields. + + true + false + On Screen Keyboard layout + 2021-11-09 21:30:57.522 + 100 + e24d786f-6184-43e3-8f83-dcaeba5d7e7d + + + + + 0 + 59092 + 0 + 72681 + 50570 + 50215 + POS_OSNP_KeyLayout_ID + pos.OSNP_KeyLayout_ID + 2021-11-09 21:30:57.724 + 100 + The key layout to use for on screen number pad for numeric fields. + ECA14 + If empty, the on screen numberpad will not be used. + true + On Screen Number Pad layout + 2021-11-09 21:30:57.724 + 100 + 6d98af6e-6d50-4176-adcf-03ec671a8308 + + + + + 0 + es_MX + 0 + 72681 + 2021-11-09 21:30:58.554 + 100 + The key layout to use for on screen number pad for numeric fields. + + true + false + On Screen Number Pad layout + 2021-11-09 21:30:58.554 + 100 + 411433f3-e3b3-4576-9529-be8b30740fcc + + + + + 0 + 79171 + 0 + 72682 + 50570 + 50215 + POS_PINEntryTimeout + pos.PINEntryTimeout + 2021-11-09 21:30:58.683 + 100 + PIN Entry Timeout - the amount of time from initial display until the PIN entry dialog times out, in milliseconds. + ECA14 + + true + PIN Entry Timeout + 2021-11-09 21:30:58.683 + 100 + 03937141-d385-472d-90d2-f46e95a7ba6d + + + + + 0 + es_MX + 0 + 72682 + 2021-11-09 21:30:59.467 + 100 + PIN Entry Timeout - the amount of time from initial display until the PIN entry dialog times out, in milliseconds. + + true + false + PIN Entry Timeout + 2021-11-09 21:30:59.467 + 100 + 465afa5e-6b33-4a79-aaf4-2f807c0cd0a6 + + + + + 0 + 12751 + 0 + 72683 + 50570 + 50215 + POS_PrinterName + pos.PrinterName + 2021-11-09 21:30:59.662 + 100 + Name of the Printer + ECA14 + Internal (Operating System) Name of the Printer; Please mote that the printer name may be different on different clients. Enter a printer name, which applies to ALL clients (e.g. printer on a server). <p> +If none is entered, the default printer is used. You specify your default printer when you log in. You can also change the default printer in Preferences. + true + Printer Name + 2021-11-09 21:30:59.662 + 100 + fa182313-7ccd-4229-9796-5a1f0f93b809 + + + + + 0 + es_MX + 0 + 72683 + 2021-11-09 21:31:00.652 + 100 + Name of the Printer + + true + false + Printer Name + 2021-11-09 21:31:00.652 + 100 + 6641d5c3-0885-44a1-ae81-dd8f9a448404 + + + + + 0 + 12748 + 0 + 72684 + 50570 + 50215 + POS_SalesRep_ID + pos.SalesRep_ID + 2021-11-09 21:31:00.842 + 100 + Sales Representative or Company Agent + ECA14 + The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid internal user. + true + Sales Representative + 2021-11-09 21:31:00.842 + 100 + ce320ae8-dc38-4e1b-9de1-4ea1a649f4bd + + + + + 0 + es_MX + 0 + 72684 + 2021-11-09 21:31:01.605 + 100 + Sales Representative or Company Agent + + true + false + Sales Representative + 2021-11-09 21:31:01.605 + 100 + 77a940e3-0bfd-46c5-9cc8-135e9e3fc06f + + + + + 0 + 81495 + 0 + 72685 + 50570 + 50215 + POS_TicketClassName + pos.TicketClassName + 2021-11-09 21:31:01.768 + 100 + Java Classname for Ticket Handler + ECA14 + The Classname identifies the Java classname used by this report or process. + true + Ticket Handler Class Name + 2021-11-09 21:31:01.768 + 100 + 030f2087-83d5-47f6-a9b8-cfd756d46016 + + + + + 0 + es_MX + 0 + 72685 + 2021-11-09 21:31:02.558 + 100 + Java Classname for Ticket Handler + + true + false + Ticket Handler Class Name + 2021-11-09 21:31:02.558 + 100 + 46cc39d5-5ceb-4e2c-8701-fa61ce68e547 + + + + + 0 + 12744 + 0 + 72686 + 50570 + 50215 + POS_Updated + pos.Updated + 2021-11-09 21:31:02.681 + 100 + Date this record was updated + ECA14 + The Updated field indicates the date that this record was updated. + true + Updated + 2021-11-09 21:31:02.681 + 100 + f7c40858-b038-4c49-866e-815b18cadc3e + + + + + 0 + es_MX + 0 + 72686 + 2021-11-09 21:31:03.454 + 100 + Date this record was updated + + true + false + Updated + 2021-11-09 21:31:03.454 + 100 + d5b957b1-700c-4603-91b2-d0e1d7de73bb + + + + + 0 + 12741 + 0 + 72687 + 50570 + 50215 + POS_UpdatedBy + pos.UpdatedBy + 2021-11-09 21:31:03.598 + 100 + User who updated this records + ECA14 + The Updated By field indicates the user who updated this record. + true + Updated By + 2021-11-09 21:31:03.598 + 100 + 29f06219-25c8-4543-a894-8556faae656c + + + + + 0 + es_MX + 0 + 72687 + 2021-11-09 21:31:04.314 + 100 + User who updated this records + + true + false + Updated By + 2021-11-09 21:31:04.314 + 100 + 6b6d09fd-d11a-43ba-849a-994a61c70d3f + + + + + 0 + 84688 + 0 + 72688 + 50570 + 50215 + POS_UUID + pos.UUID + 2021-11-09 21:31:04.429 + 100 + Immutable Universally Unique Identifier + ECA14 + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + true + Immutable Universally Unique Identifier + 2021-11-09 21:31:04.429 + 100 + 2b585753-2f6f-46e0-b5d7-2b073b6f72fd + + + + + 0 + es_MX + 0 + 72688 + 2021-11-09 21:31:05.131 + 100 + Immutable Universally Unique Identifier + + true + false + Immutable Universally Unique Identifier + 2021-11-09 21:31:05.131 + 100 + 4bb8f592-ab2f-4213-a1a1-1a8055ab5674 + + + + + p.IsPaymentVerificationRequired = 'Y' +AND p.IsPaymentVerified = 'N' +AND p.Processed = 'N' + POSVerifyPayments + 816da722-5944-401e-89c9-e9b85fd8d17f + 100 + 2021-11-09 21:37:26.914 + false + Verify Payments to Approve + false + true + true + true + false + true + false + true + You can mark it as verified and change description + ECA14 + Verify all payments that is not verified + 100 + 2021-11-09 21:37:26.914 + N + 53552 + 50215 + + + 0 + 0 + 50263 + 3 + + + + + c7607151-a71a-4576-864a-1bf3f1d3661d + 100 + 2021-11-09 21:37:27.854 + Verify Payments to Approve + false + true + You can mark it as verified and change description + Verify all payments that is not verified + 100 + 2021-11-09 21:37:27.854 + 0 + es_MX + 0 + 50263 + + + + + Aprobar Pagos por Verificar + Puede marcar uno o muchos pagos y agregar alguna descripción + Verifica todos los pagos que se encuentran por verificar y los marca como verificados + es_MX + 50263 + + + + + + + + fa831b39-5c18-42f2-8cb5-6a07f307466e + 100 + 2021-11-09 21:38:21.885 + + 0 + 10 + + Account Country + true + false + false + false + false + false + false + false + false + true + true + + Account Country Name + 40 + ECA14 + + Country + + + 100 + 2021-11-09 21:38:21.885 + + + + 72626 + + + 10 + 0 + 1988 + 0 + 50263 + 72773 + + + + + ca8b72e4-51a2-4188-8c16-6adc9d78d7aa + 100 + 2021-11-09 21:38:22.865 + Account Country + false + true + Account Country Name + Country + 100 + 2021-11-09 21:38:22.865 + 0 + es_MX + 0 + 72773 + + + + + + + + c46cf2e9-2c7d-47fc-a745-40be5840a558 + 100 + 2021-11-09 21:38:23.11 + + 0 + 11 + + Reversal ID + true + false + false + false + false + false + false + false + false + true + true + + + 10 + ECA14 + + ID of document reversal + + + 100 + 2021-11-09 21:38:23.109 + + + + 72628 + + 343 + 18 + 0 + 53457 + 0 + 50263 + 72774 + + + + + fda5a78b-2bdf-4bc6-95b3-e74b90bfd592 + 100 + 2021-11-09 21:38:24.555 + Reversal ID + false + true + + ID of document reversal + 100 + 2021-11-09 21:38:24.555 + 0 + es_MX + 0 + 72774 + + + + + + + + c87400eb-0fd0-4690-aea2-bce55692ebde + 100 + 2021-11-09 21:38:24.692 + + 0 + 12 + + Response Message + true + false + false + false + false + false + false + false + false + true + true + + The Response Message indicates the message returned from the Credit Card Company as the result of a transmission + 60 + ECA14 + + Response message + + + 100 + 2021-11-09 21:38:24.692 + + + + 72557 + + + 10 + 0 + 1427 + 0 + 50263 + 72775 + + + + + 6b7c824e-fc7a-4a1c-90c4-eb3edcb3832f + 100 + 2021-11-09 21:38:26.059 + Response Message + false + true + The Response Message indicates the message returned from the Credit Card Company as the result of a transmission + Response message + 100 + 2021-11-09 21:38:26.059 + 0 + es_MX + 0 + 72775 + + + + + + + + 2fa1febb-e6e4-41b1-8cec-c81379bb06d9 + 100 + 2021-11-09 21:38:26.183 + + 0 + 13 + + Invoice + true + false + false + false + false + false + false + false + false + true + true + + The Invoice Document. + 10 + ECA14 + + Invoice Identifier + + + 100 + 2021-11-09 21:38:26.183 + + + + 72558 + + + 30 + 0 + 1008 + 0 + 50263 + 72776 + + + + + c18a0ebb-5191-46a6-8d6a-d0c53142ea37 + 100 + 2021-11-09 21:38:27.26 + Invoice + false + true + The Invoice Document. + Invoice Identifier + 100 + 2021-11-09 21:38:27.26 + 0 + es_MX + 0 + 72776 + + + + + + + + 9d06ca61-beec-413f-8d8e-f4c2f40a9343 + 100 + 2021-11-09 21:38:27.375 + + 0 + 14 + + Order + true + false + false + false + false + false + false + false + false + true + true + + The Order is a control document. The Order is complete when the quantity ordered is the same as the quantity shipped and invoiced. When you close an order, unshipped (backordered) quantities are cancelled. + 10 + ECA14 + + Order + + + 100 + 2021-11-09 21:38:27.375 + + + + 72559 + + + 30 + 0 + 558 + 0 + 50263 + 72777 + + + + + 65c2d37a-0fd4-42cd-99d0-612ec428a694 + 100 + 2021-11-09 21:38:28.477 + Order + false + true + The Order is a control document. The Order is complete when the quantity ordered is the same as the quantity shipped and invoiced. When you close an order, unshipped (backordered) quantities are cancelled. + Order + 100 + 2021-11-09 21:38:28.477 + 0 + es_MX + 0 + 72777 + + + + + + + + 4b5ef1ba-0e63-4e59-9d69-4bab6a9f7ba1 + 100 + 2021-11-09 21:38:28.597 + + 0 + 15 + + POS Terminal + true + false + false + false + false + false + false + false + false + true + true + + The POS Terminal defines the defaults and functions available for the POS Form + 10 + ECA14 + + Point of Sales Terminal + + + 100 + 2021-11-09 21:38:28.597 + + + + 72560 + + + 19 + 0 + 2581 + 0 + 50263 + 72778 + + + + + 4732a735-b21d-49cd-9d4e-5e8502a7d0b7 + 100 + 2021-11-09 21:38:29.7 + POS Terminal + false + true + The POS Terminal defines the defaults and functions available for the POS Form + Point of Sales Terminal + 100 + 2021-11-09 21:38:29.7 + 0 + es_MX + 0 + 72778 + + + + + + + + bc41183c-9064-4e23-8cb1-f69f093ab26f + 100 + 2021-11-09 21:38:29.837 + + 0 + 16 + + Account Date + true + false + false + false + false + false + false + false + false + true + true + + The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion. + 0 + ECA14 + + Accounting Date + + + 100 + 2021-11-09 21:38:29.837 + + + + 72561 + + + 15 + 0 + 263 + 0 + 50263 + 72779 + + + + + a7f50012-6c86-485f-b52b-104ed49156a1 + 100 + 2021-11-09 21:38:31.162 + Account Date + false + true + The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion. + Accounting Date + 100 + 2021-11-09 21:38:31.162 + 0 + es_MX + 0 + 72779 + + + + + + + + 788d934a-54b5-4d10-8c8e-6b4a82030795 + 100 + 2021-11-09 21:38:31.28 + + 0 + 17 + + Bank Account + true + false + false + false + false + false + false + false + false + true + true + + The Bank Account identifies an account at this Bank. + 10 + ECA14 + + Account at the Bank + + + 100 + 2021-11-09 21:38:31.28 + + + + 72562 + + + 19 + 0 + 836 + 0 + 50263 + 72780 + + + + + 343138d1-3642-4b1f-972f-056441d02292 + 100 + 2021-11-09 21:38:32.525 + Bank Account + false + true + The Bank Account identifies an account at this Bank. + Account at the Bank + 100 + 2021-11-09 21:38:32.525 + 0 + es_MX + 0 + 72780 + + + + + + + + 2b04da27-b2db-4397-8388-fce41d4dadb0 + 100 + 2021-11-09 21:38:32.804 + + 0 + 18 + + Reconciled + true + false + false + false + false + false + false + false + false + true + true + + + 1 + ECA14 + + Payment is reconciled with bank statement + + + 100 + 2021-11-09 21:38:32.804 + + + + 72563 + + + 20 + 0 + 1105 + 0 + 50263 + 72781 + + + + + 3d4365e9-b0bd-4f1c-bc60-a9800a42e620 + 100 + 2021-11-09 21:38:33.873 + Reconciled + false + true + + Payment is reconciled with bank statement + 100 + 2021-11-09 21:38:33.873 + 0 + es_MX + 0 + 72781 + + + + + + + + b1df2e36-e400-445b-acb3-519e78d9943e + 100 + 2021-11-09 21:38:34.0 + + 0 + 19 + + Receipt + true + false + false + false + false + false + false + false + false + true + true + + + 1 + ECA14 + + This is a sales transaction (receipt) + + + 100 + 2021-11-09 21:38:34.0 + + + + 72564 + + + 20 + 0 + 1634 + 0 + 50263 + 72782 + + + + + 2c3e419a-b6bc-474f-82dc-7e709d4c266b + 100 + 2021-11-09 21:38:34.804 + Receipt + false + true + + This is a sales transaction (receipt) + 100 + 2021-11-09 21:38:34.804 + 0 + es_MX + 0 + 72782 + + + + + + + + a4fe8c51-5556-4420-a3b5-616cbc776637 + 100 + 2021-11-09 21:38:35.003 + + 0 + 20 + + Allocated + true + false + false + false + false + false + false + false + false + true + true + + The Allocated checkbox indicates if a payment has been allocated or associated with an invoice or invoices. + 1 + ECA14 + + Indicates if the payment has been allocated + + + 100 + 2021-11-09 21:38:35.003 + + + + 72565 + + + 20 + 0 + 1508 + 0 + 50263 + 72783 + + + + + 57e1147c-ca55-47e7-ae71-f06a160d2e6c + 100 + 2021-11-09 21:38:36.439 + Allocated + false + true + The Allocated checkbox indicates if a payment has been allocated or associated with an invoice or invoices. + Indicates if the payment has been allocated + 100 + 2021-11-09 21:38:36.439 + 0 + es_MX + 0 + 72783 + + + + + + + + 96a28ab7-5e77-4f4e-ae81-8316403b665f + 100 + 2021-11-09 21:38:36.654 + + 0 + 21 + + Posted + true + false + false + false + false + false + false + false + false + true + true + + The Posted field indicates the status of the Generation of General Ledger Accounting Lines + 1 + ECA14 + + Posting status + + + 100 + 2021-11-09 21:38:36.654 + + + + 72566 + + 234 + 28 + 0 + 1308 + 0 + 50263 + 72784 + + + + + 22fbdcd1-ce8c-43b2-942e-494b0072ab3f + 100 + 2021-11-09 21:38:37.668 + Posted + false + true + The Posted field indicates the status of the Generation of General Ledger Accounting Lines + Posting status + 100 + 2021-11-09 21:38:37.668 + 0 + es_MX + 0 + 72784 + + + + + + + + a9e3dc6f-690d-4e37-954b-0e5107f14730 + 100 + 2021-11-09 21:38:37.794 + + 0 + 22 + + Approved + true + false + false + false + false + false + false + false + false + true + true + + The Approved checkbox indicates if this document requires approval before it can be processed. + 1 + ECA14 + + Indicates if this document requires approval + + + 100 + 2021-11-09 21:38:37.794 + + + + 72567 + + + 20 + 0 + 351 + 0 + 50263 + 72785 + + + + + 3fbe964e-3cf2-4dfb-8808-17b3df47799d + 100 + 2021-11-09 21:38:38.831 + Approved + false + true + The Approved checkbox indicates if this document requires approval before it can be processed. + Indicates if this document requires approval + 100 + 2021-11-09 21:38:38.831 + 0 + es_MX + 0 + 72785 + + + + + + + + 0d3c7f86-9f3a-4843-ae4f-b9c823dee93a + 100 + 2021-11-09 21:38:38.973 + + 0 + 23 + + Payment Related + true + false + false + false + false + false + false + false + false + true + true + + + 10 + ECA14 + + + + + 100 + 2021-11-09 21:38:38.973 + + + + 72568 + + 343 + 18 + 0 + 59816 + 0 + 50263 + 72786 + + + + + f8f08775-1259-46cf-9767-5a1918eb5cdf + 100 + 2021-11-09 21:38:40.016 + Payment Related + false + true + + + 100 + 2021-11-09 21:38:40.016 + 0 + es_MX + 0 + 72786 + + + + + + + + 93a2d740-9a73-4f5d-998e-e5aba4a38f82 + 100 + 2021-11-09 21:38:40.141 + + 0 + 24 + + Created + true + false + false + false + false + false + false + false + false + true + true + + The Created field indicates the date that this record was created. + 7 + ECA14 + + Date this record was created + + + 100 + 2021-11-09 21:38:40.141 + + + + 72569 + + + 16 + 0 + 245 + 0 + 50263 + 72787 + + + + + d7b6a78d-c70a-4793-859b-ce70425243b5 + 100 + 2021-11-09 21:38:40.955 + Created + false + true + The Created field indicates the date that this record was created. + Date this record was created + 100 + 2021-11-09 21:38:40.955 + 0 + es_MX + 0 + 72787 + + + + + + + + 70425321-b7d9-446a-878f-0c52d552acb4 + 100 + 2021-11-09 21:38:41.089 + + 0 + 25 + + Document Action + true + false + false + false + false + false + false + false + false + true + true + + You find the current status in the Document Status field. The options are listed in a popup + 2 + ECA14 + + The targeted status of the document + + + 100 + 2021-11-09 21:38:41.089 + + + + 72570 + + 135 + 28 + 0 + 287 + 0 + 50263 + 72788 + + + + + 831d7624-125a-4aa4-bb62-fb748565c4c1 + 100 + 2021-11-09 21:38:42.101 + Document Action + false + true + You find the current status in the Document Status field. The options are listed in a popup + The targeted status of the document + 100 + 2021-11-09 21:38:42.101 + 0 + es_MX + 0 + 72788 + + + + + + + + 72dcf3fe-a154-485c-a772-b6993ffe65c2 + 100 + 2021-11-09 21:38:42.226 + + 0 + 26 + + Business Partner + true + false + false + false + false + false + false + false + false + true + true + + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + 10 + ECA14 + + Identifies a Business Partner + + + 100 + 2021-11-09 21:38:42.226 + + + + 72571 + + + 30 + 0 + 187 + 0 + 50263 + 72789 + + + + + ad918e61-5761-47bc-adf6-dcba1ccb20d6 + 100 + 2021-11-09 21:38:43.355 + Business Partner + false + true + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + Identifies a Business Partner + 100 + 2021-11-09 21:38:43.355 + 0 + es_MX + 0 + 72789 + + + + + + + + 29bd8ca6-242e-4ff9-814f-10f140ec7bbf + 100 + 2021-11-09 21:38:43.494 + + 0 + 27 + + Charge + true + false + false + false + false + false + false + false + false + true + true + + The Charge indicates a type of Charge (Handling, Shipping, Restocking) + 10 + ECA14 + + Additional document charges + + + 100 + 2021-11-09 21:38:43.494 + + + + 72572 + + + 19 + 0 + 968 + 0 + 50263 + 72790 + + + + + 52202006-65fc-4a37-822e-3e3e339f7676 + 100 + 2021-11-09 21:38:44.53 + Charge + false + true + The Charge indicates a type of Charge (Handling, Shipping, Restocking) + Additional document charges + 100 + 2021-11-09 21:38:44.53 + 0 + es_MX + 0 + 72790 + + + + + + + + 540d50bf-9d1f-48b4-878f-041fb2e9accb + 100 + 2021-11-09 21:38:44.662 + + 0 + 28 + + Process Now + true + false + false + false + false + false + false + false + false + true + true + + + 1 + ECA14 + + + + + 100 + 2021-11-09 21:38:44.662 + + + + 72573 + + + 28 + 0 + 524 + 0 + 50263 + 72791 + + + + + 2fde339c-2f17-49f8-855a-8e5d7abae75f + 100 + 2021-11-09 21:38:45.676 + Process Now + false + true + + + 100 + 2021-11-09 21:38:45.676 + 0 + es_MX + 0 + 72791 + + + + + + + + 2aba8465-5cfd-4248-bcb3-aee83f745a81 + 100 + 2021-11-09 21:38:45.931 + + 0 + 29 + + Processed + true + false + false + false + false + false + false + false + false + true + true + + The Processed checkbox indicates that a document has been processed. + 1 + ECA14 + + The document has been processed + + + 100 + 2021-11-09 21:38:45.931 + + + + 72574 + + + 20 + 0 + 1047 + 0 + 50263 + 72792 + + + + + 05036354-f226-42e2-97f9-2d61b74aeae1 + 100 + 2021-11-09 21:38:46.794 + Processed + false + true + The Processed checkbox indicates that a document has been processed. + The document has been processed + 100 + 2021-11-09 21:38:46.794 + 0 + es_MX + 0 + 72792 + + + + + + + + ac473792-a16d-4b33-8eac-9a1d1631ec16 + 100 + 2021-11-09 21:38:47.012 + + 0 + 30 + + Document No + true + false + false + false + false + false + false + true + false + true + true + + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + 30 + ECA14 + + Document sequence number of the document + + + 100 + 2021-11-09 21:38:47.012 + + + + 72575 + + + 10 + 0 + 290 + 0 + 50263 + 72793 + + + + + 7b2f78c0-e298-4723-8056-38807b20c6f1 + 100 + 2021-11-09 21:38:48.265 + Document No + false + true + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + Document sequence number of the document + 100 + 2021-11-09 21:38:48.265 + 0 + es_MX + 0 + 72793 + + + + + + + + 612daeed-373d-480b-baf4-2fff81038fca + 100 + 2021-11-09 21:38:48.42 + + 0 + 31 + + Active + true + false + false + false + false + false + false + false + false + true + true + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + 1 + ECA14 + + The record is active in the system + + + 100 + 2021-11-09 21:38:48.42 + + + + 72576 + + + 20 + 0 + 348 + 0 + 50263 + 72794 + + + + + 00fa33e0-e77f-45d6-9ae8-4cb26b6d12ac + 100 + 2021-11-09 21:38:49.969 + Active + false + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + The record is active in the system + 100 + 2021-11-09 21:38:49.969 + 0 + es_MX + 0 + 72794 + + + + + + + + 415c997f-57a5-4f85-92ff-7d794269485f + 100 + 2021-11-09 21:38:50.143 + + 0 + 32 + + Document Status + true + false + false + false + false + false + false + false + false + true + true + + The Document Status indicates the status of a document at this time. If you want to change the document status, use the Document Action field + 2 + ECA14 + + The current status of the document + + + 100 + 2021-11-09 21:38:50.143 + + + + 72577 + + 131 + 17 + 0 + 289 + 0 + 50263 + 72795 + + + + + bb02bffb-d23b-4464-a259-e3be0166760e + 100 + 2021-11-09 21:38:51.567 + Document Status + false + true + The Document Status indicates the status of a document at this time. If you want to change the document status, use the Document Action field + The current status of the document + 100 + 2021-11-09 21:38:51.567 + 0 + es_MX + 0 + 72795 + + + + + + + + 6193ae2a-f6a9-4d0c-94cc-dad9d8db1fdb + 100 + 2021-11-09 21:38:51.821 + + 0 + 33 + + Updated + true + false + false + false + false + false + false + false + false + true + true + + The Updated field indicates the date that this record was updated. + 7 + ECA14 + + Date this record was updated + + + 100 + 2021-11-09 21:38:51.821 + + + + 72578 + + + 16 + 0 + 607 + 0 + 50263 + 72796 + + + + + f9c0140c-398c-49a2-8c21-cd6d720c7bbf + 100 + 2021-11-09 21:38:52.891 + Updated + false + true + The Updated field indicates the date that this record was updated. + Date this record was updated + 100 + 2021-11-09 21:38:52.891 + 0 + es_MX + 0 + 72796 + + + + + + + + 7b80bdc4-602f-47c1-ab44-b0e4eb7c66b8 + 100 + 2021-11-09 21:38:53.048 + + 0 + 34 + + Transaction Date + true + false + false + false + false + false + false + true + false + true + true + + The Transaction Date indicates the date of the transaction. + 0 + ECA14 + + Transaction Date + + + 100 + 2021-11-09 21:38:53.048 + + + + 72579 + + + 15 + 0 + 1297 + 0 + 50263 + 72797 + + + + + 809aad19-e005-4627-a860-4a6846b494ea + 100 + 2021-11-09 21:38:53.955 + Transaction Date + false + true + The Transaction Date indicates the date of the transaction. + Transaction Date + 100 + 2021-11-09 21:38:53.955 + 0 + es_MX + 0 + 72797 + + + + + + + + 7a14d354-3b41-4904-aad1-9a918df1ca33 + 100 + 2021-11-09 21:38:54.127 + + 0 + 35 + + Prepayment + true + false + false + false + false + false + false + false + false + true + true + + Payments not allocated to an invoice with a charge are posted to Unallocated Payments. When setting this flag, the payment is posted to the Customer or Vendor Prepayment account. + 1 + ECA14 + + The Payment/Receipt is a Prepayment + + + 100 + 2021-11-09 21:38:54.127 + + + + 72580 + + + 20 + 0 + 2663 + 0 + 50263 + 72798 + + + + + 7dba4773-4594-4809-beed-18f451cf2bd1 + 100 + 2021-11-09 21:38:54.85 + Prepayment + false + true + Payments not allocated to an invoice with a charge are posted to Unallocated Payments. When setting this flag, the payment is posted to the Customer or Vendor Prepayment account. + The Payment/Receipt is a Prepayment + 100 + 2021-11-09 21:38:54.85 + 0 + es_MX + 0 + 72798 + + + + + + + + 99d05697-ec7a-4a9a-ae66-e27d7db9e69b + 100 + 2021-11-09 21:38:55.045 + + 0 + 36 + + Verification Code + true + false + false + false + false + false + false + false + false + true + true + + The Credit Card Verification indicates the verification code on the credit card (AMEX 4 digits on front; MC,Visa 3 digits back) + 4 + ECA14 + + Credit Card Verification code on credit card + + + 100 + 2021-11-09 21:38:55.045 + + + + 72581 + + + 10 + 0 + 1393 + 0 + 50263 + 72799 + + + + + a164be1c-f0aa-4226-a6cc-165d71c57079 + 100 + 2021-11-09 21:38:55.785 + Verification Code + false + true + The Credit Card Verification indicates the verification code on the credit card (AMEX 4 digits on front; MC,Visa 3 digits back) + Credit Card Verification code on credit card + 100 + 2021-11-09 21:38:55.785 + 0 + es_MX + 0 + 72799 + + + + + + + + 5bf8f03b-562e-40b1-b9b4-b1a1deb8b8cd + 100 + 2021-11-09 21:38:55.938 + + 0 + 37 + + Cash Book + true + false + false + false + false + false + false + false + false + true + true + + The Cash Book identifies a unique cash book. The cash book is used to record cash transactions. + 10 + ECA14 + + Cash Book for recording petty cash transactions + + + 100 + 2021-11-09 21:38:55.938 + + + + 72583 + + + 19 + 0 + 1463 + 0 + 50263 + 72800 + + + + + bf57acd2-82d3-4e24-8c10-398005c7e079 + 100 + 2021-11-09 21:38:57.565 + Cash Book + false + true + The Cash Book identifies a unique cash book. The cash book is used to record cash transactions. + Cash Book for recording petty cash transactions + 100 + 2021-11-09 21:38:57.565 + 0 + es_MX + 0 + 72800 + + + + + + + + 8aa014eb-e8ca-4916-9efe-30587053575e + 100 + 2021-11-09 21:38:57.701 + + 0 + 38 + + Self-Service + true + false + false + false + false + false + false + false + false + true + true + + Self-Service allows users to enter data or update their data. The flag indicates, that this record was entered or created via Self-Service or that the user can change it via the Self-Service functionality. + 1 + ECA14 + + This is a Self-Service entry or this entry can be changed via Self-Service + + + 100 + 2021-11-09 21:38:57.701 + + + + 72582 + + + 20 + 0 + 2063 + 0 + 50263 + 72801 + + + + + 5f72cde3-6dc7-499d-93e7-36ae808a6217 + 100 + 2021-11-09 21:38:58.606 + Self-Service + false + true + Self-Service allows users to enter data or update their data. The flag indicates, that this record was entered or created via Self-Service or that the user can change it via the Self-Service functionality. + This is a Self-Service entry or this entry can be changed via Self-Service + 100 + 2021-11-09 21:38:58.606 + 0 + es_MX + 0 + 72801 + + + + + + + + f5acffeb-87e9-49fe-a0cd-18f44c0d1ee5 + 100 + 2021-11-09 21:38:58.795 + + 0 + 39 + + Reference + true + false + false + false + false + false + false + false + false + true + true + + The Payment Reference indicates the reference returned from the Credit Card Company for a payment + 20 + ECA14 + + Payment reference + + + 100 + 2021-11-09 21:38:58.794 + + + + 72591 + + + 10 + 0 + 1426 + 0 + 50263 + 72802 + + + + + 1c33e2ca-77ef-4576-b81e-e2508b5730a0 + 100 + 2021-11-09 21:38:59.899 + Reference + false + true + The Payment Reference indicates the reference returned from the Credit Card Company for a payment + Payment reference + 100 + 2021-11-09 21:38:59.899 + 0 + es_MX + 0 + 72802 + + + + + + + + ca0c880a-d9d5-44d8-a666-2c6329aca117 + 100 + 2021-11-09 21:39:00.048 + + 0 + 40 + + Credit Card + true + false + false + false + false + false + false + false + false + true + true + + The Credit Card drop down list box is used for selecting the type of Credit Card presented for payment. + 1 + ECA14 + + Credit Card (Visa, MC, AmEx) + + + 100 + 2021-11-09 21:39:00.048 + + + + 72592 + + 149 + 17 + 0 + 1012 + 0 + 50263 + 72803 + + + + + ee820d02-489f-4216-a6c2-cf2241d9c884 + 100 + 2021-11-09 21:39:01.336 + Credit Card + false + true + The Credit Card drop down list box is used for selecting the type of Credit Card presented for payment. + Credit Card (Visa, MC, AmEx) + 100 + 2021-11-09 21:39:01.336 + 0 + es_MX + 0 + 72803 + + + + + + + + c5a03a13-1c15-4b72-bf2b-7df92073ceea + 100 + 2021-11-09 21:39:01.512 + + 0 + 41 + + Address verified + true + false + false + false + false + false + false + false + false + true + true + + The Address Verified indicates if the address has been verified by the Credit Card Company. + 1 + ECA14 + + This address has been verified + + + 100 + 2021-11-09 21:39:01.512 + + + + 72594 + + 213 + 17 + 0 + 1423 + 0 + 50263 + 72804 + + + + + 768922fa-588f-4430-9531-52b49374e339 + 100 + 2021-11-09 21:39:02.511 + Address verified + false + true + The Address Verified indicates if the address has been verified by the Credit Card Company. + This address has been verified + 100 + 2021-11-09 21:39:02.511 + 0 + es_MX + 0 + 72804 + + + + + + + + e0d795bf-d9a4-4772-af35-aec5238c5aa9 + 100 + 2021-11-09 21:39:02.655 + + 0 + 42 + + Payment amount + true + false + false + false + false + false + false + true + false + true + true + + Indicates the amount this payment is for. The payment amount can be for single or multiple invoices or a partial payment for an invoice. + 22 + ECA14 + + Amount being paid + + + 100 + 2021-11-09 21:39:02.655 + + + + 72595 + + + 12 + 0 + 1477 + 0 + 50263 + 72805 + + + + + 5bfc17c5-b57c-40a9-8b96-bcf4830c49f5 + 100 + 2021-11-09 21:39:03.625 + Payment amount + false + true + Indicates the amount this payment is for. The payment amount can be for single or multiple invoices or a partial payment for an invoice. + Amount being paid + 100 + 2021-11-09 21:39:03.625 + 0 + es_MX + 0 + 72805 + + + + + + + + 0bd72990-3091-4040-b9db-368a193aa38c + 100 + 2021-11-09 21:39:03.761 + + 0 + 43 + + Check No + true + false + false + false + false + false + false + false + false + true + true + + The Check Number indicates the number on the check. + 20 + ECA14 + + Check Number + + + 100 + 2021-11-09 21:39:03.761 + + + + 72598 + + + 10 + 0 + 1389 + 0 + 50263 + 72806 + + + + + 7c7c663e-a8ee-4262-a6d2-58b319f6af8d + 100 + 2021-11-09 21:39:04.964 + Check No + false + true + The Check Number indicates the number on the check. + Check Number + 100 + 2021-11-09 21:39:04.964 + 0 + es_MX + 0 + 72806 + + + + + + + + fc924ea3-020d-45f4-b447-0d0444a9ad53 + 100 + 2021-11-09 21:39:05.116 + + 0 + 44 + + PO Number + true + false + false + false + false + false + false + false + false + true + true + + The PO Number indicates the number assigned to a purchase order + 60 + ECA14 + + Purchase Order Number + + + 100 + 2021-11-09 21:39:05.115 + + + + 72600 + + + 10 + 0 + 1415 + 0 + 50263 + 72807 + + + + + c9b55b9c-b7f7-4de3-8889-b8cefba2ad58 + 100 + 2021-11-09 21:39:06.09 + PO Number + false + true + The PO Number indicates the number assigned to a purchase order + Purchase Order Number + 100 + 2021-11-09 21:39:06.09 + 0 + es_MX + 0 + 72807 + + + + + + + + b2394d14-3b53-4cf3-a1d4-d7da80591304 + 100 + 2021-11-09 21:39:06.232 + + 0 + 45 + + Tax Amount + true + false + false + false + false + false + false + false + false + true + true + + The Tax Amount displays the total tax amount for a document. + 22 + ECA14 + + Tax Amount for a document + + + 100 + 2021-11-09 21:39:06.232 + + + + 72601 + + + 12 + 0 + 1133 + 0 + 50263 + 72808 + + + + + 5b69d7fb-e0ec-4ca7-a289-aa0f69f1fcb0 + 100 + 2021-11-09 21:39:07.037 + Tax Amount + false + true + The Tax Amount displays the total tax amount for a document. + Tax Amount for a document + 100 + 2021-11-09 21:39:07.037 + 0 + es_MX + 0 + 72808 + + + + + + + + 713148db-1935-4d2e-905b-254a8148302c + 100 + 2021-11-09 21:39:07.188 + + 0 + 46 + + Driver License + true + false + false + false + false + false + false + false + false + true + true + + The Driver's License being used as identification. + 20 + ECA14 + + Payment Identification - Driver License + + + 100 + 2021-11-09 21:39:07.188 + + + + 72602 + + + 10 + 0 + 1352 + 0 + 50263 + 72809 + + + + + dc715fca-0151-4171-aa9a-b5167b087d7e + 100 + 2021-11-09 21:39:08.05 + Driver License + false + true + The Driver's License being used as identification. + Payment Identification - Driver License + 100 + 2021-11-09 21:39:08.05 + 0 + es_MX + 0 + 72809 + + + + + + + + a197bbfc-9cb7-4e8d-89e2-6f0a61d06d54 + 100 + 2021-11-09 21:39:08.245 + + 0 + 47 + + Voice authorization code + true + false + false + false + false + false + false + false + false + true + true + + The Voice Authorization Code indicates the code received from the Credit Card Company. + 20 + ECA14 + + Voice Authorization Code from credit card company + + + 100 + 2021-11-09 21:39:08.244 + + + + 72603 + + + 10 + 0 + 1445 + 0 + 50263 + 72810 + + + + + 24848a94-35c7-4b4f-a423-c7a8cf45c57b + 100 + 2021-11-09 21:39:09.047 + Voice authorization code + false + true + The Voice Authorization Code indicates the code received from the Credit Card Company. + Voice Authorization Code from credit card company + 100 + 2021-11-09 21:39:09.047 + 0 + es_MX + 0 + 72810 + + + + + + + + 766f4aa6-fe83-4b5b-9ad9-e2e4a19b7bb9 + 100 + 2021-11-09 21:39:09.291 + + 0 + 48 + + Account City + true + false + false + false + false + false + false + false + false + true + true + + The Account City indicates the City of the Credit Card or Account holder + 60 + ECA14 + + City or the Credit Card or Account Holder + + + 100 + 2021-11-09 21:39:09.291 + + + + 72604 + + + 10 + 0 + 1350 + 0 + 50263 + 72811 + + + + + 71f463ac-a7f4-4492-b7ed-7aecc78e0fb5 + 100 + 2021-11-09 21:39:10.357 + Account City + false + true + The Account City indicates the City of the Credit Card or Account holder + City or the Credit Card or Account Holder + 100 + 2021-11-09 21:39:10.357 + 0 + es_MX + 0 + 72811 + + + + + + + + 440d918f-f0f4-42c5-912f-b7f27ff40817 + 100 + 2021-11-09 21:39:10.499 + + 0 + 49 + + Over/Under Payment + true + false + false + false + false + false + false + false + false + true + true + + Overpayments (negative) are unallocated amounts and allow you to receive money for more than the particular invoice. +Underpayments (positive) is a partial payment for the invoice. You do not write off the unpaid amount. + 22 + ECA14 + + Over-Payment (unallocated) or Under-Payment (partial payment) Amount + + + 100 + 2021-11-09 21:39:10.499 + + + + 72605 + + + 12 + 0 + 1819 + 0 + 50263 + 72812 + + + + + 21798671-73cd-4bed-b2a9-097eb47517f6 + 100 + 2021-11-09 21:39:11.762 + Over/Under Payment + false + true + Overpayments (negative) are unallocated amounts and allow you to receive money for more than the particular invoice. +Underpayments (positive) is a partial payment for the invoice. You do not write off the unpaid amount. + Over-Payment (unallocated) or Under-Payment (partial payment) Amount + 100 + 2021-11-09 21:39:11.762 + 0 + es_MX + 0 + 72812 + + + + + + + + 3ccfe5fa-3e9c-41ed-a928-6363c500f8b0 + 100 + 2021-11-09 21:39:11.908 + + 0 + 50 + + Routing No + true + false + false + false + false + false + false + false + false + true + true + + The Bank Routing Number (ABA Number) identifies a legal Bank. It is used in routing checks and electronic transactions. + 20 + ECA14 + + Bank Routing Number + + + 100 + 2021-11-09 21:39:11.908 + + + + 72606 + + + 10 + 0 + 964 + 0 + 50263 + 72813 + + + + + 43a010c2-5af4-40dc-94ce-6ebf27346618 + 100 + 2021-11-09 21:39:12.843 + Routing No + false + true + The Bank Routing Number (ABA Number) identifies a legal Bank. It is used in routing checks and electronic transactions. + Bank Routing Number + 100 + 2021-11-09 21:39:12.843 + 0 + es_MX + 0 + 72813 + + + + + + + + a6dbd2ec-6691-4a8b-80c4-af0a9c392001 + 100 + 2021-11-09 21:39:13.145 + + 0 + 51 + + Write-off Amount + true + false + false + false + false + false + false + false + false + true + true + + The Write Off Amount indicates the amount to be written off as uncollectible. + 22 + ECA14 + + Amount to write-off + + + 100 + 2021-11-09 21:39:13.144 + + + + 72607 + + + 12 + 0 + 1450 + 0 + 50263 + 72814 + + + + + 9ea88888-08b1-4457-b723-6f865b1d7baa + 100 + 2021-11-09 21:39:14.395 + Write-off Amount + false + true + The Write Off Amount indicates the amount to be written off as uncollectible. + Amount to write-off + 100 + 2021-11-09 21:39:14.395 + 0 + es_MX + 0 + 72814 + + + + + + + + 31f28c69-d4aa-4b80-b408-8f809bd2aa26 + 100 + 2021-11-09 21:39:14.552 + + 0 + 52 + + Discount Amount + true + false + false + false + false + false + false + false + false + true + true + + The Discount Amount indicates the discount amount for a document or line. + 22 + ECA14 + + Calculated amount of discount + + + 100 + 2021-11-09 21:39:14.552 + + + + 72608 + + + 12 + 0 + 1395 + 0 + 50263 + 72815 + + + + + 93d1fb3d-df9f-4036-97b6-97f51d69de35 + 100 + 2021-11-09 21:39:15.378 + Discount Amount + false + true + The Discount Amount indicates the discount amount for a document or line. + Calculated amount of discount + 100 + 2021-11-09 21:39:15.378 + 0 + es_MX + 0 + 72815 + + + + + + + + dbfc7601-0507-402f-b7fb-7e83f7c19a49 + 100 + 2021-11-09 21:39:15.548 + + 0 + 53 + + Tender type + true + false + false + false + false + false + false + false + false + true + true + + The Tender Type indicates the method of payment (ACH or Direct Deposit, Credit Card, Check, Direct Debit) + 1 + ECA14 + + Method of Payment + + + 100 + 2021-11-09 21:39:15.548 + + + + 72609 + + 214 + 17 + 0 + 1441 + 0 + 50263 + 72816 + + + + + c0e128ed-10f2-4814-b918-07d9695066f2 + 100 + 2021-11-09 21:39:16.552 + Tender type + false + true + The Tender Type indicates the method of payment (ACH or Direct Deposit, Credit Card, Check, Direct Debit) + Method of Payment + 100 + 2021-11-09 21:39:16.552 + 0 + es_MX + 0 + 72816 + + + + + + + + 3b7e72ee-866a-4be5-9313-9150074ce0c2 + 100 + 2021-11-09 21:39:16.726 + + 0 + 54 + + Charge amount + true + false + false + false + false + false + false + false + false + true + true + + The Charge Amount indicates the amount for an additional charge. + 22 + ECA14 + + Charge Amount + + + 100 + 2021-11-09 21:39:16.726 + + + + 72610 + + + 12 + 0 + 849 + 0 + 50263 + 72817 + + + + + e1cb21c6-52ef-4e23-8e07-9706c245e581 + 100 + 2021-11-09 21:39:17.86 + Charge amount + false + true + The Charge Amount indicates the amount for an additional charge. + Charge Amount + 100 + 2021-11-09 21:39:17.86 + 0 + es_MX + 0 + 72817 + + + + + + + + 28d4b8ed-9236-42b3-8305-5d6a4e57785b + 100 + 2021-11-09 21:39:18.012 + + 0 + 55 + + Description + true + false + false + false + false + false + false + false + false + true + true + + A description is limited to 255 characters. + 255 + ECA14 + + Optional short description of the record + + + 100 + 2021-11-09 21:39:18.012 + + + + 72611 + + + 10 + 0 + 275 + 0 + 50263 + 72818 + + + + + f164698a-750f-4d72-9f5f-ee6eb6a6b300 + 100 + 2021-11-09 21:39:18.995 + Description + false + true + A description is limited to 255 characters. + Optional short description of the record + 100 + 2021-11-09 21:39:18.995 + 0 + es_MX + 0 + 72818 + + + + + + + + 28b25f90-ab8d-4ea0-96b1-aee61ab4c5b6 + 100 + 2021-11-09 21:39:19.257 + + 0 + 56 + + Account No + true + false + false + false + false + false + false + false + false + true + true + + The Account Number indicates the Number assigned to this bank account. + 20 + ECA14 + + Account Number + + + 100 + 2021-11-09 21:39:19.257 + + + + 72612 + + + 10 + 0 + 840 + 0 + 50263 + 72819 + + + + + 0a6bf40c-95b6-471b-a4ca-315c72fa6451 + 100 + 2021-11-09 21:39:20.579 + Account No + false + true + The Account Number indicates the Number assigned to this bank account. + Account Number + 100 + 2021-11-09 21:39:20.579 + 0 + es_MX + 0 + 72819 + + + + + + + + ce991dbd-93c0-4aa9-bfc2-48e9e34f208e + 100 + 2021-11-09 21:39:20.783 + + 0 + 57 + + Online Processing + true + false + false + false + false + false + false + false + false + true + true + + The Online Processing indicates if the payment can be processed online. + 1 + ECA14 + + This payment can be processed online + + + 100 + 2021-11-09 21:39:20.783 + + + + 72614 + + + 28 + 0 + 1497 + 0 + 50263 + 72820 + + + + + f8981025-5667-4e13-958c-e129413db9f5 + 100 + 2021-11-09 21:39:21.786 + Online Processing + false + true + The Online Processing indicates if the payment can be processed online. + This payment can be processed online + 100 + 2021-11-09 21:39:21.786 + 0 + es_MX + 0 + 72820 + + + + + + + + 93f2e8ce-6fac-4115-a3fb-15658aae7664 + 100 + 2021-11-09 21:39:21.931 + + 0 + 58 + + Result + true + false + false + false + false + false + false + false + false + true + true + + The Response Result indicates the result of the transmission to the Credit Card Company. + 20 + ECA14 + + Result of transmission + + + 100 + 2021-11-09 21:39:21.931 + + + + 72615 + + + 10 + 0 + 1428 + 0 + 50263 + 72821 + + + + + d74efdab-84b3-4c89-ae0b-d99956d1d56c + 100 + 2021-11-09 21:39:22.996 + Result + false + true + The Response Result indicates the result of the transmission to the Credit Card Company. + Result of transmission + 100 + 2021-11-09 21:39:22.996 + 0 + es_MX + 0 + 72821 + + + + + + + + 6545fe31-bf2c-44f8-ab08-26c335ffda82 + 100 + 2021-11-09 21:39:23.149 + + 0 + 59 + + Number + true + false + false + false + false + false + false + false + false + true + true + + The Credit Card number indicates the number on the credit card, without blanks or spaces. + 20 + ECA14 + + Credit Card Number + + + 100 + 2021-11-09 21:39:23.149 + + + + 72616 + + + 10 + 0 + 249 + 0 + 50263 + 72822 + + + + + 61ebb865-b70e-45b1-a353-da2eb4ea25af + 100 + 2021-11-09 21:39:24.286 + Number + false + true + The Credit Card number indicates the number on the credit card, without blanks or spaces. + Credit Card Number + 100 + 2021-11-09 21:39:24.286 + 0 + es_MX + 0 + 72822 + + + + + + + + 990dc602-856d-485d-a137-36aeddee878c + 100 + 2021-11-09 21:39:24.437 + + 0 + 60 + + Account Street + true + false + false + false + false + false + false + false + false + true + true + + The Street Address of the Credit Card or Account holder. + 60 + ECA14 + + Street address of the Credit Card or Account holder + + + 100 + 2021-11-09 21:39:24.437 + + + + 72617 + + + 10 + 0 + 1356 + 0 + 50263 + 72823 + + + + + c57b05df-a67c-4499-b9ee-b6012c383420 + 100 + 2021-11-09 21:39:25.748 + Account Street + false + true + The Street Address of the Credit Card or Account holder. + Street address of the Credit Card or Account holder + 100 + 2021-11-09 21:39:25.748 + 0 + es_MX + 0 + 72823 + + + + + + + + b1185fdf-658f-4ced-8e5e-65ff4ee10440 + 100 + 2021-11-09 21:39:25.945 + + 0 + 61 + + Social Security No + true + false + false + false + false + false + false + false + false + true + true + + The Social Security number being used as identification. + 20 + ECA14 + + Payment Identification - Social Security No + + + 100 + 2021-11-09 21:39:25.945 + + + + 72618 + + + 10 + 0 + 1353 + 0 + 50263 + 72824 + + + + + 4b9fe361-7dcb-4a81-95ca-5b35282c1d79 + 100 + 2021-11-09 21:39:26.989 + Social Security No + false + true + The Social Security number being used as identification. + Payment Identification - Social Security No + 100 + 2021-11-09 21:39:26.989 + 0 + es_MX + 0 + 72824 + + + + + + + + d1e35445-9334-4473-b772-3c42d530d921 + 100 + 2021-11-09 21:39:27.197 + + 0 + 62 + + Account EMail + true + false + false + false + false + false + false + false + false + true + true + + The EMail Address indicates the EMail address off the Credit Card or Account holder. + 60 + ECA14 + + Email Address + + + 100 + 2021-11-09 21:39:27.197 + + + + 72622 + + + 10 + 0 + 1351 + 0 + 50263 + 72825 + + + + + 9e1f7e65-a5c2-47ae-b5a9-0764880c3acd + 100 + 2021-11-09 21:39:28.141 + Account EMail + false + true + The EMail Address indicates the EMail address off the Credit Card or Account holder. + Email Address + 100 + 2021-11-09 21:39:28.141 + 0 + es_MX + 0 + 72825 + + + + + + + + b715846f-2b50-41c3-8184-a596ed20510e + 100 + 2021-11-09 21:39:28.288 + + 0 + 63 + + Delayed Capture + true + false + false + false + false + false + false + false + false + true + true + + Delayed Capture is required, if you ship products. The first credit card transaction is the Authorization, the second is the actual transaction after the shipment of the product. + 1 + ECA14 + + Charge after Shipment + + + 100 + 2021-11-09 21:39:28.288 + + + + 72623 + + + 20 + 0 + 2107 + 0 + 50263 + 72826 + + + + + a65cd4c1-26d8-4557-a411-bf0d7d8e92a1 + 100 + 2021-11-09 21:39:29.237 + Delayed Capture + false + true + Delayed Capture is required, if you ship products. The first credit card transaction is the Authorization, the second is the actual transaction after the shipment of the product. + Charge after Shipment + 100 + 2021-11-09 21:39:29.237 + 0 + es_MX + 0 + 72826 + + + + + + + + ec0c2b63-9162-4596-96cb-1a81e2b15f4c + 100 + 2021-11-09 21:39:29.493 + + 0 + 64 + + Swipe + true + false + false + false + false + false + false + false + false + true + true + + Swiped information for Credit Card Presence Transactions + 80 + ECA14 + + Track 1 and 2 of the Credit Card + + + 100 + 2021-11-09 21:39:29.493 + + + + 72625 + + + 10 + 0 + 2125 + 0 + 50263 + 72827 + + + + + 624ee400-221b-4720-b34a-7fd891f54bd3 + 100 + 2021-11-09 21:39:30.527 + Swipe + false + true + Swiped information for Credit Card Presence Transactions + Track 1 and 2 of the Credit Card + 100 + 2021-11-09 21:39:30.527 + 0 + es_MX + 0 + 72827 + + + + + + + + 16f2f996-275a-495b-a2a4-45ddbd7ddab7 + 100 + 2021-11-09 21:39:30.695 + + 0 + 65 + + Document Type + true + false + false + false + false + false + false + false + false + true + true + + The Document Type determines document sequence and processing rules + 10 + ECA14 + + Document type or rules + + + 100 + 2021-11-09 21:39:30.695 + + + + 72584 + + + 19 + 0 + 196 + 0 + 50263 + 72828 + + + + + 835aace4-e7a3-4577-aa6e-7a6d17331e50 + 100 + 2021-11-09 21:39:31.621 + Document Type + false + true + The Document Type determines document sequence and processing rules + Document type or rules + 100 + 2021-11-09 21:39:31.621 + 0 + es_MX + 0 + 72828 + + + + + + + + 8af89de5-1aa5-4c64-9199-f62d2a80bcf5 + 100 + 2021-11-09 21:39:31.777 + + 0 + 66 + + User List 3 + true + false + false + false + false + false + false + false + false + true + true + + The user defined element displays the optional elements that have been defined for this account combination. + 10 + ECA14 + + User defined list element #3 + + + 100 + 2021-11-09 21:39:31.777 + + + + 72585 + + 53336 + 18 + 0 + 54080 + 0 + 50263 + 72829 + + + + + 74dd638c-ee17-44cb-b1ed-3b314dc8a05c + 100 + 2021-11-09 21:39:33.069 + User List 3 + false + true + The user defined element displays the optional elements that have been defined for this account combination. + User defined list element #3 + 100 + 2021-11-09 21:39:33.069 + 0 + es_MX + 0 + 72829 + + + + + + + + bfec81ac-eddd-4cd5-8b24-f861817b9a5e + 100 + 2021-11-09 21:39:33.276 + + 0 + 67 + + User List 4 + true + false + false + false + false + false + false + false + false + true + true + + The user defined element displays the optional elements that have been defined for this account combination. + 10 + ECA14 + + User defined list element #4 + + + 100 + 2021-11-09 21:39:33.276 + + + + 72586 + + 53337 + 18 + 0 + 54081 + 0 + 50263 + 72830 + + + + + f236f8b4-8186-4d4c-8607-ee5ee2bab722 + 100 + 2021-11-09 21:39:34.276 + User List 4 + false + true + The user defined element displays the optional elements that have been defined for this account combination. + User defined list element #4 + 100 + 2021-11-09 21:39:34.276 + 0 + es_MX + 0 + 72830 + + + + + + + + dc29f828-6711-487c-be70-812c0a168bc0 + 100 + 2021-11-09 21:39:34.483 + + 0 + 68 + + Account Zip/Postal + true + false + false + false + false + false + false + false + false + true + true + + The Zip Code of the Credit Card or Account Holder. + 20 + ECA14 + + Zip Code of the Credit Card or Account Holder + + + 100 + 2021-11-09 21:39:34.483 + + + + 72587 + + + 10 + 0 + 1357 + 0 + 50263 + 72831 + + + + + a9626b9e-5d36-45cf-b1c4-4e0f764478df + 100 + 2021-11-09 21:39:35.866 + Account Zip/Postal + false + true + The Zip Code of the Credit Card or Account Holder. + Zip Code of the Credit Card or Account Holder + 100 + 2021-11-09 21:39:35.866 + 0 + es_MX + 0 + 72831 + + + + + + + + cdf36881-b7ef-45f3-98d6-645aea5923d9 + 100 + 2021-11-09 21:39:36.019 + + 0 + 69 + + Transaction Type + true + false + false + false + false + false + false + false + false + true + true + + The Transaction Type indicates the type of transaction to be submitted to the Credit Card Company. + 1 + ECA14 + + Type of credit card transaction + + + 100 + 2021-11-09 21:39:36.019 + + + + 72588 + + 215 + 17 + 0 + 1295 + 0 + 50263 + 72832 + + + + + 3f84db5b-4909-4e21-888b-d6fa9152ab7a + 100 + 2021-11-09 21:39:37.176 + Transaction Type + false + true + The Transaction Type indicates the type of transaction to be submitted to the Credit Card Company. + Type of credit card transaction + 100 + 2021-11-09 21:39:37.176 + 0 + es_MX + 0 + 72832 + + + + + + + + 3562baa4-b7a0-4c53-887b-b7ad83af9a5c + 100 + 2021-11-09 21:39:37.367 + + 0 + 70 + + Authorization Code + true + false + false + false + false + false + false + false + false + true + true + + The Authorization Code indicates the code returned from the electronic transmission. + 20 + ECA14 + + Authorization Code returned + + + 100 + 2021-11-09 21:39:37.367 + + + + 72589 + + + 10 + 0 + 1422 + 0 + 50263 + 72833 + + + + + 13fe08a9-f67c-4b7a-9e9f-b3e77357e6d1 + 100 + 2021-11-09 21:39:38.717 + Authorization Code + false + true + The Authorization Code indicates the code returned from the electronic transmission. + Authorization Code returned + 100 + 2021-11-09 21:39:38.717 + 0 + es_MX + 0 + 72833 + + + + + + + + bb5edc75-f940-4cce-bfff-d02f2b3c4bb5 + 100 + 2021-11-09 21:39:38.894 + + 0 + 71 + + Online Access + true + false + false + false + false + false + false + false + false + true + true + + The Online Access check box indicates if the application can be accessed via the web. + 1 + ECA14 + + Can be accessed online + + + 100 + 2021-11-09 21:39:38.894 + + + + 72590 + + + 20 + 0 + 1401 + 0 + 50263 + 72834 + + + + + 830bcb48-d126-4fa6-a1e3-58e08583e8b2 + 100 + 2021-11-09 21:39:40.224 + Online Access + false + true + The Online Access check box indicates if the application can be accessed via the web. + Can be accessed online + 100 + 2021-11-09 21:39:40.224 + 0 + es_MX + 0 + 72834 + + + + + + + + b1f924ef-cf16-4192-8572-e9f78d2dcc68 + 100 + 2021-11-09 21:39:40.398 + + 0 + 72 + + Account Name + true + false + false + false + false + false + false + true + false + true + true + + The Name of the Credit Card or Account holder. + 60 + ECA14 + + Name on Credit Card or Account holder + + + 100 + 2021-11-09 21:39:40.398 + + + + 72593 + + + 10 + 0 + 1354 + 0 + 50263 + 72835 + + + + + 95e9583e-32f5-4185-ab1d-4fca6fbc8a78 + 100 + 2021-11-09 21:39:41.373 + Account Name + false + true + The Name of the Credit Card or Account holder. + Name on Credit Card or Account holder + 100 + 2021-11-09 21:39:41.373 + 0 + es_MX + 0 + 72835 + + + + + + + + 124618c7-d74f-4fe2-b0bf-98efb32ba91a + 100 + 2021-11-09 21:39:41.545 + + 0 + 73 + + Over/Under Payment + true + false + false + false + false + false + false + false + false + true + true + + Overpayments (negative) are unallocated amounts and allow you to receive money for more than the particular invoice. +Underpayments (positive) is a partial payment for the invoice. You do not write off the unpaid amount. + 1 + ECA14 + + Over-Payment (unallocated) or Under-Payment (partial payment) + + + 100 + 2021-11-09 21:39:41.545 + + + + 72596 + + + 20 + 0 + 1818 + 0 + 50263 + 72836 + + + + + 70a8aff4-a36c-443a-a759-92918d02b5b8 + 100 + 2021-11-09 21:39:42.472 + Over/Under Payment + false + true + Overpayments (negative) are unallocated amounts and allow you to receive money for more than the particular invoice. +Underpayments (positive) is a partial payment for the invoice. You do not write off the unpaid amount. + Over-Payment (unallocated) or Under-Payment (partial payment) + 100 + 2021-11-09 21:39:42.472 + 0 + es_MX + 0 + 72836 + + + + + + + + d86d34fb-88e0-4efa-93ae-4b1120d278e0 + 100 + 2021-11-09 21:39:42.635 + + 0 + 74 + + Zip verified + true + false + false + false + false + false + false + false + false + true + true + + The Zip Verified indicates if the zip code has been verified by the Credit Card Company. + 1 + ECA14 + + The Zip Code has been verified + + + 100 + 2021-11-09 21:39:42.635 + + + + 72597 + + 213 + 17 + 0 + 1424 + 0 + 50263 + 72837 + + + + + 46ba4dd0-8a17-46cc-896e-1a40444c62bb + 100 + 2021-11-09 21:39:43.623 + Zip verified + false + true + The Zip Verified indicates if the zip code has been verified by the Credit Card Company. + The Zip Code has been verified + 100 + 2021-11-09 21:39:43.623 + 0 + es_MX + 0 + 72837 + + + + + + + + 95eac166-848d-46c1-acc3-9175ed497ecb + 100 + 2021-11-09 21:39:43.774 + + 0 + 75 + + Micr + true + false + false + false + false + false + false + false + false + true + true + + The Micr number is the combination of the bank routing number, account number and check number + 20 + ECA14 + + Combination of routing no, account and check no + + + 100 + 2021-11-09 21:39:43.774 + + + + 72599 + + + 10 + 0 + 1407 + 0 + 50263 + 72838 + + + + + d8f06861-51fe-47dc-b1fe-51531f305aab + 100 + 2021-11-09 21:39:45.137 + Micr + false + true + The Micr number is the combination of the bank routing number, account number and check number + Combination of routing no, account and check no + 100 + 2021-11-09 21:39:45.137 + 0 + es_MX + 0 + 72838 + + + + + + + + 4fac8e72-ee30-4027-a505-f40bf29df088 + 100 + 2021-11-09 21:39:45.314 + + 0 + 76 + + Info + true + false + false + false + false + false + false + false + false + true + true + + The Info indicates any response information returned from the Credit Card Company. + 2000 + ECA14 + + Response info + + + 100 + 2021-11-09 21:39:45.314 + + + + 72613 + + + 10 + 0 + 1425 + 0 + 50263 + 72839 + + + + + 32130946-43c1-4eae-b602-613af5c7bf85 + 100 + 2021-11-09 21:39:46.861 + Info + false + true + The Info indicates any response information returned from the Credit Card Company. + Response info + 100 + 2021-11-09 21:39:46.861 + 0 + es_MX + 0 + 72839 + + + + + + + + 4a3807b9-cc00-4519-b5da-998ef5189e23 + 100 + 2021-11-09 21:39:47.103 + + 0 + 77 + + Account State + true + false + false + false + false + false + false + false + false + true + true + + The State of the Credit Card or Account holder + 40 + ECA14 + + State of the Credit Card or Account holder + + + 100 + 2021-11-09 21:39:47.103 + + + + 72619 + + + 10 + 0 + 1355 + 0 + 50263 + 72840 + + + + + b0977715-9130-45cb-9d40-05a9180a9f73 + 100 + 2021-11-09 21:39:48.045 + Account State + false + true + The State of the Credit Card or Account holder + State of the Credit Card or Account holder + 100 + 2021-11-09 21:39:48.045 + 0 + es_MX + 0 + 72840 + + + + + + + + ffb931b2-28b0-4463-97dc-8586f0c7c9ce + 100 + 2021-11-09 21:39:48.207 + + 0 + 78 + + CVV Match + true + false + false + false + false + false + false + false + false + true + true + + The Credit Card Verification Code was matched + 1 + ECA14 + + Credit Card Verification Code Match + + + 100 + 2021-11-09 21:39:48.207 + + + + 72620 + + + 20 + 0 + 2120 + 0 + 50263 + 72841 + + + + + 6dd739cf-ffbf-4d7a-9baf-bdcc5c555ad4 + 100 + 2021-11-09 21:39:49.621 + CVV Match + false + true + The Credit Card Verification Code was matched + Credit Card Verification Code Match + 100 + 2021-11-09 21:39:49.621 + 0 + es_MX + 0 + 72841 + + + + + + + + c531d2f7-9a0c-4f59-bc63-e3abbf15ff55 + 100 + 2021-11-09 21:39:49.77 + + 0 + 79 + + Authorization Code (DC) + true + false + false + false + false + false + false + false + false + true + true + + The Authorization Code indicates the code returned from the electronic transmission. + 20 + ECA14 + + Authorization Code Delayed Capture returned + + + 100 + 2021-11-09 21:39:49.769 + + + + 72621 + + + 10 + 0 + 2119 + 0 + 50263 + 72842 + + + + + 54219b56-214c-4bfc-a2ae-16305b4cd2c0 + 100 + 2021-11-09 21:39:50.965 + Authorization Code (DC) + false + true + The Authorization Code indicates the code returned from the electronic transmission. + Authorization Code Delayed Capture returned + 100 + 2021-11-09 21:39:50.965 + 0 + es_MX + 0 + 72842 + + + + + + + + b44646c9-858f-49b5-b41f-0bc155b03d3f + 100 + 2021-11-09 21:39:51.244 + + 0 + 80 + + Reference (DC) + true + false + false + false + false + false + false + false + false + true + true + + The Payment Reference indicates the reference returned from the Credit Card Company for a payment + 20 + ECA14 + + Payment Reference Delayed Capture + + + 100 + 2021-11-09 21:39:51.244 + + + + 72624 + + + 10 + 0 + 2121 + 0 + 50263 + 72843 + + + + + 2694003f-a24a-456c-89e0-ccb248e143a5 + 100 + 2021-11-09 21:39:52.352 + Reference (DC) + false + true + The Payment Reference indicates the reference returned from the Credit Card Company for a payment + Payment Reference Delayed Capture + 100 + 2021-11-09 21:39:52.352 + 0 + es_MX + 0 + 72843 + + + + + + + + bfeb2ebe-0fba-436f-a82e-c4c17aacfaba + 100 + 2021-11-09 21:39:52.58 + + 0 + 81 + + Processed On + true + false + false + false + false + false + false + false + false + true + true + + The ProcessedOn Date+Time save the exact moment (nanoseconds precision if allowed by the DB) when a document has been processed. + 20 + ECA14 + + The date+time (expressed in decimal format) when the document has been processed + + + 100 + 2021-11-09 21:39:52.58 + + + + 72627 + + + 22 + 0 + 54128 + 0 + 50263 + 72844 + + + + + 41f9a0da-3180-4bca-a08d-3a7a535600aa + 100 + 2021-11-09 21:39:53.634 + Processed On + false + true + The ProcessedOn Date+Time save the exact moment (nanoseconds precision if allowed by the DB) when a document has been processed. + The date+time (expressed in decimal format) when the document has been processed + 100 + 2021-11-09 21:39:53.634 + 0 + es_MX + 0 + 72844 + + + + + + + + ad94ed45-9797-4e31-a070-94553ce65a8a + 100 + 2021-11-09 21:39:53.793 + + 0 + 82 + + Client + true + false + false + false + false + false + false + false + false + true + true + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + 10 + ECA14 + + Client/Tenant for this installation. + + + 100 + 2021-11-09 21:39:53.792 + + + + 72631 + + + 19 + 0 + 102 + 0 + 50263 + 72845 + + + + + e4c53061-4e2f-4682-a3dc-c3cb92ccda92 + 100 + 2021-11-09 21:39:54.818 + Client + false + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + Client/Tenant for this installation. + 100 + 2021-11-09 21:39:54.818 + 0 + es_MX + 0 + 72845 + + + + + + + + 2f79a75a-d4e6-4f38-9e92-a14df9fba1e6 + 100 + 2021-11-09 21:39:54.977 + + 0 + 83 + + Payment + true + false + false + false + false + false + false + false + false + true + true + + The Payment is a unique identifier of this payment. + 10 + ECA14 + + Payment identifier + + + 100 + 2021-11-09 21:39:54.977 + + + + 72632 + + + 13 + 0 + 1384 + 0 + 50263 + 72846 + + + + + 14cab136-e0e5-448e-a516-5c92932a7898 + 100 + 2021-11-09 21:39:55.913 + Payment + false + true + The Payment is a unique identifier of this payment. + Payment identifier + 100 + 2021-11-09 21:39:55.913 + 0 + es_MX + 0 + 72846 + + + + + + + + fa3d169a-71bb-41ac-973e-733b798a777d + 100 + 2021-11-09 21:39:56.096 + + 0 + 84 + + Original Transaction ID + true + false + false + false + false + false + false + false + false + true + true + + The Original Transaction ID is used for reversing transactions and indicates the transaction that has been reversed. + 10 + ECA14 + + Original Transaction ID + + + 100 + 2021-11-09 21:39:56.096 + + + + 72633 + + + 10 + 0 + 1409 + 0 + 50263 + 72847 + + + + + 962705e6-54e1-45bd-9ad4-282d04ae2462 + 100 + 2021-11-09 21:39:57.102 + Original Transaction ID + false + true + The Original Transaction ID is used for reversing transactions and indicates the transaction that has been reversed. + Original Transaction ID + 100 + 2021-11-09 21:39:57.102 + 0 + es_MX + 0 + 72847 + + + + + + + + 5e7bbc72-2096-46d6-be64-5b7f43156649 + 100 + 2021-11-09 21:39:57.322 + + 0 + 85 + + Partner Bank Account + true + false + false + false + false + false + false + false + false + true + true + + The Partner Bank Account identifies the bank account to be used for this Business Partner + 10 + ECA14 + + Bank Account of the Business Partner + + + 100 + 2021-11-09 21:39:57.322 + + + + 72634 + + + 19 + 0 + 837 + 0 + 50263 + 72848 + + + + + 88e5e8f2-1d88-4f23-b2da-1dd90180dd1e + 100 + 2021-11-09 21:39:58.378 + Partner Bank Account + false + true + The Partner Bank Account identifies the bank account to be used for this Business Partner + Bank Account of the Business Partner + 100 + 2021-11-09 21:39:58.378 + 0 + es_MX + 0 + 72848 + + + + + + + + 346422cf-2e7f-4384-a5d8-84b520964de1 + 100 + 2021-11-09 21:39:58.548 + + 0 + 86 + + Campaign + true + false + false + false + false + false + false + false + false + true + true + + The Campaign defines a unique marketing program. Projects can be associated with a pre defined Marketing Campaign. You can then report based on a specific Campaign. + 10 + ECA14 + + Marketing Campaign + + + 100 + 2021-11-09 21:39:58.548 + + + + 72639 + + + 19 + 0 + 550 + 0 + 50263 + 72849 + + + + + f309cc4d-cc9d-4805-b3cc-d367e293fc5a + 100 + 2021-11-09 21:39:59.383 + Campaign + false + true + The Campaign defines a unique marketing program. Projects can be associated with a pre defined Marketing Campaign. You can then report based on a specific Campaign. + Marketing Campaign + 100 + 2021-11-09 21:39:59.383 + 0 + es_MX + 0 + 72849 + + + + + + + + 17393a0f-2780-462a-a5e6-9c08f250aede + 100 + 2021-11-09 21:39:59.548 + + 0 + 87 + + Trx Organization + true + false + false + false + false + false + false + false + false + true + true + + The organization which performs or initiates this transaction (for another organization). The owning Organization may not be the transaction organization in a service bureau environment, with centralized services, and inter-organization transactions. + 10 + ECA14 + + Performing or initiating organization + + + 100 + 2021-11-09 21:39:59.548 + + + + 72640 + + 130 + 18 + 0 + 112 + 0 + 50263 + 72850 + + + + + 4c52690d-c5c4-465c-8955-6feed3be3a2f + 100 + 2021-11-09 21:40:00.727 + Trx Organization + false + true + The organization which performs or initiates this transaction (for another organization). The owning Organization may not be the transaction organization in a service bureau environment, with centralized services, and inter-organization transactions. + Performing or initiating organization + 100 + 2021-11-09 21:40:00.727 + 0 + es_MX + 0 + 72850 + + + + + + + + ca311027-53a7-4922-8e49-fb6b4f366a92 + 100 + 2021-11-09 21:40:00.892 + + 0 + 88 + + Exp. Month + true + false + false + false + false + false + false + false + false + true + true + + The Expiry Month indicates the expiry month for this credit card. + 10 + ECA14 + + Expiry Month + + + 100 + 2021-11-09 21:40:00.892 + + + + 72641 + + + 11 + 0 + 1084 + 0 + 50263 + 72851 + + + + + 14e20d6f-b707-4a12-92a3-a0121111b7d4 + 100 + 2021-11-09 21:40:01.882 + Exp. Month + false + true + The Expiry Month indicates the expiry month for this credit card. + Expiry Month + 100 + 2021-11-09 21:40:01.882 + 0 + es_MX + 0 + 72851 + + + + + + + + d4627274-ab54-4986-b3ee-0d11ab1fef3a + 100 + 2021-11-09 21:40:02.037 + + 0 + 89 + + Updated By + true + false + false + false + false + false + false + false + false + true + true + + The Updated By field indicates the user who updated this record. + 10 + ECA14 + + User who updated this records + + + 100 + 2021-11-09 21:40:02.037 + + + + 72642 + + 110 + 18 + 0 + 608 + 0 + 50263 + 72852 + + + + + baa67673-903d-4230-b814-0ddad97e789e + 100 + 2021-11-09 21:40:02.961 + Updated By + false + true + The Updated By field indicates the user who updated this record. + User who updated this records + 100 + 2021-11-09 21:40:02.961 + 0 + es_MX + 0 + 72852 + + + + + + + + 22d7560a-3278-4fa5-af73-f004452e7f78 + 100 + 2021-11-09 21:40:03.153 + + 0 + 90 + + Created By + true + false + false + false + false + false + false + false + false + true + true + + The Created By field indicates the user who created this record. + 10 + ECA14 + + User who created this records + + + 100 + 2021-11-09 21:40:03.153 + + + + 72643 + + 110 + 18 + 0 + 246 + 0 + 50263 + 72853 + + + + + f6eb02aa-09c7-45e3-9e8a-3d42b915df70 + 100 + 2021-11-09 21:40:04.222 + Created By + false + true + The Created By field indicates the user who created this record. + User who created this records + 100 + 2021-11-09 21:40:04.222 + 0 + es_MX + 0 + 72853 + + + + + + + + a8a9a0e0-c983-44f2-a00e-c75c244c5cf0 + 100 + 2021-11-09 21:40:04.474 + + 0 + 91 + + Currency + true + false + false + false + false + false + false + false + false + true + true + + Indicates the Currency to be used when processing or reporting on this record + 10 + ECA14 + + The Currency for this record + + + 100 + 2021-11-09 21:40:04.474 + + + + 72629 + + + 19 + 0 + 193 + 0 + 50263 + 72854 + + + + + 74472838-8042-4fe0-a378-d35d4b269d00 + 100 + 2021-11-09 21:40:05.515 + Currency + false + true + Indicates the Currency to be used when processing or reporting on this record + The Currency for this record + 100 + 2021-11-09 21:40:05.515 + 0 + es_MX + 0 + 72854 + + + + + + + + 138c0ba0-dad9-4e37-835e-c5b56d1d3ab8 + 100 + 2021-11-09 21:40:05.725 + + 0 + 92 + + Organization + true + false + false + false + false + false + false + false + false + true + true + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + 10 + ECA14 + + Organizational entity within client + + + 100 + 2021-11-09 21:40:05.725 + + + + 72630 + + + 19 + 0 + 113 + 0 + 50263 + 72855 + + + + + 0c09eeed-6e29-48b4-b69d-c88213858733 + 100 + 2021-11-09 21:40:06.883 + Organization + false + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + Organizational entity within client + 100 + 2021-11-09 21:40:06.883 + 0 + es_MX + 0 + 72855 + + + + + + + + b3c8a358-6112-4df5-a03b-85779eadaa63 + 100 + 2021-11-09 21:40:07.091 + + 0 + 93 + + Exp. Year + true + false + false + false + false + false + false + false + false + true + true + + The Expiry Year indicates the expiry year for this credit card. + 10 + ECA14 + + Expiry Year + + + 100 + 2021-11-09 21:40:07.091 + + + + 72635 + + + 11 + 0 + 1085 + 0 + 50263 + 72856 + + + + + 8c237b99-c6ea-4610-ae26-3fd42654001f + 100 + 2021-11-09 21:40:08.234 + Exp. Year + false + true + The Expiry Year indicates the expiry year for this credit card. + Expiry Year + 100 + 2021-11-09 21:40:08.234 + 0 + es_MX + 0 + 72856 + + + + + + + + 3c8e9dc6-fb33-4d69-a1fa-adb4b8f64de3 + 100 + 2021-11-09 21:40:08.401 + + 0 + 94 + + Payment Batch + true + false + false + false + false + false + false + false + false + true + true + + Electronic Fund Transfer Payment Batch. + 10 + ECA14 + + Payment batch for EFT + + + 100 + 2021-11-09 21:40:08.401 + + + + 72636 + + + 19 + 0 + 1465 + 0 + 50263 + 72857 + + + + + d07b77ef-6e8b-442e-abdb-38af6582225a + 100 + 2021-11-09 21:40:09.545 + Payment Batch + false + true + Electronic Fund Transfer Payment Batch. + Payment batch for EFT + 100 + 2021-11-09 21:40:09.545 + 0 + es_MX + 0 + 72857 + + + + + + + + e77d0a00-db08-4aff-b4c0-7b53a26eb86f + 100 + 2021-11-09 21:40:09.717 + + 0 + 95 + + User List 1 + true + false + false + false + false + false + false + false + false + true + true + + The user defined element displays the optional elements that have been defined for this account combination. + 10 + ECA14 + + User defined list element #1 + + + 100 + 2021-11-09 21:40:09.717 + + + + 72637 + + 134 + 18 + 0 + 613 + 0 + 50263 + 72858 + + + + + ea38caf9-6539-45ac-b820-483797515e7f + 100 + 2021-11-09 21:40:11.76 + User List 1 + false + true + The user defined element displays the optional elements that have been defined for this account combination. + User defined list element #1 + 100 + 2021-11-09 21:40:11.76 + 0 + es_MX + 0 + 72858 + + + + + + + + c06219e2-171a-4959-8dff-10af2a43cfba + 100 + 2021-11-09 21:40:11.977 + + 0 + 96 + + Project + true + false + false + false + false + false + false + false + false + true + true + + A Project allows you to track and control internal or external activities. + 10 + ECA14 + + Financial Project + + + 100 + 2021-11-09 21:40:11.977 + + + + 72638 + + + 19 + 0 + 208 + 0 + 50263 + 72859 + + + + + f5f599c8-f35f-4d38-a241-b4682cbc87e7 + 100 + 2021-11-09 21:40:13.388 + Project + false + true + A Project allows you to track and control internal or external activities. + Financial Project + 100 + 2021-11-09 21:40:13.388 + 0 + es_MX + 0 + 72859 + + + + + + + + d23be03b-e3cb-4e68-aa00-cc3ed9e2e578 + 100 + 2021-11-09 21:40:13.575 + + 0 + 97 + + User List 2 + true + false + false + false + false + false + false + false + false + true + true + + The user defined element displays the optional elements that have been defined for this account combination. + 10 + ECA14 + + User defined list element #2 + + + 100 + 2021-11-09 21:40:13.575 + + + + 72644 + + 137 + 18 + 0 + 614 + 0 + 50263 + 72860 + + + + + 01eb29ab-a041-44ed-83eb-c1ffb2bf726f + 100 + 2021-11-09 21:40:15.45 + User List 2 + false + true + The user defined element displays the optional elements that have been defined for this account combination. + User defined list element #2 + 100 + 2021-11-09 21:40:15.45 + 0 + es_MX + 0 + 72860 + + + + + + + + d99e6973-5c69-4010-944d-cba25e20c901 + 100 + 2021-11-09 21:40:15.643 + + 0 + 98 + + Activity + true + false + false + false + false + false + false + false + false + true + true + + Activities indicate tasks that are performed and used to utilize Activity based Costing + 10 + ECA14 + + Business Activity + + + 100 + 2021-11-09 21:40:15.643 + + + + 72645 + + + 19 + 0 + 1005 + 0 + 50263 + 72861 + + + + + dc00512a-38b9-44ea-bf4e-91f0fa44092f + 100 + 2021-11-09 21:40:16.789 + Activity + false + true + Activities indicate tasks that are performed and used to utilize Activity based Costing + Business Activity + 100 + 2021-11-09 21:40:16.789 + 0 + es_MX + 0 + 72861 + + + + + + + + f04dd417-b4ab-4e6b-be50-e4326a338004 + 100 + 2021-11-09 21:40:17.02 + + 0 + 99 + + Currency Type + true + false + false + false + false + false + false + false + false + true + true + + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + 10 + ECA14 + + Currency Conversion Rate Type + + + 100 + 2021-11-09 21:40:17.02 + + + + 72646 + + + 19 + 0 + 2278 + 0 + 50263 + 72862 + + + + + 060058e0-86cd-40b8-ad25-5c8c039270cc + 100 + 2021-11-09 21:40:18.551 + Currency Type + false + true + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + Currency Conversion Rate Type + 100 + 2021-11-09 21:40:18.551 + 0 + es_MX + 0 + 72862 + + + + + + + + 6c68dc27-057b-479a-87d4-6bd752b03729 + 100 + 2021-11-09 21:40:18.727 + + 0 + 100 + + Immutable Universally Unique Identifier + true + false + false + false + false + false + false + false + false + true + true + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + 36 + ECA14 + + Immutable Universally Unique Identifier + + + 100 + 2021-11-09 21:40:18.727 + + + + 72647 + + + 10 + 0 + 59595 + 0 + 50263 + 72863 + + + + + accfd01b-27cb-4a0d-b50e-845810bda008 + 100 + 2021-11-09 21:40:19.921 + Immutable Universally Unique Identifier + false + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + Immutable Universally Unique Identifier + 100 + 2021-11-09 21:40:19.921 + 0 + es_MX + 0 + 72863 + + + + + + + + 28e2c3a6-130e-404f-97bb-9a53196503b4 + 100 + 2021-11-09 21:40:20.186 + + 0 + 101 + + Unidentified Payment + true + false + false + false + false + false + false + false + false + true + true + + + 1 + ECA14 + + This flag determine ig a payment is unidentify + + + 100 + 2021-11-09 21:40:20.186 + + + + 72648 + + + 20 + 0 + 61190 + 0 + 50263 + 72864 + + + + + 7751ff02-99c5-4c9d-9a0e-78653ae6bda3 + 100 + 2021-11-09 21:40:21.444 + Unidentified Payment + false + true + + This flag determine ig a payment is unidentify + 100 + 2021-11-09 21:40:21.444 + 0 + es_MX + 0 + 72864 + + + + + + + + 6d64ba1d-6fd2-4371-81eb-2c5cc4497c8e + 100 + 2021-11-09 21:40:21.662 + + 0 + 102 + + Referenced Payment + true + false + false + false + false + false + false + false + false + true + true + + + 10 + ECA14 + + + + + 100 + 2021-11-09 21:40:21.662 + + + + 72649 + + 343 + 18 + 0 + 2753 + 0 + 50263 + 72865 + + + + + 57a09f7f-c4b0-4355-8fb8-ad87acf1b049 + 100 + 2021-11-09 21:40:22.893 + Referenced Payment + false + true + + + 100 + 2021-11-09 21:40:22.893 + 0 + es_MX + 0 + 72865 + + + + + + + + de620cf2-ca37-4487-8d9f-38364adca078 + 100 + 2021-11-09 21:40:23.134 + + 0 + 103 + + Bank + true + false + false + false + false + false + false + false + false + true + true + + The Bank is a unique identifier of a Bank for this Organization or for a Business Partner with whom this Organization transacts. + 10 + ECA14 + + Bank + + + 100 + 2021-11-09 21:40:23.134 + + + + 72650 + + + 19 + 0 + 835 + 0 + 50263 + 72866 + + + + + 6fe6442f-cb4b-4a87-8e31-e6ed46eccc7c + 100 + 2021-11-09 21:40:24.23 + Bank + false + true + The Bank is a unique identifier of a Bank for this Organization or for a Business Partner with whom this Organization transacts. + Bank + 100 + 2021-11-09 21:40:24.23 + 0 + es_MX + 0 + 72866 + + + + + + + + 99252e58-00e7-4175-89af-b9aec875cb2f + 100 + 2021-11-09 21:40:24.463 + + 0 + 104 + + Payment Verified + true + false + false + false + false + false + false + false + false + true + true + + + 1 + ECA14 + + This document require a verification + + + 100 + 2021-11-09 21:40:24.463 + + + + 72651 + + + 20 + 0 + 61889 + 0 + 50263 + 72867 + + + + + 74f27422-a29c-40d4-ade9-49eb86d94906 + 100 + 2021-11-09 21:40:25.905 + Payment Verified + false + true + + This document require a verification + 100 + 2021-11-09 21:40:25.905 + 0 + es_MX + 0 + 72867 + + + + + + + + 111b3949-aeb3-4b62-8d3c-8e2dcf7c33c9 + 100 + 2021-11-09 21:40:26.097 + + 0 + 105 + + Require Payment Verification + true + false + false + false + false + false + false + false + false + true + true + + + 1 + ECA14 + + This document require a verification + + + 100 + 2021-11-09 21:40:26.097 + + + + 72652 + + + 20 + 0 + 61888 + 0 + 50263 + 72868 + + + + + 8588b339-b3c0-4213-aeb2-040c9ac5aa59 + 100 + 2021-11-09 21:40:27.586 + Require Payment Verification + false + true + + This document require a verification + 100 + 2021-11-09 21:40:27.586 + 0 + es_MX + 0 + 72868 + + + + + + + + 4b1e66c2-a652-4c72-b352-35d5bdec379a + 100 + 2021-11-09 21:40:27.807 + + 0 + 106 + + CashDrawer + true + false + false + false + false + false + false + false + false + true + true + + + 120 + ECA14 + + + + + 100 + 2021-11-09 21:40:27.807 + + + + 72656 + + + 10 + 0 + 52015 + 0 + 50263 + 72869 + + + + + 5142f31c-8e80-4f23-8825-709fec2cfc57 + 100 + 2021-11-09 21:40:28.713 + CashDrawer + false + true + + + 100 + 2021-11-09 21:40:28.713 + 0 + es_MX + 0 + 72869 + + + + + + + + 922d6800-f288-4af5-8bb9-6890d7fcdf44 + 100 + 2021-11-09 21:40:28.93 + + 0 + 107 + + Cash Book + true + false + false + false + false + false + false + false + false + true + true + + The Cash Book identifies a unique cash book. The cash book is used to record cash transactions. + 10 + ECA14 + + Cash Book for recording petty cash transactions + + + 100 + 2021-11-09 21:40:28.93 + + + + 72660 + + + 19 + 0 + 1463 + 0 + 50263 + 72870 + + + + + 9bc6cae1-9754-4181-87da-c62016832806 + 100 + 2021-11-09 21:40:30.303 + Cash Book + false + true + The Cash Book identifies a unique cash book. The cash book is used to record cash transactions. + Cash Book for recording petty cash transactions + 100 + 2021-11-09 21:40:30.303 + 0 + es_MX + 0 + 72870 + + + + + + + + 6af49679-7fc9-4d7f-993a-a89d7fc846d1 + 100 + 2021-11-09 21:40:30.545 + + 0 + 108 + + Invoice Rule + true + false + false + false + false + false + false + false + false + true + true + + The Invoice Rule defines how a Business Partner is invoiced and the frequency of invoicing. + 1 + ECA14 + + Frequency and method of invoicing + + + 100 + 2021-11-09 21:40:30.545 + + + + 72671 + + 150 + 17 + 0 + 559 + 0 + 50263 + 72871 + + + + + 910a5711-6ffc-4bad-b08c-55131cba00cf + 100 + 2021-11-09 21:40:32.157 + Invoice Rule + false + true + The Invoice Rule defines how a Business Partner is invoiced and the frequency of invoicing. + Frequency and method of invoicing + 100 + 2021-11-09 21:40:32.157 + 0 + es_MX + 0 + 72871 + + + + + + + + 77646ba4-482c-4e1a-a828-417a1611ccce + 100 + 2021-11-09 21:40:32.451 + + 0 + 109 + + Active + true + false + false + false + false + false + false + false + false + true + true + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + 1 + ECA14 + + The record is active in the system + + + 100 + 2021-11-09 21:40:32.451 + + + + 72672 + + + 20 + 0 + 348 + 0 + 50263 + 72872 + + + + + 908fb28f-be98-4be6-a097-a2b6964d7b10 + 100 + 2021-11-09 21:40:33.825 + Active + false + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + The record is active in the system + 100 + 2021-11-09 21:40:33.825 + 0 + es_MX + 0 + 72872 + + + + + + + + 9c8a4d38-9bc9-49ca-8092-adfa25196e9e + 100 + 2021-11-09 21:40:34.023 + + 0 + 110 + + Enable POS Product Lookup + true + false + false + false + false + false + false + false + false + true + true + + + 1 + ECA14 + + Allows product lookup in order to show search key , name , quantity available , standard price and list price for selecting a product + + + 100 + 2021-11-09 21:40:34.023 + + + + 72673 + + + 20 + 0 + 58375 + 0 + 50263 + 72873 + + + + + 26e77181-f72a-4f83-9dd5-69fa65473ecb + 100 + 2021-11-09 21:40:35.108 + Enable POS Product Lookup + false + true + + Allows product lookup in order to show search key , name , quantity available , standard price and list price for selecting a product + 100 + 2021-11-09 21:40:35.108 + 0 + es_MX + 0 + 72873 + + + + + + + + 0fa957d3-68e3-4265-97a6-27113e76b995 + 100 + 2021-11-09 21:40:35.418 + + 0 + 111 + + Measure Request Code + true + false + false + false + false + false + false + false + false + true + true + + + 20 + ECA14 + + String for taking measurement from Device Electronic Scales + + + 100 + 2021-11-09 21:40:35.418 + + + + 72676 + + + 10 + 0 + 58382 + 0 + 50263 + 72874 + + + + + 23b7449a-d986-4b6a-8aee-d0cb0cf36ada + 100 + 2021-11-09 21:40:36.72 + Measure Request Code + false + true + + String for taking measurement from Device Electronic Scales + 100 + 2021-11-09 21:40:36.72 + 0 + es_MX + 0 + 72874 + + + + + + + + f5699bc7-b379-49e1-91b3-dd5bb6cd78d4 + 100 + 2021-11-09 21:40:36.92 + + 0 + 112 + + Printer Name + true + false + false + false + false + false + false + false + false + true + true + + Internal (Operating System) Name of the Printer; Please mote that the printer name may be different on different clients. Enter a printer name, which applies to ALL clients (e.g. printer on a server). <p> +If none is entered, the default printer is used. You specify your default printer when you log in. You can also change the default printer in Preferences. + 60 + ECA14 + + Name of the Printer + + + 100 + 2021-11-09 21:40:36.92 + + + + 72683 + + + 10 + 0 + 2051 + 0 + 50263 + 72875 + + + + + b5d36d52-d275-47b8-aaab-5842c7e3aaa6 + 100 + 2021-11-09 21:40:38.359 + Printer Name + false + true + Internal (Operating System) Name of the Printer; Please mote that the printer name may be different on different clients. Enter a printer name, which applies to ALL clients (e.g. printer on a server). <p> +If none is entered, the default printer is used. You specify your default printer when you log in. You can also change the default printer in Preferences. + Name of the Printer + 100 + 2021-11-09 21:40:38.359 + 0 + es_MX + 0 + 72875 + + + + + + + + 6f7279f7-0eab-4ffe-a882-704f39a31cb3 + 100 + 2021-11-09 21:40:38.545 + + 0 + 113 + + Sales Representative + true + false + false + false + false + false + false + false + false + true + true + + The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid internal user. + 10 + ECA14 + + Sales Representative or Company Agent + + + 100 + 2021-11-09 21:40:38.545 + + + + 72684 + + 190 + 18 + 0 + 1063 + 0 + 50263 + 72876 + + + + + 35ccf2f9-7e71-474e-bddf-013efe8c97d9 + 100 + 2021-11-09 21:40:39.982 + Sales Representative + false + true + The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid internal user. + Sales Representative or Company Agent + 100 + 2021-11-09 21:40:39.982 + 0 + es_MX + 0 + 72876 + + + + + + + + 25424610-40dd-4f6c-bd7c-b3c0bae71f27 + 100 + 2021-11-09 21:40:40.214 + + 0 + 114 + + Client + true + false + false + false + false + false + false + false + false + true + true + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + 10 + ECA14 + + Client/Tenant for this installation. + + + 100 + 2021-11-09 21:40:40.214 + + + + 72653 + + + 19 + 0 + 102 + 0 + 50263 + 72877 + + + + + 51145248-447a-4da1-a540-89f6aa8e3797 + 100 + 2021-11-09 21:40:41.47 + Client + false + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + Client/Tenant for this installation. + 100 + 2021-11-09 21:40:41.47 + 0 + es_MX + 0 + 72877 + + + + + + + + 5ea7ac5b-7f3a-48fc-8011-3e5149507c05 + 100 + 2021-11-09 21:40:41.658 + + 0 + 115 + + Organization + true + false + false + false + false + false + false + false + false + true + true + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + 10 + ECA14 + + Organizational entity within client + + + 100 + 2021-11-09 21:40:41.658 + + + + 72654 + + + 19 + 0 + 113 + 0 + 50263 + 72878 + + + + + 8b3777ec-96d6-429d-a1c9-4300370833b9 + 100 + 2021-11-09 21:40:42.712 + Organization + false + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + Organizational entity within client + 100 + 2021-11-09 21:40:42.712 + 0 + es_MX + 0 + 72878 + + + + + + + + 74ce6de2-5181-454a-b37b-ac9adc2443bc + 100 + 2021-11-09 21:40:42.929 + + 0 + 116 + + Auto Logout Delay + true + false + false + false + false + false + false + false + false + true + true + + Measured in seconds, zero for no automatic logout + 10 + ECA14 + + Automatically logout if terminal inactive for this period + + + 100 + 2021-11-09 21:40:42.929 + + + + 72655 + + + 11 + 0 + 54141 + 0 + 50263 + 72879 + + + + + 5b12f6a6-cf20-4e1c-b060-c3e63a5a59b1 + 100 + 2021-11-09 21:40:44.251 + Auto Logout Delay + false + true + Measured in seconds, zero for no automatic logout + Automatically logout if terminal inactive for this period + 100 + 2021-11-09 21:40:44.251 + 0 + es_MX + 0 + 72879 + + + + + + + + 146e0656-f78e-4e64-98db-89f358cf8352 + 100 + 2021-11-09 21:40:44.429 + + 0 + 117 + + Transfer Cash trx to + true + false + false + false + false + false + false + false + false + true + true + + + 10 + ECA14 + + Bank Account on which to transfer all Cash transactions + + + 100 + 2021-11-09 21:40:44.429 + + + + 72657 + + 53283 + 18 + 0 + 52032 + 0 + 50263 + 72880 + + + + + b3bb11f7-aeed-42dc-afe1-31b245b61364 + 100 + 2021-11-09 21:40:45.733 + Transfer Cash trx to + false + true + + Bank Account on which to transfer all Cash transactions + 100 + 2021-11-09 21:40:45.733 + 0 + es_MX + 0 + 72880 + + + + + + + + 53f0481f-d809-4868-ad74-ae427b8597e3 + 100 + 2021-11-09 21:40:45.955 + + 0 + 118 + + Bank Account + true + false + false + false + false + false + false + false + false + true + true + + The Bank Account identifies an account at this Bank. + 10 + ECA14 + + Account at the Bank + + + 100 + 2021-11-09 21:40:45.955 + + + + 72658 + + + 19 + 0 + 836 + 0 + 50263 + 72881 + + + + + 2168b3d2-e36a-4ec9-8b2a-177558019fe7 + 100 + 2021-11-09 21:40:46.989 + Bank Account + false + true + The Bank Account identifies an account at this Bank. + Account at the Bank + 100 + 2021-11-09 21:40:46.989 + 0 + es_MX + 0 + 72881 + + + + + + + + 3f34d5f7-461f-42e7-8695-433899380f0e + 100 + 2021-11-09 21:40:47.201 + + 0 + 119 + + Template B.Partner + true + false + false + false + false + false + false + false + false + true + true + + When creating a new Business Partner from the Business Partner Search Field (right-click: Create), the selected business partner is used as a template, e.g. to define price list, payment terms, etc. + 10 + ECA14 + + Business Partner used for creating new Business Partners on the fly + + + 100 + 2021-11-09 21:40:47.201 + + + + 72659 + + 173 + 30 + 0 + 1070 + 0 + 50263 + 72882 + + + + + b001348c-4c47-4bb2-99b3-bce41ec114c4 + 100 + 2021-11-09 21:40:48.847 + Template B.Partner + false + true + When creating a new Business Partner from the Business Partner Search Field (right-click: Create), the selected business partner is used as a template, e.g. to define price list, payment terms, etc. + Business Partner used for creating new Business Partners on the fly + 100 + 2021-11-09 21:40:48.847 + 0 + es_MX + 0 + 72882 + + + + + + + + 30fefaee-4cba-440e-8069-84f170e328b1 + 100 + 2021-11-09 21:40:49.067 + + 0 + 120 + + Currency Type + true + false + false + false + false + false + false + false + false + true + true + + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + 10 + ECA14 + + Currency Conversion Rate Type + + + 100 + 2021-11-09 21:40:49.067 + + + + 72661 + + + 19 + 0 + 2278 + 0 + 50263 + 72883 + + + + + f5cb2701-11a2-4a56-ac38-76e245503124 + 100 + 2021-11-09 21:40:49.961 + Currency Type + false + true + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + Currency Conversion Rate Type + 100 + 2021-11-09 21:40:49.961 + 0 + es_MX + 0 + 72883 + + + + + + + + c8e2f5e5-5bc3-423f-b23b-a843a85d44c6 + 100 + 2021-11-09 21:40:50.163 + + 0 + 121 + + Document Type + true + false + false + false + false + false + false + false + false + true + true + + The Document Type determines document sequence and processing rules + 10 + ECA14 + + Document type or rules + + + 100 + 2021-11-09 21:40:50.163 + + + + 72662 + + + 19 + 0 + 196 + 0 + 50263 + 72884 + + + + + d29b3cac-1584-457f-ada2-0357fadc586c + 100 + 2021-11-09 21:40:51.612 + Document Type + false + true + The Document Type determines document sequence and processing rules + Document type or rules + 100 + 2021-11-09 21:40:51.612 + 0 + es_MX + 0 + 72884 + + + + + + + + 82a5050a-9c1d-4530-8d45-8ac08ad553fe + 100 + 2021-11-09 21:40:51.8 + + 0 + 122 + + POS Terminal + true + false + false + false + false + false + false + false + false + true + true + + The POS Terminal defines the defaults and functions available for the POS Form + 10 + ECA14 + + Point of Sales Terminal + + + 100 + 2021-11-09 21:40:51.8 + + + + 72663 + + + 13 + 0 + 2581 + 0 + 50263 + 72885 + + + + + 05936920-e8d8-44c9-a6c0-e2d8af04bc93 + 100 + 2021-11-09 21:40:52.869 + POS Terminal + false + true + The POS Terminal defines the defaults and functions available for the POS Form + Point of Sales Terminal + 100 + 2021-11-09 21:40:52.869 + 0 + es_MX + 0 + 72885 + + + + + + + + dd517613-09d1-4e9e-9634-4fa92bd47832 + 100 + 2021-11-09 21:40:53.09 + + 0 + 123 + + POS Key Layout + true + false + false + false + false + false + false + false + false + true + true + + POS Function Key Layout + 10 + ECA14 + + POS Function Key Layout + + + 100 + 2021-11-09 21:40:53.09 + + + + 72664 + + + 19 + 0 + 2583 + 0 + 50263 + 72886 + + + + + d924e26e-e298-402e-adbb-15b76aefdb69 + 100 + 2021-11-09 21:40:54.095 + POS Key Layout + false + true + POS Function Key Layout + POS Function Key Layout + 100 + 2021-11-09 21:40:54.095 + 0 + es_MX + 0 + 72886 + + + + + + + + 4b5fe49c-37d2-4441-9ae6-6c827d69bfd5 + 100 + 2021-11-09 21:40:54.32 + + 0 + 124 + + Created + true + false + false + false + false + false + false + false + false + true + true + + The Created field indicates the date that this record was created. + 7 + ECA14 + + Date this record was created + + + 100 + 2021-11-09 21:40:54.32 + + + + 72665 + + + 16 + 0 + 245 + 0 + 50263 + 72887 + + + + + 93ac3ea6-cfff-4a00-ac35-561190e12f96 + 100 + 2021-11-09 21:40:55.376 + Created + false + true + The Created field indicates the date that this record was created. + Date this record was created + 100 + 2021-11-09 21:40:55.376 + 0 + es_MX + 0 + 72887 + + + + + + + + f482e322-377c-46fd-baf4-82dd466139bc + 100 + 2021-11-09 21:40:55.593 + + 0 + 125 + + Created By + true + false + false + false + false + false + false + false + false + true + true + + The Created By field indicates the user who created this record. + 10 + ECA14 + + User who created this records + + + 100 + 2021-11-09 21:40:55.593 + + + + 72666 + + 110 + 18 + 0 + 246 + 0 + 50263 + 72888 + + + + + acae2571-9621-4683-ab31-bcda99320392 + 100 + 2021-11-09 21:40:56.646 + Created By + false + true + The Created By field indicates the user who created this record. + User who created this records + 100 + 2021-11-09 21:40:56.646 + 0 + es_MX + 0 + 72888 + + + + + + + + 0afc90fd-0734-473a-a4fb-cee5cda6d269 + 100 + 2021-11-09 21:40:56.86 + + 0 + 126 + + Delivery Rule + true + false + false + false + false + false + false + false + false + true + true + + The Delivery Rule indicates when an order should be delivered. For example should the order be delivered when the entire order is complete, when a line is complete or as the products become available. + 1 + ECA14 + + Defines the timing of Delivery + + + 100 + 2021-11-09 21:40:56.86 + + + + 72667 + + 151 + 17 + 0 + 555 + 0 + 50263 + 72889 + + + + + 51135019-faff-47bc-93d4-abe3d0e7711b + 100 + 2021-11-09 21:40:58.073 + Delivery Rule + false + true + The Delivery Rule indicates when an order should be delivered. For example should the order be delivered when the entire order is complete, when a line is complete or as the products become available. + Defines the timing of Delivery + 100 + 2021-11-09 21:40:58.073 + 0 + es_MX + 0 + 72889 + + + + + + + + 9c3296d8-7195-4b85-92da-499548594cd5 + 100 + 2021-11-09 21:40:58.307 + + 0 + 127 + + Description + true + false + false + false + false + false + false + false + false + true + true + + A description is limited to 255 characters. + 255 + ECA14 + + Optional short description of the record + + + 100 + 2021-11-09 21:40:58.307 + + + + 72668 + + + 10 + 0 + 275 + 0 + 50263 + 72890 + + + + + de6d98ca-51a6-40a1-ae1d-e93b468fd87e + 100 + 2021-11-09 21:40:59.282 + Description + false + true + A description is limited to 255 characters. + Optional short description of the record + 100 + 2021-11-09 21:40:59.282 + 0 + es_MX + 0 + 72890 + + + + + + + + 4fc16d7e-f207-46c6-b9ec-77a7cd00d448 + 100 + 2021-11-09 21:40:59.526 + + 0 + 128 + + Electronic Scales + true + false + false + false + false + false + false + false + false + true + true + + + 120 + ECA14 + + Allows to define path for Device Electronic Scales e.g. /dev/ttyS0/ + + + 100 + 2021-11-09 21:40:59.526 + + + + 72669 + + + 10 + 0 + 58381 + 0 + 50263 + 72891 + + + + + e1e0c4e3-b3f0-43dc-8c8f-221ab488e061 + 100 + 2021-11-09 21:41:00.765 + Electronic Scales + false + true + + Allows to define path for Device Electronic Scales e.g. /dev/ttyS0/ + 100 + 2021-11-09 21:41:00.765 + 0 + es_MX + 0 + 72891 + + + + + + + + b56416da-f67b-4b58-9e39-40dadf473c0c + 100 + 2021-11-09 21:41:00.983 + + 0 + 129 + + Comment/Help + true + false + false + false + false + false + false + false + false + true + true + + The Help field contains a hint, comment or help about the use of this item. + 2000 + ECA14 + + Comment or Hint + + + 100 + 2021-11-09 21:41:00.983 + + + + 72670 + + + 14 + 0 + 326 + 0 + 50263 + 72892 + + + + + 39dd2c43-cb83-4a8e-813a-26629db65749 + 100 + 2021-11-09 21:41:02.288 + Comment/Help + false + true + The Help field contains a hint, comment or help about the use of this item. + Comment or Hint + 100 + 2021-11-09 21:41:02.288 + 0 + es_MX + 0 + 72892 + + + + + + + + 2bac6e74-f7ad-4686-ad17-f1a8c3072da8 + 100 + 2021-11-09 21:41:02.483 + + 0 + 130 + + Modify Price + true + false + false + false + false + false + false + false + false + true + true + + Allow modifying the price for products with a non zero price + 1 + ECA14 + + Allow modifying the price + + + 100 + 2021-11-09 21:41:02.483 + + + + 72674 + + + 20 + 0 + 2584 + 0 + 50263 + 72893 + + + + + 17231fe5-4ab0-4a93-b81b-26766e8f85d5 + 100 + 2021-11-09 21:41:03.291 + Modify Price + false + true + Allow modifying the price for products with a non zero price + Allow modifying the price + 100 + 2021-11-09 21:41:03.291 + 0 + es_MX + 0 + 72893 + + + + + + + + 90462b07-9d06-4782-897b-0acae52cf8ef + 100 + 2021-11-09 21:41:03.522 + + 0 + 131 + + POS Required PIN + true + false + false + false + false + false + false + false + false + true + true + + + 1 + ECA14 + + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + + + 100 + 2021-11-09 21:41:03.522 + + + + 72675 + + + 20 + 0 + 58376 + 0 + 50263 + 72894 + + + + + e09eea54-7789-46f4-be8b-125d02eb077c + 100 + 2021-11-09 21:41:04.618 + POS Required PIN + false + true + + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + 100 + 2021-11-09 21:41:04.618 + 0 + es_MX + 0 + 72894 + + + + + + + + f12cccb1-a85a-4f22-a805-afd4ef1cba8d + 100 + 2021-11-09 21:41:04.841 + + 0 + 132 + + Price List + true + false + false + false + false + false + false + false + false + true + true + + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + 10 + ECA14 + + Unique identifier of a Price List + + + 100 + 2021-11-09 21:41:04.841 + + + + 72677 + + + 19 + 0 + 449 + 0 + 50263 + 72895 + + + + + db768cb5-a523-4a9c-8fec-b7b379865507 + 100 + 2021-11-09 21:41:05.965 + Price List + false + true + Price Lists are used to determine the pricing, margin and cost of items purchased or sold. + Unique identifier of a Price List + 100 + 2021-11-09 21:41:05.965 + 0 + es_MX + 0 + 72895 + + + + + + + + a5ec84b0-8490-4018-b1a1-95a87a3f153c + 100 + 2021-11-09 21:41:06.162 + + 0 + 133 + + Warehouse + true + false + false + false + false + false + false + false + false + true + true + + The Warehouse identifies a unique Warehouse where products are stored or Services are provided. + 10 + ECA14 + + Storage Warehouse and Service Point + + + 100 + 2021-11-09 21:41:06.162 + + + + 72678 + + + 19 + 0 + 459 + 0 + 50263 + 72896 + + + + + 7d885ea7-66f9-44d5-a165-e4c2bf45da6d + 100 + 2021-11-09 21:41:07.2 + Warehouse + false + true + The Warehouse identifies a unique Warehouse where products are stored or Services are provided. + Storage Warehouse and Service Point + 100 + 2021-11-09 21:41:07.2 + 0 + es_MX + 0 + 72896 + + + + + + + + 826bf493-b265-4289-9015-e645a2b39bc4 + 100 + 2021-11-09 21:41:07.388 + + 0 + 134 + + Name + true + false + false + false + false + false + false + true + false + true + true + + The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length. + 60 + ECA14 + + Alphanumeric identifier of the entity + + + 100 + 2021-11-09 21:41:07.388 + + + + 72679 + + + 10 + 0 + 469 + 0 + 50263 + 72897 + + + + + e57757b4-2023-4ec6-8a7a-ae9a5ad2b7a7 + 100 + 2021-11-09 21:41:08.369 + Name + false + true + The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length. + Alphanumeric identifier of the entity + 100 + 2021-11-09 21:41:08.369 + 0 + es_MX + 0 + 72897 + + + + + + + + 4d13e6cd-9732-4760-a090-cc95b540f38d + 100 + 2021-11-09 21:41:08.62 + + 0 + 135 + + On Screen Keyboard layout + true + false + false + false + false + false + false + false + false + true + true + + If empty, the on screen keyboard will not be used. + 10 + ECA14 + + The key layout to use for on screen keyboard for text fields. + + + 100 + 2021-11-09 21:41:08.62 + + + + 72680 + + 53350 + 18 + 0 + 54134 + 0 + 50263 + 72898 + + + + + 2c61ec8f-6bf6-4967-9082-a55a346fc583 + 100 + 2021-11-09 21:41:10.16 + On Screen Keyboard layout + false + true + If empty, the on screen keyboard will not be used. + The key layout to use for on screen keyboard for text fields. + 100 + 2021-11-09 21:41:10.16 + 0 + es_MX + 0 + 72898 + + + + + + + + 2943a594-9230-44cd-bcfd-56a07c6bfd34 + 100 + 2021-11-09 21:41:10.362 + + 0 + 136 + + On Screen Number Pad layout + true + false + false + false + false + false + false + false + false + true + true + + If empty, the on screen numberpad will not be used. + 10 + ECA14 + + The key layout to use for on screen number pad for numeric fields. + + + 100 + 2021-11-09 21:41:10.362 + + + + 72681 + + 53350 + 18 + 0 + 54135 + 0 + 50263 + 72899 + + + + + 2300f8d7-4249-434a-b614-c56ee0c06439 + 100 + 2021-11-09 21:41:11.297 + On Screen Number Pad layout + false + true + If empty, the on screen numberpad will not be used. + The key layout to use for on screen number pad for numeric fields. + 100 + 2021-11-09 21:41:11.297 + 0 + es_MX + 0 + 72899 + + + + + + + + 47498941-905e-4000-a500-2ae07c01e55e + 100 + 2021-11-09 21:41:11.557 + + 0 + 137 + + PIN Entry Timeout + true + false + false + false + false + false + false + false + false + true + true + + + 10 + ECA14 + + PIN Entry Timeout - the amount of time from initial display until the PIN entry dialog times out, in milliseconds. + + + 100 + 2021-11-09 21:41:11.557 + + + + 72682 + + + 11 + 0 + 58431 + 0 + 50263 + 72900 + + + + + ccd05486-9abd-43b2-b23f-f204f0db08bb + 100 + 2021-11-09 21:41:12.974 + PIN Entry Timeout + false + true + + PIN Entry Timeout - the amount of time from initial display until the PIN entry dialog times out, in milliseconds. + 100 + 2021-11-09 21:41:12.974 + 0 + es_MX + 0 + 72900 + + + + + + + + 1d6dc5b2-6e85-43cb-821b-08a7c2007bd2 + 100 + 2021-11-09 21:41:13.217 + + 0 + 138 + + Ticket Handler Class Name + true + false + false + false + false + false + false + false + false + true + true + + The Classname identifies the Java classname used by this report or process. + 60 + ECA14 + + Java Classname for Ticket Handler + + + 100 + 2021-11-09 21:41:13.217 + + + + 72685 + + + 10 + 0 + 59044 + 0 + 50263 + 72901 + + + + + 3bce48e7-1721-4e89-9a65-1ded9a4c833c + 100 + 2021-11-09 21:41:14.43 + Ticket Handler Class Name + false + true + The Classname identifies the Java classname used by this report or process. + Java Classname for Ticket Handler + 100 + 2021-11-09 21:41:14.43 + 0 + es_MX + 0 + 72901 + + + + + + + + b6bb6458-96ec-49d2-95c0-14a91a746d6c + 100 + 2021-11-09 21:41:14.66 + + 0 + 139 + + Updated + true + false + false + false + false + false + false + false + false + true + true + + The Updated field indicates the date that this record was updated. + 7 + ECA14 + + Date this record was updated + + + 100 + 2021-11-09 21:41:14.66 + + + + 72686 + + + 16 + 0 + 607 + 0 + 50263 + 72902 + + + + + 4ae70629-2819-4b0d-9976-1e07188b667f + 100 + 2021-11-09 21:41:16.077 + Updated + false + true + The Updated field indicates the date that this record was updated. + Date this record was updated + 100 + 2021-11-09 21:41:16.077 + 0 + es_MX + 0 + 72902 + + + + + + + + 9e73014e-7c6a-42be-ab90-a40d8fe55bca + 100 + 2021-11-09 21:41:16.292 + + 0 + 140 + + Updated By + true + false + false + false + false + false + false + false + false + true + true + + The Updated By field indicates the user who updated this record. + 10 + ECA14 + + User who updated this records + + + 100 + 2021-11-09 21:41:16.292 + + + + 72687 + + 110 + 18 + 0 + 608 + 0 + 50263 + 72903 + + + + + 46edde84-d922-49dc-a259-b7776197f8b9 + 100 + 2021-11-09 21:41:17.288 + Updated By + false + true + The Updated By field indicates the user who updated this record. + User who updated this records + 100 + 2021-11-09 21:41:17.288 + 0 + es_MX + 0 + 72903 + + + + + + + + 924b25b0-ffeb-4235-8bb3-065891eaa8cf + 100 + 2021-11-09 21:41:17.492 + + 0 + 141 + + Immutable Universally Unique Identifier + true + false + false + false + false + false + false + false + false + true + true + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + 36 + ECA14 + + Immutable Universally Unique Identifier + + + 100 + 2021-11-09 21:41:17.491 + + + + 72688 + + + 10 + 0 + 59595 + 0 + 50263 + 72904 + + + + + dffd7583-1aba-49bd-8870-e53678817bac + 100 + 2021-11-09 21:41:18.636 + Immutable Universally Unique Identifier + false + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + Immutable Universally Unique Identifier + 100 + 2021-11-09 21:41:18.636 + 0 + es_MX + 0 + 72904 + + + + + false + + + + + false + + + + + false + + + + + false + + + + + false + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 10 + true + + + + + 20 + true + + + + + 30 + true + + + + + 40 + true + + + + + 50 + true + + + + + 60 + true + + + + + 70 + true + + + + + 80 + true + + + + + 90 + true + + + + + 100 + true + + + + + 100 + true + + + + + 110 + + + + + 10 + true + + + + + 20 + true + + + + + 30 + true + + + + + 40 + true + + + + + 50 + true + + + + + 10 + true + + + + + true + true + + + + + false + true + + + + + -1 + + + + + -1 + + + + + -1 + + + + + -1 + + + + + 60 + + + + + + POSVerifyPayments_Process + be619edd-f26c-4990-b178-eae3653f5255 + 100 + 2021-11-09 21:48:04.612 + 0 + 0 + Y + + Verify Payments to Approve + + false + false + false + false + true + You can mark it as verified and change description + N + ECA14 + Verify all payments that is not verified + 100 + 2021-11-09 21:48:04.612 + N + org.spin.process.VerifyPayments + + + 54573 + + 0 + + 0 + + 3 + + + + + cbc845de-8375-4c0c-b8ac-2f58bee84fbd + 100 + 2021-11-09 21:48:05.663 + Verify Payments to Approve + false + true + You can mark it as verified and change description + Verify all payments that is not verified + 100 + 2021-11-09 21:48:05.663 + 54573 + 0 + es_MX + 0 + + + + + Aprobar Pagos por Verificar + Puede marcar uno o muchos pagos y agregar alguna descripción + Verifica todos los pagos que se encuentran por verificar y los marca como verificados + 54573 + es_MX + + + + + + + + 8ab61985-68ac-485b-bd06-989bc4093b3e + 100 + 2021-11-09 21:49:11.072 + 10 + + Payment Verified + false + true + false + true + true + + 1 + ECA14 + + This document require a verification + + -1 + 100 + 2021-11-09 21:49:11.072 + IsPaymentVerified + + 319 + 17 + 58519 + 54573 + 0 + 61889 + 0 + + + + + 79e17d86-a4a3-49c0-b408-13825f5a7db6 + 100 + 2021-11-09 21:49:12.256 + Payment Verified + false + true + + This document require a verification + 100 + 2021-11-09 21:49:12.256 + 58519 + 0 + es_MX + 0 + + + + + 54573 + + + + + 51f90bd4-4e46-49f0-9983-e79a17b53234 + 100 + 2021-11-09 21:50:03.471 + Verify Payments to Approve + false + false + false + true + true + ECA14 + + 100 + 2021-11-09 21:50:03.471 + + + + + + 0 + 54784 + + 0 + 50263 + S + + + + + c0e1416c-0c83-4195-a834-ef4d571c7324 + 100 + 2021-11-09 21:50:04.398 + Verify Payments to Approve + false + true + + 100 + 2021-11-09 21:50:04.398 + 0 + 54784 + es_MX + 0 + + + + + 08c975e7-f9f0-42df-8c4c-35d907a624bc + 100 + 2021-11-09 21:50:04.542 + 999 + 0 + 54784 + true + 100 + 2021-11-09 21:50:04.542 + 10 + 0 + 0 + + + + + 7 + 54030 + 54784 + 10 + + + + + + + + 40e88abd-c205-40a7-acf6-d7c765452f21 + 100 + 2021-11-09 21:51:48.531 + 20 + + Description + false + false + false + true + true + A description is limited to 255 characters. + 255 + ECA14 + + Optional short description of the record + + + 100 + 2021-11-09 21:51:48.531 + Description + + + 14 + 58520 + 54573 + 0 + 275 + 0 + + + + + 5deb9041-1517-4df9-a382-796c99123dcc + 100 + 2021-11-09 21:51:49.869 + Description + false + true + A description is limited to 255 characters. + Optional short description of the record + 100 + 2021-11-09 21:51:49.869 + 58520 + 0 + es_MX + 0 + + + + + true + + + + + LEFT JOIN C_POS pos ON(pos.C_POS_ID = p.C_POS_ID) + + + + + PaymentNotVerifyByOperator + 98f3303e-e9d1-4467-8cec-a047107496fa + 100 + 2021-11-09 21:57:20.314 + I + + Payment Not Verify, please take a time for verify it + true + ECA14 + 100 + 2021-11-09 21:57:20.314 + 0 + 53711 + 0 + + + + + f89b72aa-ce13-41d0-a9d2-ebe49f215b8b + 100 + 2021-11-09 21:57:21.117 + + Payment Not Verify, please take a time for verify it + false + true + 100 + 2021-11-09 21:57:21.117 + 0 + 53711 + es_MX + 0 + + + + + Pago no verificado, por favor tome un tiempo para verificar el mismo + 53711 + es_MX + + + + diff --git a/pos/xml/migration/09340_Add_Verification_for_payment_setup.xml b/pos/xml/migration/09340_Add_Verification_for_payment_setup.xml new file mode 100644 index 0000000000..fc4942e405 --- /dev/null +++ b/pos/xml/migration/09340_Add_Verification_for_payment_setup.xml @@ -0,0 +1,23 @@ + + + + + + 2015baf7-6a87-417c-8451-3fea4069cdc8 + 100 + 2021-11-10 09:49:34.064 + Add Payment Request Approval + true + + ECA14 + Add payment approval setup + 100 + 2021-11-10 09:49:34.064 + org.spin.pos.setup.AddPaymentApproval + 50039 + 0 + 0 + + + + diff --git a/pos/xml/migration/09350_Add_Discount_Schema_for_product_catalog.xml b/pos/xml/migration/09350_Add_Discount_Schema_for_product_catalog.xml new file mode 100644 index 0000000000..d3462aac14 --- /dev/null +++ b/pos/xml/migration/09350_Add_Discount_Schema_for_product_catalog.xml @@ -0,0 +1,59 @@ + + + + + + + + + c64fa6d0-2442-4079-a37b-579772482ca6 + 100 + 2021-11-10 09:54:58.877 + 100 + + Discount Schema + false + false + false + true + true + After calculation of the (standard) price, the trade discount percentage is calculated and applied resulting in the final price. + 22 + ECA14 + + Schema to calculate the trade discount percentage + + -1 + 100 + 2021-11-10 09:54:58.877 + M_DiscountSchema_ID + + 325 + 18 + 58521 + 54550 + 0 + 1714 + 0 + + + + + ad931d4d-8a35-49e0-8516-89186b129ebc + 100 + 2021-11-10 09:55:01.345 + Discount Schema + false + true + After calculation of the (standard) price, the trade discount percentage is calculated and applied resulting in the final price. + Schema to calculate the trade discount percentage + 100 + 2021-11-10 09:55:01.345 + 58521 + 0 + es_MX + 0 + + + + diff --git a/pos/xml/migration/09360_Change_display_order_for_verify_payment_browser.xml b/pos/xml/migration/09360_Change_display_order_for_verify_payment_browser.xml new file mode 100644 index 0000000000..9a64ad4817 --- /dev/null +++ b/pos/xml/migration/09360_Change_display_order_for_verify_payment_browser.xml @@ -0,0 +1,155 @@ + + + + + + 0 + false + + + + + 0 + false + + + + + 70 + + + + + 80 + true + + + + + ae33d578-2315-4c6b-95b0-6beadb6f7a77 + 100 + 2021-11-10 18:33:04.857 + Store Payment Method + true + + ECA14 + Payment Methods allowed for Store + 100 + 2021-11-10 18:33:04.857 + p.C_PaymentMethod_ID + P_C_PaymentMethod_ID + 50215 + 50569 + 72689 + 0 + 99059 + 0 + + + + + f072027c-52fa-407b-933f-ea6b2697cbdd + 100 + 2021-11-10 18:33:06.028 + Store Payment Method + false + true + + Payment Methods allowed for Store + 100 + 2021-11-10 18:33:06.028 + 72689 + 0 + es_MX + 0 + + + + + + + + 727a95eb-3a85-4a3e-aab4-72cd274e877b + 100 + 2021-11-10 18:33:35.578 + + 0 + 10 + + Store Payment Method + true + false + false + false + false + false + false + false + false + true + true + + + 10 + ECA14 + + Payment Methods allowed for Store + + + 100 + 2021-11-10 18:33:35.578 + + + + 72689 + + + 19 + 0 + 61500 + 0 + 50263 + 72905 + + + + + 09592275-cad2-4ae2-a717-55b7f9ff0378 + 100 + 2021-11-10 18:33:36.881 + Store Payment Method + false + true + + Payment Methods allowed for Store + 100 + 2021-11-10 18:33:36.881 + 0 + es_MX + 0 + 72905 + + + + + 80 + true + + + + + 90 + + + + + 100 + + + + + 110 + + + + diff --git a/pos/xml/migration/09370_Add_Discount_allocation_for_POS.xml b/pos/xml/migration/09370_Add_Discount_allocation_for_POS.xml new file mode 100644 index 0000000000..28c2a90aae --- /dev/null +++ b/pos/xml/migration/09370_Add_Discount_allocation_for_POS.xml @@ -0,0 +1,2962 @@ + + + + + + 5f4c5d0c-3c22-4f15-9e98-af3647e6ccb3 + 100 + 2021-11-11 17:29:26.62 + Default Campaign + + + + + Default Campaign + true + The Campaign defines a unique marketing program. Projects can be associated with a pre defined Marketing Campaign. You can then report based on a specific Campaign. + 22 + ECA14 + Marketing Campaign + 100 + 2021-11-11 17:29:26.62 + Default_Campaign_ID + 143 + 18 + 0 + 61891 + 0 + + + + + 0823430d-22dc-416d-8ad7-428b629d94bf + 100 + 2021-11-11 17:29:27.377 + Default Campaign + + + + + Default Campaign + false + true + The Campaign defines a unique marketing program. Projects can be associated with a pre defined Marketing Campaign. You can then report based on a specific Campaign. + Marketing Campaign + 100 + 2021-11-11 17:29:27.377 + 0 + es_MX + 61891 + 0 + + + + + Campaña Predeterminada + Campaña Predeterminada + La Campaña define un programa de mercadotecnia único. Los proyectos pueden estar asociados con una campaña de mercadotecnia única. Usted puede entonces reportar basado en una campaña específica + Campaña de Mercadeo Predeterminada + es_MX + 61891 + + + + + + 0 + + + 43112f8f-8103-406f-b670-49ec253bc6ae + 100 + 2021-11-11 17:30:22.729 + 0 + true + + + Default Campaign + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + The Campaign defines a unique marketing program. Projects can be associated with a pre defined Marketing Campaign. You can then report based on a specific Campaign. + + 10 + ECA14 + Marketing Campaign + + 100 + 2021-11-11 17:30:22.729 + + Default_Campaign_ID + + + 748 + 143 + 18 + + 0 + + 61891 + 99439 + 0 + + + + + + 0d6a0c61-8e00-4bc2-8e4b-39d9d92ae397 + 100 + 2021-11-11 17:30:24.031 + Default Campaign + false + true + 100 + 2021-11-11 17:30:24.031 + 0 + es_MX + 99439 + 0 + + + + + b1710cce-1cb7-4919-b8b7-637c4b64b80f + 100 + 2021-11-11 17:30:36.121 + 0 + 440 + 440 + 0 + + Default Campaign + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Campaign defines a unique marketing program. Projects can be associated with a pre defined Marketing Campaign. You can then report based on a specific Campaign. + ECA14 + + 0 + Marketing Campaign + + 100 + 2021-11-11 17:30:36.121 + + 676 + + + 0 + + 101821 + + + + 99439 + 0 + + + + + 52de5507-9a36-45bb-9282-07ac976ae140 + 100 + 2021-11-11 17:30:37.532 + Default Campaign + false + true + The Campaign defines a unique marketing program. Projects can be associated with a pre defined Marketing Campaign. You can then report based on a specific Campaign. + Marketing Campaign + 100 + 2021-11-11 17:30:37.531 + 0 + es_MX + 101821 + 0 + + + + + + 0 + + + dead13b8-7197-4bac-b09a-677bd4eba582 + 100 + 2021-11-11 17:45:11.747 + 0 + true + + + Sequence + + true + false + N + false + false + false + false + false + false + N + false + false + true + false + true + + The Sequence indicates the order of records + + 10 + ECA14 + Method of ordering records; lowest number comes first + @SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM C_POSDocumentTypeAllocation WHERE C_POS_ID=@C_POS_ID@ + 100 + 2021-11-11 17:45:11.746 + + SeqNo + + + 54850 + + 11 + + 0 + + 566 + 99440 + 0 + + + + + + bb76b101-cc20-41f1-8005-4b69d7b3c51e + 100 + 2021-11-11 17:45:12.896 + Sequence + false + true + 100 + 2021-11-11 17:45:12.896 + 0 + es_MX + 99440 + 0 + + + + + + 0 + + + 9daf689c-6ed1-4456-99a9-44945e8f0441 + 100 + 2021-11-11 17:50:38.388 + 0 + true + + + Sequence + + true + false + N + false + false + false + false + false + false + N + false + false + true + false + true + + The Sequence indicates the order of records + + 10 + ECA14 + Method of ordering records; lowest number comes first + @SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM C_POSPaymentTypeAllocation WHERE C_POS_ID=@C_POS_ID@ + 100 + 2021-11-11 17:50:38.388 + + SeqNo + + + 54848 + + 11 + + 0 + + 566 + 99441 + 0 + + + + + + 5518bad5-adca-4935-a684-9b98b8c40de2 + 100 + 2021-11-11 17:50:39.417 + Sequence + false + true + 100 + 2021-11-11 17:50:39.417 + 0 + es_MX + 99441 + 0 + + + + + + 0 + + + a6dc8716-7c88-4d94-b898-9018cecdb578 + 100 + 2021-11-11 17:50:56.978 + 0 + true + + + Sequence + + true + false + N + false + false + false + false + false + false + N + false + false + true + false + true + + The Sequence indicates the order of records + + 10 + ECA14 + Method of ordering records; lowest number comes first + @SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM C_POSPriceListAllocation WHERE C_POS_ID=@C_POS_ID@ + 100 + 2021-11-11 17:50:56.978 + + SeqNo + + + 54849 + + 11 + + 0 + + 566 + 99442 + 0 + + + + + + cd243259-41e6-462c-af9b-dde59a839215 + 100 + 2021-11-11 17:50:58.123 + Sequence + false + true + 100 + 2021-11-11 17:50:58.123 + 0 + es_MX + 99442 + 0 + + + + + + 0 + + + aea5eabd-c7bb-4b0f-a5f1-288fa2e5fcbc + 100 + 2021-11-11 17:51:22.669 + 0 + true + + + Sequence + + true + false + N + false + false + false + false + false + false + N + false + false + true + false + true + + The Sequence indicates the order of records + + 10 + ECA14 + Method of ordering records; lowest number comes first + @SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM C_POSWarehouseAllocation WHERE C_POS_ID=@C_POS_ID@ + 100 + 2021-11-11 17:51:22.669 + + SeqNo + + + 54847 + + 11 + + 0 + + 566 + 99443 + 0 + + + + + + c4071327-a2e8-4501-9681-eb631574d389 + 100 + 2021-11-11 17:51:23.916 + Sequence + false + true + 100 + 2021-11-11 17:51:23.916 + 0 + es_MX + 99443 + 0 + + + + + bb2aaacd-4d9d-49da-9d85-11c92b868f4e + 100 + 2021-11-11 17:55:37.649 + C_POSDiscountAllocation + true + L + + + POS Discount Allocation + 0 + false + false + false + false + false + true + false + true + true + + + ECA14 + Discounts allocated for POS terminal + 100 + 2021-11-11 17:55:37.649 + + 338 + + 54871 + 0 + + 0 + 0 + 2 + + + + + 1fd56560-0b04-4468-a486-860249b6fb7e + 100 + 2021-11-11 17:55:38.755 + POS Discount Allocation + false + true + 100 + 2021-11-11 17:55:38.755 + 54871 + 0 + es_MX + 0 + + + + + c29949aa-4ef6-4abc-9c14-fe6257c8709f + 100 + 2021-11-11 17:55:38.86 + POS Discount Allocation + + + + + POS Discount Allocation + true + + + ECA14 + + 100 + 2021-11-11 17:55:38.86 + C_POSDiscountAllocation_ID + + + 0 + 61892 + 0 + + + + + 15bfdc89-d17d-4f52-9439-2caafed97821 + 100 + 2021-11-11 17:55:39.655 + POS Discount Allocation + + + + + POS Discount Allocation + false + true + + + 100 + 2021-11-11 17:55:39.655 + 0 + es_MX + 61892 + 0 + + + + + + 1 + + + 8596c353-d4d7-49f8-9a6e-12feec45961b + 100 + 2021-11-11 17:55:39.802 + + true + + + POS Discount Allocation + + false + false + + false + false + false + true + true + false + N + false + false + true + false + true + + + + 10 + ECA14 + + + 100 + 2021-11-11 17:55:39.801 + + C_POSDiscountAllocation_ID + + + 54871 + + 13 + + 0 + + 61892 + 99444 + 0 + + + + + + 91842f6d-9da6-43fe-a913-ed7564d9a9db + 100 + 2021-11-11 17:55:41.326 + POS Discount Allocation + false + true + 100 + 2021-11-11 17:55:41.326 + 0 + es_MX + 99444 + 0 + + + + + + 1 + + + a0b4c245-4bce-4ad2-bded-7ca751817f12 + 100 + 2021-11-11 17:55:41.43 + + true + + + Client + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + 10 + ECA14 + Client/Tenant for this installation. + @#AD_Client_ID@ + 100 + 2021-11-11 17:55:41.43 + + AD_Client_ID + + 129 + 54871 + + 19 + + 0 + + 102 + 99445 + 0 + + + + + + 7363c7ed-808d-4e41-8480-4ac6689dd61f + 100 + 2021-11-11 17:55:42.897 + Client + false + true + 100 + 2021-11-11 17:55:42.897 + 0 + es_MX + 99445 + 0 + + + + + + 1 + + + dd805932-c3d5-4199-8355-a370b8667fa1 + 100 + 2021-11-11 17:55:43.027 + + true + + + Organization + + true + false + + false + false + false + true + false + false + N + false + false + true + true + true + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + 10 + ECA14 + Organizational entity within client + @#AD_Org_ID@ + 100 + 2021-11-11 17:55:43.027 + + AD_Org_ID + + 104 + 54871 + + 19 + + 0 + + 113 + 99446 + 0 + + + + + + 52ed18b3-e979-401a-b8ca-dd843f94480b + 100 + 2021-11-11 17:55:44.372 + Organization + false + true + 100 + 2021-11-11 17:55:44.372 + 0 + es_MX + 99446 + 0 + + + + + + 1 + + + 443c54e6-631b-4191-a7dd-d254941b9b52 + 100 + 2021-11-11 17:55:44.506 + + true + + + Active + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + 1 + ECA14 + The record is active in the system + Y + 100 + 2021-11-11 17:55:44.506 + + IsActive + + + 54871 + + 20 + + 0 + + 348 + 99447 + 0 + + + + + + fce344be-33f1-4274-9520-d7934d5c1c65 + 100 + 2021-11-11 17:55:45.749 + Active + false + true + 100 + 2021-11-11 17:55:45.749 + 0 + es_MX + 99447 + 0 + + + + + + 1 + + + 7d71bfd8-cc53-40d0-ab46-aee8f91ab90e + 100 + 2021-11-11 17:55:45.932 + + true + + + Created + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Created field indicates the date that this record was created. + + 0 + ECA14 + Date this record was created + + 100 + 2021-11-11 17:55:45.932 + + Created + + + 54871 + + 16 + + 0 + + 245 + 99448 + 0 + + + + + + 58b0da17-4729-4d4e-ada2-025da41298c6 + 100 + 2021-11-11 17:55:47.533 + Created + false + true + 100 + 2021-11-11 17:55:47.533 + 0 + es_MX + 99448 + 0 + + + + + + 1 + + + d5d1e376-9d6a-406f-9ca8-ec4441fcab67 + 100 + 2021-11-11 17:55:47.684 + + true + + + Updated + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Updated field indicates the date that this record was updated. + + 0 + ECA14 + Date this record was updated + + 100 + 2021-11-11 17:55:47.684 + + Updated + + + 54871 + + 16 + + 0 + + 607 + 99449 + 0 + + + + + + afebfa7b-b5e0-4f6a-bf04-b620a2abaa8b + 100 + 2021-11-11 17:55:48.587 + Updated + false + true + 100 + 2021-11-11 17:55:48.587 + 0 + es_MX + 99449 + 0 + + + + + + 1 + + + ca01411c-31fe-475c-8910-16c0a274e141 + 100 + 2021-11-11 17:55:48.768 + + true + + + Created By + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Created By field indicates the user who created this record. + + 10 + ECA14 + User who created this records + + 100 + 2021-11-11 17:55:48.768 + + CreatedBy + + + 54871 + 110 + 18 + + 0 + + 246 + 99450 + 0 + + + + + + f845c5fc-45cc-4496-a78f-6bca7f589c3f + 100 + 2021-11-11 17:55:49.815 + Created By + false + true + 100 + 2021-11-11 17:55:49.815 + 0 + es_MX + 99450 + 0 + + + + + + 1 + + + 6fc3f866-aff3-43db-9005-6e862c2a0ff2 + 100 + 2021-11-11 17:55:50.008 + + true + + + Updated By + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Updated By field indicates the user who updated this record. + + 10 + ECA14 + User who updated this records + + 100 + 2021-11-11 17:55:50.008 + + UpdatedBy + + + 54871 + 110 + 18 + + 0 + + 608 + 99451 + 0 + + + + + + ef2e0b7a-d56b-43aa-915a-076ab6d01070 + 100 + 2021-11-11 17:55:51.368 + Updated By + false + true + 100 + 2021-11-11 17:55:51.368 + 0 + es_MX + 99451 + 0 + + + + + + 1 + + + dd3879f3-d7c2-4b68-a3f9-06be131eaf5a + 100 + 2021-11-11 17:55:51.625 + + true + + + Immutable Universally Unique Identifier + + true + false + + false + false + false + false + false + false + N + false + false + true + false + true + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + 36 + ECA14 + Immutable Universally Unique Identifier + + 100 + 2021-11-11 17:55:51.625 + + UUID + + + 54871 + + 10 + + 0 + + 59595 + 99452 + 0 + + + + + + 22b2f693-d185-47e1-80e9-424e4b2a15ec + 100 + 2021-11-11 17:55:53.033 + Immutable Universally Unique Identifier + false + true + 100 + 2021-11-11 17:55:53.033 + 0 + es_MX + 99452 + 0 + + + + + + f325a05a-adbe-40cc-827a-7ef7cd8be0c5 + 100 + 2021-11-11 17:55:53.2 + + 1000000 + false + + C_POSDiscountAllocation + true + true + false + true + 1 + Table C_POSDiscountAllocation + + + 50000 + 1000000 + 100 + 2021-11-11 17:55:53.2 + 55393 + 0 + 0 + + + + + Asignación de Descuentos + 54871 + es_MX + + + + + + 0 + + + f2e5bef1-4505-479e-9993-27b20fddfeca + 100 + 2021-11-11 18:07:46.621 + 1 + true + + + Discount Schema + + true + false + N + true + false + false + true + false + true + N + false + false + true + true + true + + After calculation of the (standard) price, the trade discount percentage is calculated and applied resulting in the final price. + + 10 + ECA14 + Schema to calculate the trade discount percentage + + 100 + 2021-11-11 18:07:46.621 + + M_DiscountSchema_ID + + + 54871 + 325 + 18 + + 0 + + 1714 + 99453 + 0 + + + + + + 556ceee6-60ac-493a-aebe-3b70c3c9fd0c + 100 + 2021-11-11 18:07:49.421 + Discount Schema + false + true + 100 + 2021-11-11 18:07:49.421 + 0 + es_MX + 99453 + 0 + + + + + + 0 + + + 9054a3dc-c7c9-4c45-821c-62a775cf331f + 100 + 2021-11-11 18:08:04.684 + 0 + true + + + Sequence + + true + false + N + false + false + false + false + false + false + N + false + false + true + false + true + + The Sequence indicates the order of records + + 10 + ECA14 + Method of ordering records; lowest number comes first + @SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM C_POSDiscountAllocation WHERE C_POS_ID=@C_POS_ID@ + 100 + 2021-11-11 18:08:04.684 + + SeqNo + + + 54871 + + 11 + + 0 + + 566 + 99454 + 0 + + + + + + 781cab9a-de65-4479-8a9f-cb01349cad56 + 100 + 2021-11-11 18:08:05.618 + Sequence + false + true + 100 + 2021-11-11 18:08:05.618 + 0 + es_MX + 99454 + 0 + + + + + + 0 + + + af97e7d9-eaf0-4e0a-8f61-7d19fd4b550e + 100 + 2021-11-11 18:08:35.59 + 0 + true + + + POS Required PIN + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 1 + ECA14 + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + N + 100 + 2021-11-11 18:08:35.59 + + IsPOSRequiredPIN + + + 54871 + + 20 + + 0 + + 58376 + 99455 + 0 + + + + + + 2d53f4ad-8b50-476a-b430-ed9ec8daad8e + 100 + 2021-11-11 18:08:37.019 + POS Required PIN + false + true + 100 + 2021-11-11 18:08:37.019 + 0 + es_MX + 99455 + 0 + + + + + 10 + 19 + + + + + Asignación de Esquema de Descuento + Asignación de Esquema de Descuento + es_MX + 61892 + + + + + Asignación de Esquema de Descuento para el punto de ventas + es_MX + 61892 + + + + + b35dc283-1b32-4f40-acd9-b52cb37b73da + 100 + 2021-11-11 18:14:48.722 + + 0 + 0 + + + Sequence + false + false + false + + false + false + false + false + true + true + true + false + true + + + The Sequence indicates the order of records + ECA14 + + 10 + Method of ordering records; lowest number comes first + + 100 + 2021-11-11 18:14:48.722 + + 55109 + + + 0 + + 101823 + + + + 99443 + 0 + + + + + 9e4ae5c6-8d92-46c4-ad0a-57c8fafb8cc3 + 100 + 2021-11-11 18:14:50.036 + Sequence + false + true + The Sequence indicates the order of records + Method of ordering records; lowest number comes first + 100 + 2021-11-11 18:14:50.036 + 0 + es_MX + 101823 + 0 + + + + + 03308dab-5164-4b29-b2dd-23660987651f + 100 + 2021-11-11 18:14:58.791 + + 0 + 0 + + + Sequence + false + false + false + + false + false + false + false + true + true + true + false + true + + + The Sequence indicates the order of records + ECA14 + + 10 + Method of ordering records; lowest number comes first + + 100 + 2021-11-11 18:14:58.791 + + 55110 + + + 0 + + 101824 + + + + 99441 + 0 + + + + + 1d07ce53-8ef2-4a34-bd84-28e1f56a407c + 100 + 2021-11-11 18:14:59.671 + Sequence + false + true + The Sequence indicates the order of records + Method of ordering records; lowest number comes first + 100 + 2021-11-11 18:14:59.671 + 0 + es_MX + 101824 + 0 + + + + + 48febf5a-8264-437b-862a-51e7c2c9e87d + 100 + 2021-11-11 18:15:05.003 + + 0 + 0 + + + Sequence + false + false + false + + false + false + false + false + true + true + true + false + true + + + The Sequence indicates the order of records + ECA14 + + 10 + Method of ordering records; lowest number comes first + + 100 + 2021-11-11 18:15:05.003 + + 55111 + + + 0 + + 101825 + + + + 99442 + 0 + + + + + 2022c86b-6605-4751-9ca0-c74e8a79005b + 100 + 2021-11-11 18:15:05.815 + Sequence + false + true + The Sequence indicates the order of records + Method of ordering records; lowest number comes first + 100 + 2021-11-11 18:15:05.815 + 0 + es_MX + 101825 + 0 + + + + + 39480dd9-8749-4fec-9130-25ff5672b88f + 100 + 2021-11-11 18:15:10.117 + + 0 + 0 + + + Sequence + false + false + false + + false + false + false + false + true + true + true + false + true + + + The Sequence indicates the order of records + ECA14 + + 10 + Method of ordering records; lowest number comes first + + 100 + 2021-11-11 18:15:10.117 + + 55112 + + + 0 + + 101826 + + + + 99440 + 0 + + + + + f1be499d-0b13-4934-a31b-2da90e30d5b6 + 100 + 2021-11-11 18:15:10.931 + Sequence + false + true + The Sequence indicates the order of records + Method of ordering records; lowest number comes first + 100 + 2021-11-11 18:15:10.931 + 0 + es_MX + 101826 + 0 + + + + + + ee17dfe7-b627-4b7c-b6d9-b6f52df6feae + 100 + 2021-11-11 18:16:00.844 + 1 + 70 + + false + + + Discount Schema Allocation + false + false + false + false + true + false + false + true + + N + Discount Schema Allocation for POS + false + ECA14 + + Discount Schema Allocation for POS + 100 + 2021-11-11 18:16:00.843 + + 338 + 54871 + 55129 + + 0 + + + + + + 0 + + + + + bdd084f9-870f-4339-b134-9bbf03ea3168 + 100 + 2021-11-11 18:16:01.834 + Discount Schema Allocation + false + true + Discount Schema Allocation for POS + Discount Schema Allocation for POS + 100 + 2021-11-11 18:16:01.834 + + 55129 + 0 + es_MX + 0 + + + + + 8ac0bf41-54c7-4b4f-a2db-04c88575b49e + 100 + 2021-11-11 18:16:04.043 + + 0 + 0 + + + Active + false + false + false + + false + false + false + false + true + true + true + false + true + + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + ECA14 + + 1 + The record is active in the system + + 100 + 2021-11-11 18:16:04.042 + + 55129 + + + 0 + + 101827 + + + + 99447 + 0 + + + + + 70f5154c-4246-4513-9be7-382f7205c127 + 100 + 2021-11-11 18:16:04.93 + Active + false + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + The record is active in the system + 100 + 2021-11-11 18:16:04.93 + 0 + es_MX + 101827 + 0 + + + + + 48e0c084-d9b5-4a4d-9c70-c92ffa7c973c + 100 + 2021-11-11 18:16:05.139 + + 0 + 0 + + + Client + false + false + false + + false + false + false + false + true + true + true + false + true + + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + ECA14 + + 10 + Client/Tenant for this installation. + + 100 + 2021-11-11 18:16:05.139 + + 55129 + + + 0 + + 101828 + + + + 99445 + 0 + + + + + 34524786-464a-4cf3-a426-a968be795366 + 100 + 2021-11-11 18:16:06.096 + Client + false + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + Client/Tenant for this installation. + 100 + 2021-11-11 18:16:06.096 + 0 + es_MX + 101828 + 0 + + + + + cf7564c4-1764-408c-a496-87910bb86f17 + 100 + 2021-11-11 18:16:06.256 + + 0 + 0 + + + Discount Schema + false + false + false + + false + false + false + false + true + true + true + true + true + + + After calculation of the (standard) price, the trade discount percentage is calculated and applied resulting in the final price. + ECA14 + + 10 + Schema to calculate the trade discount percentage + + 100 + 2021-11-11 18:16:06.256 + + 55129 + + + 0 + + 101829 + + + + 99453 + 0 + + + + + 4f41b3c0-d1ee-4a60-9dab-6e03a5bf8212 + 100 + 2021-11-11 18:16:07.622 + Discount Schema + false + true + After calculation of the (standard) price, the trade discount percentage is calculated and applied resulting in the final price. + Schema to calculate the trade discount percentage + 100 + 2021-11-11 18:16:07.622 + 0 + es_MX + 101829 + 0 + + + + + 154a19e6-fa8a-4094-8e15-285b72fdf9a5 + 100 + 2021-11-11 18:16:07.837 + + 0 + 0 + + + Immutable Universally Unique Identifier + false + false + false + + false + false + false + false + true + false + true + false + true + + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + ECA14 + + 36 + Immutable Universally Unique Identifier + + 100 + 2021-11-11 18:16:07.837 + + 55129 + + + 0 + + 101830 + + + + 99452 + 0 + + + + + f48a7a8c-7b47-4a84-bc03-3f15d3c24fb6 + 100 + 2021-11-11 18:16:09.233 + Immutable Universally Unique Identifier + false + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + Immutable Universally Unique Identifier + 100 + 2021-11-11 18:16:09.233 + 0 + es_MX + 101830 + 0 + + + + + 6d246f94-de38-450b-bea7-8ffdd7dbf376 + 100 + 2021-11-11 18:16:09.339 + + 0 + 0 + + + Organization + false + false + false + + false + false + false + false + true + true + true + true + true + + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + ECA14 + + 10 + Organizational entity within client + + 100 + 2021-11-11 18:16:09.339 + + 55129 + + + 0 + + 101831 + + + + 99446 + 0 + + + + + d0f8558a-5bfe-4338-a42e-d460b0d2244b + 100 + 2021-11-11 18:16:10.864 + Organization + false + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + Organizational entity within client + 100 + 2021-11-11 18:16:10.864 + 0 + es_MX + 101831 + 0 + + + + + 16c40e0e-84dd-4a0b-9e72-0de28af14f2d + 100 + 2021-11-11 18:16:11.006 + + 0 + 0 + + + POS Discount Allocation + false + false + false + + false + false + false + false + true + false + true + false + true + + + + ECA14 + + 10 + + + 100 + 2021-11-11 18:16:11.006 + + 55129 + + + 0 + + 101832 + + + + 99444 + 0 + + + + + 91f37d90-6fdc-4a2a-bf83-a2064be908c2 + 100 + 2021-11-11 18:16:12.343 + POS Discount Allocation + false + true + + + 100 + 2021-11-11 18:16:12.343 + 0 + es_MX + 101832 + 0 + + + + + 6c7dcafa-7d7d-4aa7-94dd-b18084e9b23c + 100 + 2021-11-11 18:16:12.475 + + 0 + 0 + + + POS Required PIN + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 1 + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + + 100 + 2021-11-11 18:16:12.474 + + 55129 + + + 0 + + 101833 + + + + 99455 + 0 + + + + + c8827e2b-fcb2-4aa1-91ca-71852c29813a + 100 + 2021-11-11 18:16:13.653 + POS Required PIN + false + true + + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + 100 + 2021-11-11 18:16:13.653 + 0 + es_MX + 101833 + 0 + + + + + 481e39a4-9456-4edf-b0d7-300b36d2e0dd + 100 + 2021-11-11 18:16:13.763 + + 0 + 0 + + + Sequence + false + false + false + + false + false + false + false + true + true + true + false + true + + + The Sequence indicates the order of records + ECA14 + + 10 + Method of ordering records; lowest number comes first + + 100 + 2021-11-11 18:16:13.763 + + 55129 + + + 0 + + 101834 + + + + 99454 + 0 + + + + + e4c7ef68-53be-4633-b495-f80054ad8dba + 100 + 2021-11-11 18:16:14.729 + Sequence + false + true + The Sequence indicates the order of records + Method of ordering records; lowest number comes first + 100 + 2021-11-11 18:16:14.729 + 0 + es_MX + 101834 + 0 + + + + + Esquemas de Descuentos Asignados + Esquemas de Descuentos Asignados al Terminal o Punto de Ventas + Esquemas de Descuentos Asignados al Terminal + 55129 + es_MX + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + + 0 + + + 8769e792-acf1-4745-9004-f5c4ab16658b + 100 + 2021-11-11 18:17:26.477 + 0 + true + + + POS Terminal + + false + false + N + false + false + true + true + false + false + N + false + false + true + true + true + + The POS Terminal defines the defaults and functions available for the POS Form + + 10 + ECA14 + Point of Sales Terminal + + 100 + 2021-11-11 18:17:26.477 + + C_POS_ID + + + 54871 + + 19 + + 0 + + 2581 + 99456 + 0 + + + + + + a8633826-8774-47c7-bca5-8b24fc0cb5c5 + 100 + 2021-11-11 18:17:27.648 + POS Terminal + false + true + 100 + 2021-11-11 18:17:27.648 + 0 + es_MX + 99456 + 0 + + + + + 7dffb43a-720e-4d78-a2c4-fbe6cdeb1114 + 100 + 2021-11-11 18:17:35.546 + + 0 + 0 + + + POS Terminal + false + false + false + + false + false + false + false + true + true + true + true + true + + + The POS Terminal defines the defaults and functions available for the POS Form + ECA14 + + 10 + Point of Sales Terminal + + 100 + 2021-11-11 18:17:35.546 + + 55129 + + + 0 + + 101835 + + + + 99456 + 0 + + + + + 260edf23-46cc-4b92-8326-970524789edc + 100 + 2021-11-11 18:17:36.769 + POS Terminal + false + true + The POS Terminal defines the defaults and functions available for the POS Form + Point of Sales Terminal + 100 + 2021-11-11 18:17:36.769 + 0 + es_MX + 101835 + 0 + + + + + 30 + + + + + 70 + + + + + true + + + + + true + + + + + true + + + + + 99456 + + + + + cb8e4e42-494c-404d-b51b-083b8f08cbb3 + 100 + 2021-11-11 19:18:17.695 + Tolerance write-off per Document + + + + + Tolerance write-off per Document + true + + 10 + ECA14 + Tolerance amount to be written off in invoice currency + 100 + 2021-11-11 19:18:17.695 + ToleranceWriteOffAmt + + 12 + 0 + 61893 + 0 + + + + + 5573094b-63f8-43f7-92d7-ffdda5e2aaf7 + 100 + 2021-11-11 19:18:20.035 + Tolerance write-off per Document + + + + + Tolerance write-off per Document + false + true + + Tolerance amount to be written off in invoice currency + 100 + 2021-11-11 19:18:20.035 + 0 + es_MX + 61893 + 0 + + + + + Tolerancia para Ajustar Documentos + Tolerancia para Ajustar Documentos + Tolerancia para Ajustar Documentos automáticamente + es_MX + 61893 + + + + + + 0 + + + 9f08dacf-ff5d-4ab6-a66e-15a8f1e4f4e3 + 100 + 2021-11-11 19:19:44.968 + 0 + true + + + Tolerance write-off per Document + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 0 + ECA14 + Tolerance amount to be written off in invoice currency + + 100 + 2021-11-11 19:19:44.968 + + ToleranceWriteOffAmt + + + 748 + + 12 + + 0 + + 61893 + 99457 + 0 + + + + + + 839a491e-dfe6-42cc-b4e1-c96dbe4f058e + 100 + 2021-11-11 19:19:46.251 + Tolerance write-off per Document + false + true + 100 + 2021-11-11 19:19:46.251 + 0 + es_MX + 99457 + 0 + + + + + b192b814-f06a-4300-a9f8-cccebd84f02d + 100 + 2021-11-11 19:20:00.252 + 0 + 450 + 450 + 0 + + Tolerance write-off per Document + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Tolerance amount to be written off in invoice currency + + 100 + 2021-11-11 19:20:00.251 + + 676 + + + 0 + + 101836 + + + + 99457 + 0 + + + + + e76f1d91-380b-4828-9993-d0b9d8528b46 + 100 + 2021-11-11 19:20:01.958 + Tolerance write-off per Document + false + true + + Tolerance amount to be written off in invoice currency + 100 + 2021-11-11 19:20:01.958 + 0 + es_MX + 101836 + 0 + + + + + 0.01 + + + + + 0ea7030a-ad15-4f5b-9659-b1b8de82bfb3 + 100 + 2021-11-11 19:21:53.821 + Maximum Discount % + + + + + Maximum Discount % + true + The Discount indicates the discount applied or taken as a percentage. + 22 + ECA14 + Discount in percent + 100 + 2021-11-11 19:21:53.821 + MaximumDiscount + + 22 + 0 + 61894 + 0 + + + + + f0c76a95-d6f9-4c72-93c1-b1f8dcbb5c28 + 100 + 2021-11-11 19:21:54.751 + Maximum Discount % + + + + + Maximum Discount % + false + true + The Discount indicates the discount applied or taken as a percentage. + Discount in percent + 100 + 2021-11-11 19:21:54.751 + 0 + es_MX + 61894 + 0 + + + + + % Descuento Máximo + % Descuento Máximo + % Descuento Máximo por documento en el punto de ventas + % Descuento Máximo por documento + es_MX + 61894 + + + + + + 0 + + + 953615a6-3f6a-4b27-8484-5abb423df4e3 + 100 + 2021-11-11 19:22:35.905 + 0 + true + + + Maximum Discount % + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + The Discount indicates the discount applied or taken as a percentage. + + 0 + ECA14 + Discount in percent + + 100 + 2021-11-11 19:22:35.905 + + MaximumDiscount + + + 748 + + 22 + + 0 + + 61894 + 99458 + 0 + + + + + + f22939ad-984f-4dc1-85f2-e1dd49b66107 + 100 + 2021-11-11 19:22:37.5 + Maximum Discount % + false + true + 100 + 2021-11-11 19:22:37.5 + 0 + es_MX + 99458 + 0 + + + + + b8483406-f9e8-49a1-b7fc-5ae52f34c3ad + 100 + 2021-11-11 19:22:50.589 + 0 + 460 + 460 + 0 + + Maximum Discount % + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Discount indicates the discount applied or taken as a percentage. + ECA14 + + 0 + Discount in percent + + 100 + 2021-11-11 19:22:50.589 + + 676 + + + 0 + + 101837 + + + + 99458 + 0 + + + + + 36e9c240-8b0e-42e1-a06e-a3a48b12e44a + 100 + 2021-11-11 19:22:51.752 + Maximum Discount % + false + true + The Discount indicates the discount applied or taken as a percentage. + Discount in percent + 100 + 2021-11-11 19:22:51.752 + 0 + es_MX + 101837 + 0 + + + + diff --git a/pos/xml/migration/09380_Change_column_names_for_POS.xml b/pos/xml/migration/09380_Change_column_names_for_POS.xml new file mode 100644 index 0000000000..16af9a273f --- /dev/null +++ b/pos/xml/migration/09380_Change_column_names_for_POS.xml @@ -0,0 +1,43 @@ + + + + + + DefaultCampaign_ID + + + + + DefaultCampaign_ID + + + + + MaximumDiscountAllowed + + + + + MaximumDiscountAllowed + + + + + Tolerance for write-off per Document + Tolerance for write-off per Document + WriteOffAmtTolerance + + + + + Tolerance for write-off per Document + WriteOffAmtTolerance + + + + + Tolerance for write-off per Document + + + + diff --git a/pos/xml/migration/09390_Add_default_charge_for_POS.xml b/pos/xml/migration/09390_Add_default_charge_for_POS.xml new file mode 100644 index 0000000000..4adbc355af --- /dev/null +++ b/pos/xml/migration/09390_Add_default_charge_for_POS.xml @@ -0,0 +1,404 @@ + + + + + + ec3f1103-c339-4e73-912e-454474f66403 + 100 + 2021-11-11 21:35:00.437 + Default Withdrawal Charge + + + + + Default Withdrawal Charge + true + + 10 + ECA14 + Default Withdrawal Charge for POS + 100 + 2021-11-11 21:35:00.437 + DefaultWithdrawalCharge_ID + 200 + 18 + 0 + 61895 + 0 + + + + + eb0a0a23-fa12-4da2-bbe5-3829e3cf4fbc + 100 + 2021-11-11 21:35:02.917 + Default Withdrawal Charge + + + + + Default Withdrawal Charge + false + true + + Default Withdrawal Charge for POS + 100 + 2021-11-11 21:35:02.917 + 0 + es_MX + 61895 + 0 + + + + + Cargo Predeterminado para Apertura + Cargo Predeterminado para Apertura + Cargo Predeterminado para Apertura de Caja + es_MX + 61895 + + + + + c3a5ba67-6e92-40ce-aa79-7ec167007853 + 100 + 2021-11-11 21:35:45.001 + Default Opening Charge + + + + + Default Opening Charge + true + + 10 + ECA14 + Default Opening Charge for POS + 100 + 2021-11-11 21:35:45.001 + DefaultOpeningCharge_ID + 200 + 18 + 0 + 61896 + 0 + + + + + 76c072eb-7e9c-4843-8382-182e24d0be04 + 100 + 2021-11-11 21:35:45.894 + Default Opening Charge + + + + + Default Opening Charge + false + true + + Default Opening Charge for POS + 100 + 2021-11-11 21:35:45.894 + 0 + es_MX + 61896 + 0 + + + + + Cargo Predeterminado para Retiro + Cargo Predeterminado para Retiro + Cargo Predeterminado para Retiro de Caja + es_MX + 61895 + + + + + Cargo Predeterminado para Apertura + Cargo Predeterminado para Apertura + Cargo Predeterminado para Apertura de la Caja + es_MX + 61896 + + + + + + 0 + + + 8d52dcd5-aeda-4218-aa5d-aed8fc4761a7 + 100 + 2021-11-11 21:36:44.166 + 0 + true + + + Default Withdrawal Charge + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Default Withdrawal Charge for POS + + 100 + 2021-11-11 21:36:44.165 + + DefaultWithdrawalCharge_ID + + + 297 + 200 + 18 + + 0 + + 61895 + 99459 + 0 + + + + + + c7e0108b-cf9d-4afa-8835-91e49cf09965 + 100 + 2021-11-11 21:36:45.236 + Default Withdrawal Charge + false + true + 100 + 2021-11-11 21:36:45.236 + 0 + es_MX + 99459 + 0 + + + + + + 0 + + + a185207d-1f58-462f-94a8-c36e86cff7b3 + 100 + 2021-11-11 21:36:55.478 + 0 + true + + + Default Opening Charge + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Default Opening Charge for POS + + 100 + 2021-11-11 21:36:55.478 + + DefaultOpeningCharge_ID + + + 297 + 200 + 18 + + 0 + + 61896 + 99460 + 0 + + + + + + e24f9970-923d-4c82-b297-cd2ddda8ef98 + 100 + 2021-11-11 21:36:56.518 + Default Opening Charge + false + true + 100 + 2021-11-11 21:36:56.518 + 0 + es_MX + 99460 + 0 + + + + + cf13b80f-76d5-445f-b7f4-32610bdd3695 + 100 + 2021-11-11 21:37:22.388 + 0 + 220 + 220 + 0 + + Default Opening Charge + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Default Opening Charge for POS + + 100 + 2021-11-11 21:37:22.387 + + 54414 + + + 0 + + 101838 + + + + 99460 + 0 + + + + + 8bc79054-d89d-4db6-b72a-c645f2140e58 + 100 + 2021-11-11 21:37:23.455 + Default Opening Charge + false + true + + Default Opening Charge for POS + 100 + 2021-11-11 21:37:23.455 + 0 + es_MX + 101838 + 0 + + + + + db2570b7-c3f9-4160-9e6b-2b0023831e9b + 100 + 2021-11-11 21:37:29.003 + 0 + 230 + 230 + 0 + + Default Withdrawal Charge + true + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Default Withdrawal Charge for POS + + 100 + 2021-11-11 21:37:29.003 + + 54414 + + + 0 + + 101839 + + + + 99459 + 0 + + + + + 2c615618-ddd6-431b-a7a7-888c3e2bff2e + 100 + 2021-11-11 21:37:30.243 + Default Withdrawal Charge + false + true + + Default Withdrawal Charge for POS + 100 + 2021-11-11 21:37:30.243 + 0 + es_MX + 101839 + 0 + + + + diff --git a/pos/xml/migration/09400_Add_Allocation_for_Seller_on_POS.xml b/pos/xml/migration/09400_Add_Allocation_for_Seller_on_POS.xml new file mode 100644 index 0000000000..34a87d8b49 --- /dev/null +++ b/pos/xml/migration/09400_Add_Allocation_for_Seller_on_POS.xml @@ -0,0 +1,2078 @@ + + + + + + ea53a12e-e704-4aef-a90e-5e9fdc8b9c3c + 100 + 2021-11-14 19:56:37.544 + C_POSSellerAllocation + true + L + + + POS Seller Allocation + 0 + false + false + false + false + false + true + false + true + true + + + ECA14 + Sellers allocated for POS terminal + 100 + 2021-11-14 19:56:37.544 + + 338 + + 54872 + 0 + + 0 + 0 + 2 + + + + + c33d1e13-1a58-4075-972b-249b446a0264 + 100 + 2021-11-14 19:56:39.204 + POS Seller Allocation + false + true + 100 + 2021-11-14 19:56:39.204 + 54872 + 0 + es_MX + 0 + + + + + d0b5e8bd-96a2-4043-95d8-d77b1e5ac7c2 + 100 + 2021-11-14 19:56:39.357 + POS Seller Allocation + + + + + POS Seller Allocation + true + + + ECA14 + + 100 + 2021-11-14 19:56:39.357 + C_POSSellerAllocation_ID + + + 0 + 61897 + 0 + + + + + f8a38352-b671-4021-b130-73b81b098d6c + 100 + 2021-11-14 19:56:40.414 + POS Seller Allocation + + + + + POS Seller Allocation + false + true + + + 100 + 2021-11-14 19:56:40.414 + 0 + es_MX + 61897 + 0 + + + + + + 1 + + + 42baa018-9cf5-4fc8-8759-e1bbbd984e12 + 100 + 2021-11-14 19:56:40.586 + + true + + + POS Seller Allocation + + false + false + + false + false + false + true + true + false + N + false + false + true + false + true + + + + 10 + ECA14 + + + 100 + 2021-11-14 19:56:40.586 + + C_POSSellerAllocation_ID + + + 54872 + + 13 + + 0 + + 61897 + 99461 + 0 + + + + + + 6ccb37c1-7d54-4c23-b144-a0648f518bd6 + 100 + 2021-11-14 19:56:41.796 + POS Seller Allocation + false + true + 100 + 2021-11-14 19:56:41.796 + 0 + es_MX + 99461 + 0 + + + + + + 1 + + + 27caeb6c-0134-4589-91a8-52a0b75b3bec + 100 + 2021-11-14 19:56:41.977 + + true + + + Client + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + 10 + ECA14 + Client/Tenant for this installation. + @#AD_Client_ID@ + 100 + 2021-11-14 19:56:41.977 + + AD_Client_ID + + 129 + 54872 + + 19 + + 0 + + 102 + 99462 + 0 + + + + + + acdb0e55-2958-4d6d-9c94-fba70457f607 + 100 + 2021-11-14 19:56:43.218 + Client + false + true + 100 + 2021-11-14 19:56:43.218 + 0 + es_MX + 99462 + 0 + + + + + + 1 + + + 3f2ff38d-6c2a-4a46-9a2c-f996dbf4f8bb + 100 + 2021-11-14 19:56:43.336 + + true + + + Organization + + true + false + + false + false + false + true + false + false + N + false + false + true + true + true + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + 10 + ECA14 + Organizational entity within client + @#AD_Org_ID@ + 100 + 2021-11-14 19:56:43.335 + + AD_Org_ID + + 104 + 54872 + + 19 + + 0 + + 113 + 99463 + 0 + + + + + + 98b323a0-f964-428c-b3ac-99de15b85f6b + 100 + 2021-11-14 19:56:45.035 + Organization + false + true + 100 + 2021-11-14 19:56:45.035 + 0 + es_MX + 99463 + 0 + + + + + + 1 + + + c0863c70-1ec4-40b2-b325-8f6022d534c4 + 100 + 2021-11-14 19:56:45.14 + + true + + + Active + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + 1 + ECA14 + The record is active in the system + Y + 100 + 2021-11-14 19:56:45.14 + + IsActive + + + 54872 + + 20 + + 0 + + 348 + 99464 + 0 + + + + + + f7fa145d-a1c7-43fc-858f-34189259fb05 + 100 + 2021-11-14 19:56:46.125 + Active + false + true + 100 + 2021-11-14 19:56:46.125 + 0 + es_MX + 99464 + 0 + + + + + + 1 + + + 5fcd888b-b2a8-4330-a25c-ab3340e703ab + 100 + 2021-11-14 19:56:46.284 + + true + + + Created + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Created field indicates the date that this record was created. + + 0 + ECA14 + Date this record was created + + 100 + 2021-11-14 19:56:46.284 + + Created + + + 54872 + + 16 + + 0 + + 245 + 99465 + 0 + + + + + + be790287-9cf2-4b47-9e92-a1b149bf41d9 + 100 + 2021-11-14 19:56:47.326 + Created + false + true + 100 + 2021-11-14 19:56:47.326 + 0 + es_MX + 99465 + 0 + + + + + + 1 + + + bb56c5ad-e24c-4806-8949-8aff78ebf34c + 100 + 2021-11-14 19:56:47.502 + + true + + + Updated + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Updated field indicates the date that this record was updated. + + 0 + ECA14 + Date this record was updated + + 100 + 2021-11-14 19:56:47.502 + + Updated + + + 54872 + + 16 + + 0 + + 607 + 99466 + 0 + + + + + + 1b89af97-8551-4a14-9416-ec1fc9610ffc + 100 + 2021-11-14 19:56:48.463 + Updated + false + true + 100 + 2021-11-14 19:56:48.463 + 0 + es_MX + 99466 + 0 + + + + + + 1 + + + 2057ecd7-3d61-4c1c-b0c0-e658f23647c7 + 100 + 2021-11-14 19:56:48.564 + + true + + + Created By + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Created By field indicates the user who created this record. + + 10 + ECA14 + User who created this records + + 100 + 2021-11-14 19:56:48.564 + + CreatedBy + + + 54872 + 110 + 18 + + 0 + + 246 + 99467 + 0 + + + + + + 73eb5c95-2ffe-4bd0-adb4-fb0e245bb631 + 100 + 2021-11-14 19:56:49.907 + Created By + false + true + 100 + 2021-11-14 19:56:49.907 + 0 + es_MX + 99467 + 0 + + + + + + 1 + + + e509fe9f-e039-4b21-adc9-e93f31bd4611 + 100 + 2021-11-14 19:56:50.013 + + true + + + Updated By + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Updated By field indicates the user who updated this record. + + 10 + ECA14 + User who updated this records + + 100 + 2021-11-14 19:56:50.013 + + UpdatedBy + + + 54872 + 110 + 18 + + 0 + + 608 + 99468 + 0 + + + + + + 22d84905-b7f9-4b89-83a4-594cf8275c5d + 100 + 2021-11-14 19:56:50.981 + Updated By + false + true + 100 + 2021-11-14 19:56:50.981 + 0 + es_MX + 99468 + 0 + + + + + + 1 + + + eb433dc6-1e98-42a6-9ad5-74f4f190aecb + 100 + 2021-11-14 19:56:51.15 + + true + + + Immutable Universally Unique Identifier + + true + false + + false + false + false + false + false + false + N + false + false + true + false + true + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + 36 + ECA14 + Immutable Universally Unique Identifier + + 100 + 2021-11-14 19:56:51.15 + + UUID + + + 54872 + + 10 + + 0 + + 59595 + 99469 + 0 + + + + + + 357eecf9-b0b4-418a-9af2-41858ee069bf + 100 + 2021-11-14 19:56:52.294 + Immutable Universally Unique Identifier + false + true + 100 + 2021-11-14 19:56:52.294 + 0 + es_MX + 99469 + 0 + + + + + + b8a44bf8-457c-480b-b233-13421c2ab581 + 100 + 2021-11-14 19:56:52.44 + + 1000000 + false + + C_POSSellerAllocation + true + true + false + true + 1 + Table C_POSSellerAllocation + + + 50000 + 1000000 + 100 + 2021-11-14 19:56:52.439 + 55394 + 0 + 0 + + + + + Asignación de Vendedores + 54872 + es_MX + + + + + 10 + 19 + + + + + Asignación de Vendedores + Asignación de Vendedores + Asignación de Vendedores al Punto de Ventas + es_MX + 61897 + + + + + + 0 + + + 1577e666-f7d6-4216-9957-2e5f14e0cc15 + 100 + 2021-11-14 19:57:51.972 + 0 + true + + + POS Terminal + + false + false + N + false + false + true + true + false + false + N + false + false + true + true + true + + The POS Terminal defines the defaults and functions available for the POS Form + + 10 + ECA14 + Point of Sales Terminal + + 100 + 2021-11-14 19:57:51.972 + + C_POS_ID + + + 54872 + + 19 + + 0 + + 2581 + 99470 + 0 + + + + + + f11d8dcc-6d33-40e7-8187-8eeedc492647 + 100 + 2021-11-14 19:57:53.082 + POS Terminal + false + true + 100 + 2021-11-14 19:57:53.082 + 0 + es_MX + 99470 + 0 + + + + + + 0 + + + bf4256ac-10f5-451b-9c96-44707b5dee83 + 100 + 2021-11-14 19:58:13.348 + 1 + true + + + Sales Representative + + true + false + N + false + false + false + true + false + true + N + false + false + true + true + true + + The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid internal user. + + 10 + ECA14 + Sales Representative or Company Agent + -1 + 100 + 2021-11-14 19:58:13.348 + + SalesRep_ID + + + 54872 + 190 + 18 + + 0 + + 1063 + 99471 + 0 + + + + + + dab10c42-77b4-4098-ba04-43093bf8406e + 100 + 2021-11-14 19:58:14.848 + Sales Representative + false + true + 100 + 2021-11-14 19:58:14.848 + 0 + es_MX + 99471 + 0 + + + + + + 0 + + + 5e9847e3-ad13-4d4a-bca3-6cd777396400 + 100 + 2021-11-14 20:11:00.38 + 0 + true + + + Sequence + + true + false + N + false + false + false + true + false + false + N + false + false + true + false + true + + The Sequence indicates the order of records + + 10 + ECA14 + Method of ordering records; lowest number comes first + @SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM C_POSSellerAllocation WHERE C_POS_ID=@C_POS_ID@ + 100 + 2021-11-14 20:11:00.38 + + SeqNo + + + 54872 + + 11 + + 0 + + 566 + 99472 + 0 + + + + + + 0a3eefed-41c0-4eac-9d9a-31d3516249d2 + 100 + 2021-11-14 20:11:01.948 + Sequence + false + true + 100 + 2021-11-14 20:11:01.948 + 0 + es_MX + 99472 + 0 + + + + + + c4125c95-a36b-4909-8788-55bf7abe3f5c + 100 + 2021-11-14 20:11:51.82 + 1 + 80 + + false + + + Discount Seller Allocation + false + false + false + false + true + false + false + true + + N + Discount Seller Allocation for POS + false + ECA14 + + Discount Seller Allocation for POS + 100 + 2021-11-14 20:11:51.819 + + 338 + 54872 + 55130 + + 0 + + + + + 99470 + 0 + + + + + 20230f54-2c8e-426c-b025-e9cbc5211613 + 100 + 2021-11-14 20:11:52.52 + Discount Seller Allocation + false + true + Discount Seller Allocation for POS + Discount Seller Allocation for POS + 100 + 2021-11-14 20:11:52.52 + + 55130 + 0 + es_MX + 0 + + + + + Vendedores Asignados + Asigne aquí los vendedores que podrán utilizar este punto de ventas + Vendedores asignados al Punto de Venta + 55130 + es_MX + + + + + 7fb187c9-7899-4d74-b63f-22612c5bc6e2 + 100 + 2021-11-14 20:12:35.218 + + 0 + 0 + + + Active + false + false + false + + false + false + false + false + true + true + true + false + true + + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + ECA14 + + 1 + The record is active in the system + + 100 + 2021-11-14 20:12:35.218 + + 55130 + + + 0 + + 101840 + + + + 99464 + 0 + + + + + 164ae64a-97e3-4541-8c5d-da0e9f0c0819 + 100 + 2021-11-14 20:12:36.245 + Active + false + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + The record is active in the system + 100 + 2021-11-14 20:12:36.245 + 0 + es_MX + 101840 + 0 + + + + + 0a898ef6-89b6-4572-887d-6c3b8ed4f65a + 100 + 2021-11-14 20:12:36.414 + + 0 + 0 + + + Client + false + false + false + + false + false + false + false + true + true + true + false + true + + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + ECA14 + + 10 + Client/Tenant for this installation. + + 100 + 2021-11-14 20:12:36.414 + + 55130 + + + 0 + + 101841 + + + + 99462 + 0 + + + + + 1d6f4b25-d15e-43dc-af60-c8461abfe03a + 100 + 2021-11-14 20:12:37.443 + Client + false + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + Client/Tenant for this installation. + 100 + 2021-11-14 20:12:37.443 + 0 + es_MX + 101841 + 0 + + + + + f6d40214-d799-43ad-8502-c316eb1a467a + 100 + 2021-11-14 20:12:37.553 + + 0 + 0 + + + Immutable Universally Unique Identifier + false + false + false + + false + false + false + false + true + false + true + false + true + + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + ECA14 + + 36 + Immutable Universally Unique Identifier + + 100 + 2021-11-14 20:12:37.553 + + 55130 + + + 0 + + 101842 + + + + 99469 + 0 + + + + + b4154940-fb58-4fad-8387-410da09545bd + 100 + 2021-11-14 20:12:38.608 + Immutable Universally Unique Identifier + false + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + Immutable Universally Unique Identifier + 100 + 2021-11-14 20:12:38.608 + 0 + es_MX + 101842 + 0 + + + + + 3bad9e99-114e-4f14-ab55-3cf2c82cdb6d + 100 + 2021-11-14 20:12:38.774 + + 0 + 0 + + + Organization + false + false + false + + false + false + false + false + true + true + true + true + true + + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + ECA14 + + 10 + Organizational entity within client + + 100 + 2021-11-14 20:12:38.774 + + 55130 + + + 0 + + 101843 + + + + 99463 + 0 + + + + + 8dc41f6b-35cb-4c69-b0e8-98625e433eec + 100 + 2021-11-14 20:12:40.033 + Organization + false + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + Organizational entity within client + 100 + 2021-11-14 20:12:40.033 + 0 + es_MX + 101843 + 0 + + + + + 7b4e31fd-45b3-462a-bc61-c0c50a077036 + 100 + 2021-11-14 20:12:40.145 + + 0 + 0 + + + POS Seller Allocation + false + false + false + + false + false + false + false + true + false + true + false + true + + + + ECA14 + + 10 + + + 100 + 2021-11-14 20:12:40.145 + + 55130 + + + 0 + + 101844 + + + + 99461 + 0 + + + + + c06b5365-24e3-4e32-a592-87f7f832aec9 + 100 + 2021-11-14 20:12:41.223 + POS Seller Allocation + false + true + + + 100 + 2021-11-14 20:12:41.223 + 0 + es_MX + 101844 + 0 + + + + + b1837e6d-c803-44b4-ba8a-0c61c4e83562 + 100 + 2021-11-14 20:12:41.393 + + 0 + 0 + + + POS Terminal + false + false + false + + false + false + false + false + true + true + true + true + true + + + The POS Terminal defines the defaults and functions available for the POS Form + ECA14 + + 10 + Point of Sales Terminal + + 100 + 2021-11-14 20:12:41.393 + + 55130 + + + 0 + + 101845 + + + + 99470 + 0 + + + + + 5aa4d9f1-c43d-4ccb-92f3-95484d430f4d + 100 + 2021-11-14 20:12:42.369 + POS Terminal + false + true + The POS Terminal defines the defaults and functions available for the POS Form + Point of Sales Terminal + 100 + 2021-11-14 20:12:42.369 + 0 + es_MX + 101845 + 0 + + + + + 2201260e-c00e-424a-bac1-126776d5acac + 100 + 2021-11-14 20:12:42.503 + + 0 + 0 + + + Sales Representative + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid internal user. + ECA14 + + 10 + Sales Representative or Company Agent + + 100 + 2021-11-14 20:12:42.503 + + 55130 + + + 0 + + 101846 + + + + 99471 + 0 + + + + + 30250c3c-ce70-46ec-a4a6-64b901b0e662 + 100 + 2021-11-14 20:12:43.703 + Sales Representative + false + true + The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid internal user. + Sales Representative or Company Agent + 100 + 2021-11-14 20:12:43.703 + 0 + es_MX + 101846 + 0 + + + + + 6fcbe059-1755-4e68-b9b8-d0c2a07ef91f + 100 + 2021-11-14 20:12:43.835 + + 0 + 0 + + + Sequence + false + false + false + + false + false + false + false + true + true + true + false + true + + + The Sequence indicates the order of records + ECA14 + + 10 + Method of ordering records; lowest number comes first + + 100 + 2021-11-14 20:12:43.835 + + 55130 + + + 0 + + 101847 + + + + 99472 + 0 + + + + + c5b7a835-fc78-4ea7-9e81-c1de06325aa5 + 100 + 2021-11-14 20:12:44.843 + Sequence + false + true + The Sequence indicates the order of records + Method of ordering records; lowest number comes first + 100 + 2021-11-14 20:12:44.843 + 0 + es_MX + 101847 + 0 + + + + + Seller Allocation + Seller Allocation for POS + Seller Allocation for POS + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + true + + + + + true + + + + + true + + + + + fb15c6e5-8365-4a6e-bed7-db2594422b6a + 100 + 2021-11-14 20:15:37.888 + Allows Allocate Seller + + + + + Allows Allocate Seller + true + Allows allocate sellers for this terminal + 1 + ECA14 + Allows Allocate Seller for this POS Terminal + 100 + 2021-11-14 20:15:37.888 + IsAllowsAllocateSeller + + 20 + 0 + 61898 + 0 + + + + + e137cb49-ca39-4e70-ba83-b269102bc798 + 100 + 2021-11-14 20:15:38.896 + Allows Allocate Seller + + + + + Allows Allocate Seller + false + true + Allows allocate sellers for this terminal + Allows Allocate Seller for this POS Terminal + 100 + 2021-11-14 20:15:38.896 + 0 + es_MX + 61898 + 0 + + + + + Permitir Asignar Vendedor + Permitir Asignar Vendedor + Permitir Asignar Vendedor para este Punto de Ventas + Permitir Asignar Vendedor para el Punto de Ventas + es_MX + 61898 + + + + + 9d2207d3-3bd4-47f4-9314-80fefeea3067 + 100 + 2021-11-14 20:19:59.779 + Allows Concurrent Use + + + + + Allows Concurrent Use + true + Use this flag if the Allocate Seller is enabled + 1 + ECA14 + Allows Concurrent Use for this terminal, both sellers can make sales on one time + 100 + 2021-11-14 20:19:59.779 + IsAllowsConcurrentUse + + 20 + 0 + 61899 + 0 + + + + + c50419ed-625e-4100-84dc-db0bd924a115 + 100 + 2021-11-14 20:20:00.84 + Allows Concurrent Use + + + + + Allows Concurrent Use + false + true + Use this flag if the Allocate Seller is enabled + Allows Concurrent Use for this terminal, both sellers can make sales on one time + 100 + 2021-11-14 20:20:00.84 + 0 + es_MX + 61899 + 0 + + + + + Permitir Uso Simultáneo + Permitir Uso Simultáneo + Use esta bandera si la bandera para permitir asignación de vendedores se encuentra habilitada + Permitir Uso Simultáneo para este terminal, dos vendedores pueden realizar operaciones al mismo tiempo + es_MX + 61899 + + + + + + 0 + + + 76ef813e-2ed3-4c9a-bd6c-0ea1e5b116bf + 100 + 2021-11-14 20:23:17.552 + 0 + true + + + Allows Allocate Seller + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + Allows allocate sellers for this terminal + + 1 + ECA14 + Allows Allocate Seller for this POS Terminal + N + 100 + 2021-11-14 20:23:17.552 + + IsAllowsAllocateSeller + + + 748 + + 20 + + 0 + + 61898 + 99473 + 0 + + + + + + 30f78783-6c45-41c2-b4e8-f49885d964a1 + 100 + 2021-11-14 20:23:18.528 + Allows Allocate Seller + false + true + 100 + 2021-11-14 20:23:18.528 + 0 + es_MX + 99473 + 0 + + + + + + 0 + + + dfb4097c-3e11-4f2c-af72-34981ca80023 + 100 + 2021-11-14 20:23:35.701 + 0 + true + + + Allows Concurrent Use + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + Use this flag if the Allocate Seller is enabled + + 1 + ECA14 + Allows Concurrent Use for this terminal, both sellers can make sales on one time + N + 100 + 2021-11-14 20:23:35.701 + + IsAllowsConcurrentUse + + + 748 + + 20 + + 0 + + 61899 + 99474 + 0 + + + + + + d396fe2c-448a-463b-b643-0e994ed1257f + 100 + 2021-11-14 20:23:36.581 + Allows Concurrent Use + false + true + 100 + 2021-11-14 20:23:36.581 + 0 + es_MX + 99474 + 0 + + + + + db90e77f-07fa-4b48-ab5f-c83fec6a9ce2 + 100 + 2021-11-14 20:24:05.186 + 0 + 470 + 470 + 0 + + Allows Allocate Seller + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows allocate sellers for this terminal + ECA14 + + 0 + Allows Allocate Seller for this POS Terminal + + 100 + 2021-11-14 20:24:05.186 + + 676 + + + 0 + + 101848 + + + + 99473 + 0 + + + + + ee285a18-a7f2-4cdf-98c1-05ddbf646a7a + 100 + 2021-11-14 20:24:06.238 + Allows Allocate Seller + false + true + Allows allocate sellers for this terminal + Allows Allocate Seller for this POS Terminal + 100 + 2021-11-14 20:24:06.238 + 0 + es_MX + 101848 + 0 + + + + + dde9a9aa-9f65-411e-9c03-d950ab75230f + 100 + 2021-11-14 20:24:27.306 + 0 + 480 + 480 + 0 + + Allows Concurrent Use + true + false + false + + false + false + false + false + true + true + true + true + true + + + Use this flag if the Allocate Seller is enabled + ECA14 + @IsAllowsAllocateSeller@='Y' + 0 + Allows Concurrent Use for this terminal, both sellers can make sales on one time + + 100 + 2021-11-14 20:24:27.306 + + 676 + + + 0 + + 101849 + + + + 99474 + 0 + + + + + 720d4a44-8623-4b30-9f3f-a5ea6a958391 + 100 + 2021-11-14 20:24:28.254 + Allows Concurrent Use + false + true + Use this flag if the Allocate Seller is enabled + Allows Concurrent Use for this terminal, both sellers can make sales on one time + 100 + 2021-11-14 20:24:28.254 + 0 + es_MX + 101849 + 0 + + + + + @IsAllowsAllocateSeller@='Y' + + + + + 50141 + + + + + 50141 + + + + diff --git a/pos/xml/migration/09500_Add_Default_attributes_for_POS.xml b/pos/xml/migration/09500_Add_Default_attributes_for_POS.xml new file mode 100644 index 0000000000..0a1bf1b72b --- /dev/null +++ b/pos/xml/migration/09500_Add_Default_attributes_for_POS.xml @@ -0,0 +1,3144 @@ + + + + + + d05daf76-b40f-4bc5-a13a-0d380af28ead + 100 + 2021-11-17 13:53:27.349 + Opening Document Type + + + + + Opening Document Type + true + + 10 + ECA14 + Opening Document Type for Cash or bank + 100 + 2021-11-17 13:53:27.349 + POSOpeningDocumentType_ID + 170 + 18 + 0 + 61904 + 0 + + + + + cc781916-8e5b-4ef9-98a1-8047bd34703d + 100 + 2021-11-17 13:53:28.425 + Opening Document Type + + + + + Opening Document Type + false + true + + Opening Document Type for Cash or bank + 100 + 2021-11-17 13:53:28.425 + 0 + es_MX + 61904 + 0 + + + + + Tipo de Documento de Apertura + Tipo de Documento de Apertura + Tipo de Documento de Apertura de Caja + es_MX + 61904 + + + + + + 0 + + + 7462811e-a4a6-4ba1-ae34-d9d70222057b + 100 + 2021-11-17 13:54:12.371 + 0 + true + + + Opening Document Type + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Opening Document Type for Cash or bank + -1 + 100 + 2021-11-17 13:54:12.371 + + POSOpeningDocumentType_ID + + 52458 + 748 + 170 + 18 + + 0 + + 61904 + 99491 + 0 + + + + + + 2fce7260-7470-4e7b-961a-21ce07f43d6a + 100 + 2021-11-17 13:54:13.302 + Opening Document Type + false + true + 100 + 2021-11-17 13:54:13.302 + 0 + es_MX + 99491 + 0 + + + + + 8c82a0ed-d03d-4d25-83af-ed102d6c8377 + 100 + 2021-11-17 13:54:52.961 + Withdrawal Document Type + + + + + Withdrawal Document Type + true + + 10 + ECA14 + Withdrawal Document Type for Cash or bank + 100 + 2021-11-17 13:54:52.961 + POSWithdrawalDocumentType_ID + 170 + 18 + 0 + 61905 + 0 + + + + + 137f2bd4-07bf-4142-9e91-48ac3ccc4e3a + 100 + 2021-11-17 13:54:53.961 + Withdrawal Document Type + + + + + Withdrawal Document Type + false + true + + Withdrawal Document Type for Cash or bank + 100 + 2021-11-17 13:54:53.961 + 0 + es_MX + 61905 + 0 + + + + + Tipo de Documento de Retiro + Tipo de Documento de Retiro + Tipo de Documento de Retiro de Caja + es_MX + 61905 + + + + + + 0 + + + e8625dde-ee4c-4409-99d2-7cf82121e760 + 100 + 2021-11-17 13:55:32.221 + 0 + true + + + Withdrawal Document Type + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Withdrawal Document Type for Cash or bank + -1 + 100 + 2021-11-17 13:55:32.221 + + POSWithdrawalDocumentType_ID + + 52457 + 748 + 170 + 18 + + 0 + + 61905 + 99492 + 0 + + + + + + f2dc4cba-988f-42fa-ba41-657ea59e6d00 + 100 + 2021-11-17 13:55:33.184 + Withdrawal Document Type + false + true + 100 + 2021-11-17 13:55:33.184 + 0 + es_MX + 99492 + 0 + + + + + true + + + + + 425c635d-f65d-46ba-92bf-c7f812dea763 + 100 + 2021-11-17 13:57:09.991 + Allows Cash Opening + + + + + Allows Cash Opening + true + Allows cash opening for this cash + 1 + ECA14 + Allows Cash Opening + 100 + 2021-11-17 13:57:09.991 + IsAllowsCashOpening + + 20 + 0 + 61906 + 0 + + + + + 2e336b01-415d-48f4-a851-55af0391cabf + 100 + 2021-11-17 13:57:10.668 + Allows Cash Opening + + + + + Allows Cash Opening + false + true + Allows cash opening for this cash + Allows Cash Opening + 100 + 2021-11-17 13:57:10.668 + 0 + es_MX + 61906 + 0 + + + + + Permitir Apertura de Caja + Permitir Apertura de Caja + Permitir Apertura de Caja en este Terminal + Permitir Apertura de Caja en este Terminal + es_MX + 61906 + + + + + 85350693-3443-4670-86f9-bccb34514f62 + 100 + 2021-11-17 13:58:54.194 + Allows Cash Closing + + + + + Allows Cash Closing + true + Allows cash closing for this cash + 1 + ECA14 + Allows Cash Closing + 100 + 2021-11-17 13:58:54.194 + IsAllowsCashClosing + + 20 + 0 + 61907 + 0 + + + + + 89343d3d-d839-452e-8523-dc8852a6c2c2 + 100 + 2021-11-17 13:58:55.094 + Allows Cash Closing + + + + + Allows Cash Closing + false + true + Allows cash closing for this cash + Allows Cash Closing + 100 + 2021-11-17 13:58:55.094 + 0 + es_MX + 61907 + 0 + + + + + Permitir Cierre de Caja + Permitir Cierre de Caja + Permitir Cierre de Caja para este Terminal + Permitir Cierre de Caja + es_MX + 61907 + + + + + 68268556-c428-48a1-9cc8-0fb9f39eb62f + 100 + 2021-11-17 13:59:48.283 + Allows Cash Withdrawal + + + + + Allows Cash Withdrawal + true + Allows cash withdrawal for this cash + 1 + ECA14 + Allows Cash Withdrawal + 100 + 2021-11-17 13:59:48.283 + IsAllowsCashWithdrawal + + 20 + 0 + 61908 + 0 + + + + + d05ab56f-ace9-465a-b87b-4a685e9a5023 + 100 + 2021-11-17 13:59:49.452 + Allows Cash Withdrawal + + + + + Allows Cash Withdrawal + false + true + Allows cash withdrawal for this cash + Allows Cash Withdrawal + 100 + 2021-11-17 13:59:49.452 + 0 + es_MX + 61908 + 0 + + + + + Permitir Retiro de Caja + Permitir Retiro de Caja + Permitir Retiro de Caja en este terminal + Permitir Retiro de Caja + es_MX + 61908 + + + + + + 0 + + + d381a34a-41a7-474f-a31f-eb0392b1327b + 100 + 2021-11-17 14:01:17.613 + 0 + true + + + Allows Cash Withdrawal + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + Allows cash withdrawal for this cash + + 1 + ECA14 + Allows Cash Withdrawal + N + 100 + 2021-11-17 14:01:17.613 + + IsAllowsCashWithdrawal + + + 748 + + 20 + + 0 + + 61908 + 99493 + 0 + + + + + + c7ef9eff-ffac-43b2-92b0-003828e17914 + 100 + 2021-11-17 14:01:18.76 + Allows Cash Withdrawal + false + true + 100 + 2021-11-17 14:01:18.76 + 0 + es_MX + 99493 + 0 + + + + + + 0 + + + 2b5813c5-0b44-40ec-b69a-e6ef9b4eef68 + 100 + 2021-11-17 14:01:28.27 + 0 + true + + + Allows Cash Closing + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + Allows cash closing for this cash + + 1 + U + Allows Cash Closing + N + 100 + 2021-11-17 14:01:28.27 + + IsAllowsCashClosing + + + 748 + + 20 + + 0 + + 61907 + 99494 + 0 + + + + + + ec1bf274-b593-4017-944f-3ab980c7205f + 100 + 2021-11-17 14:01:29.204 + Allows Cash Closing + false + true + 100 + 2021-11-17 14:01:29.204 + 0 + es_MX + 99494 + 0 + + + + + + 0 + + + 7704b081-0c45-4a8c-affa-1bc7d32154c0 + 100 + 2021-11-17 14:01:39.173 + 0 + true + + + Allows Cash Opening + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + Allows cash opening for this cash + + 1 + ECA14 + Allows Cash Opening + N + 100 + 2021-11-17 14:01:39.173 + + IsAllowsCashOpening + + + 748 + + 20 + + 0 + + 61906 + 99495 + 0 + + + + + + 70642a2d-364d-40fc-8926-92536e762d96 + 100 + 2021-11-17 14:01:40.687 + Allows Cash Opening + false + true + 100 + 2021-11-17 14:01:40.687 + 0 + es_MX + 99495 + 0 + + + + + ECA14 + + + + + 324e1e45-2820-4045-9236-c0ea4a5f1755 + 100 + 2021-11-17 14:02:29.961 + 0 + 490 + 490 + 0 + + Allows Cash Opening + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows cash opening for this cash + ECA14 + + 0 + Allows Cash Opening + + 100 + 2021-11-17 14:02:29.96 + + 676 + + + 0 + + 101860 + + + + 99495 + 0 + + + + + 975c4e71-9f07-47d2-af81-b25df40ed836 + 100 + 2021-11-17 14:02:31.363 + Allows Cash Opening + false + true + Allows cash opening for this cash + Allows Cash Opening + 100 + 2021-11-17 14:02:31.363 + 0 + es_MX + 101860 + 0 + + + + + c6ecb914-b9d7-488a-a9e8-ccc618d30749 + 100 + 2021-11-17 14:02:38.489 + 0 + 500 + 500 + 0 + + Allows Cash Withdrawal + true + false + false + + false + false + false + false + true + true + true + true + true + + + Allows cash withdrawal for this cash + ECA14 + + 0 + Allows Cash Withdrawal + + 100 + 2021-11-17 14:02:38.489 + + 676 + + + 0 + + 101861 + + + + 99493 + 0 + + + + + bfb1b863-4fe1-4fd7-96f8-07ecaa5e3c3e + 100 + 2021-11-17 14:02:39.466 + Allows Cash Withdrawal + false + true + Allows cash withdrawal for this cash + Allows Cash Withdrawal + 100 + 2021-11-17 14:02:39.466 + 0 + es_MX + 101861 + 0 + + + + + 59e6b34b-e655-4a11-b154-9b92d37f523f + 100 + 2021-11-17 14:02:47.366 + 0 + 510 + 510 + 0 + + Opening Document Type + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Opening Document Type for Cash or bank + + 100 + 2021-11-17 14:02:47.366 + + 676 + + + 0 + + 101862 + + + + 99491 + 0 + + + + + 6b340fb8-9e37-4995-a8c1-3817dd5d50cc + 100 + 2021-11-17 14:02:48.43 + Opening Document Type + false + true + + Opening Document Type for Cash or bank + 100 + 2021-11-17 14:02:48.43 + 0 + es_MX + 101862 + 0 + + + + + 09cb06ac-73dc-46be-8237-6d295e611e1e + 100 + 2021-11-17 14:02:54.305 + 0 + 520 + 520 + 0 + + Withdrawal Document Type + true + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Withdrawal Document Type for Cash or bank + + 100 + 2021-11-17 14:02:54.305 + + 676 + + + 0 + + 101863 + + + + 99492 + 0 + + + + + f9bba79c-d70b-458f-a488-761a811518cc + 100 + 2021-11-17 14:02:55.502 + Withdrawal Document Type + false + true + + Withdrawal Document Type for Cash or bank + 100 + 2021-11-17 14:02:55.502 + 0 + es_MX + 101863 + 0 + + + + + 1197621d-880a-4e93-ad56-156246b1f8a4 + 100 + 2021-11-17 14:04:30.977 + Collecting Document Type + + + + + Collecting Document Type + true + + 10 + ECA14 + Collecting Document Type for Cash or bank + 100 + 2021-11-17 14:04:30.977 + POSCollectingDocumentType_ID + 170 + 18 + 0 + 61909 + 0 + + + + + c97932f6-c1e4-4935-bf7b-bcc3f06f704b + 100 + 2021-11-17 14:04:32.056 + Collecting Document Type + + + + + Collecting Document Type + false + true + + Collecting Document Type for Cash or bank + 100 + 2021-11-17 14:04:32.056 + 0 + es_MX + 61909 + 0 + + + + + Tipo de Documento para Cobros + Tipo de Documento para Cobros + Tipo de Documento para Cobros en este terminal + es_MX + 61909 + + + + + aceb2e43-9054-4f00-9deb-6f98420d5bcf + 100 + 2021-11-17 14:05:09.48 + Refund Document Type + + + + + Refund Document Type + true + + 10 + ECA14 + Refund Document Type for Cash or bank + 100 + 2021-11-17 14:05:09.48 + POSRefundDocumentType_ID + 170 + 18 + 0 + 61910 + 0 + + + + + 26c8e099-a6c5-4400-b84c-2bc9f1f99631 + 100 + 2021-11-17 14:05:10.604 + Refund Document Type + + + + + Refund Document Type + false + true + + Refund Document Type for Cash or bank + 100 + 2021-11-17 14:05:10.604 + 0 + es_MX + 61910 + 0 + + + + + Tipo de Documento para Reembolso + Tipo de Documento para Reembolso + Tipo de Documento para Reembolso en este terminal + es_MX + 61910 + + + + + + 0 + + + 3d184f18-d143-4e43-8800-21668e4445d8 + 100 + 2021-11-17 14:05:49.589 + 0 + true + + + Refund Document Type + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Refund Document Type for Cash or bank + -1 + 100 + 2021-11-17 14:05:49.588 + + POSRefundDocumentType_ID + + 52457 + 748 + 170 + 18 + + 0 + + 61910 + 99496 + 0 + + + + + + 99d976b9-e5a8-46ac-abe5-2b441f0ffdec + 100 + 2021-11-17 14:05:50.827 + Refund Document Type + false + true + 100 + 2021-11-17 14:05:50.827 + 0 + es_MX + 99496 + 0 + + + + + + 0 + + + aafa993c-8b7f-40f8-8560-50fbec1b6bb0 + 100 + 2021-11-17 14:06:11.032 + 0 + true + + + Collecting Document Type + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Collecting Document Type for Cash or bank + -1 + 100 + 2021-11-17 14:06:11.032 + + POSCollectingDocumentType_ID + + 52458 + 748 + 170 + 18 + + 0 + + 61909 + 99497 + 0 + + + + + + a76c1aee-a2ac-4981-9523-560bec49fecc + 100 + 2021-11-17 14:06:12.43 + Collecting Document Type + false + true + 100 + 2021-11-17 14:06:12.43 + 0 + es_MX + 99497 + 0 + + + + + 1c329fbd-4ea0-4a85-aa12-68307d3e6585 + 100 + 2021-11-17 14:06:25.985 + 0 + 530 + 530 + 0 + + Collecting Document Type + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Collecting Document Type for Cash or bank + + 100 + 2021-11-17 14:06:25.985 + + 676 + + + 0 + + 101864 + + + + 99497 + 0 + + + + + 6f7bf8c8-49fa-4890-828b-a797149bc176 + 100 + 2021-11-17 14:06:27.078 + Collecting Document Type + false + true + + Collecting Document Type for Cash or bank + 100 + 2021-11-17 14:06:27.078 + 0 + es_MX + 101864 + 0 + + + + + 8748a622-a1ae-4c58-a0c5-0e8cc18a3dbc + 100 + 2021-11-17 14:06:34.586 + 0 + 540 + 540 + 0 + + Refund Document Type + true + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Refund Document Type for Cash or bank + + 100 + 2021-11-17 14:06:34.586 + + 676 + + + 0 + + 101865 + + + + 99496 + 0 + + + + + a8224ca9-696f-46e2-91e2-87301c9e417f + 100 + 2021-11-17 14:06:35.942 + Refund Document Type + false + true + + Refund Document Type for Cash or bank + 100 + 2021-11-17 14:06:35.942 + 0 + es_MX + 101865 + 0 + + + + + + 0 + + + aef56b9f-51ca-406f-9881-fe56479c54b7 + 100 + 2021-11-17 14:07:28.942 + 0 + true + + + Allows Allocate Seller + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + Allows allocate sellers for this terminal + + 1 + ECA14 + Allows Allocate Seller for this POS Terminal + N + 100 + 2021-11-17 14:07:28.942 + + IsAllowsAllocateSeller + + + 54872 + + 20 + + 0 + + 61898 + 99499 + 0 + + + + + + 5a259ba1-e5d8-4bd5-a353-5b278860fcf4 + 100 + 2021-11-17 14:07:29.795 + Allows Allocate Seller + false + true + 100 + 2021-11-17 14:07:29.795 + 0 + es_MX + 99499 + 0 + + + + + + 0 + + + efccbc7c-8f0f-4f58-873a-b31aea0485a7 + 100 + 2021-11-17 14:07:45.182 + 0 + true + + + Allows Cash Closing + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + Allows cash closing for this cash + + 1 + ECA14 + Allows Cash Closing + N + 100 + 2021-11-17 14:07:45.182 + + IsAllowsCashClosing + + + 54872 + + 20 + + 0 + + 61907 + 99500 + 0 + + + + + + d3c8c021-bb64-4235-8552-d7eb16cc6836 + 100 + 2021-11-17 14:07:46.485 + Allows Cash Closing + false + true + 100 + 2021-11-17 14:07:46.485 + 0 + es_MX + 99500 + 0 + + + + + + 0 + + + 68040d3f-1d38-4919-b8b6-349b2488f075 + 100 + 2021-11-17 14:07:55.216 + 0 + true + + + Allows Cash Opening + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + Allows cash opening for this cash + + 1 + ECA14 + Allows Cash Opening + N + 100 + 2021-11-17 14:07:55.215 + + IsAllowsCashOpening + + + 54872 + + 20 + + 0 + + 61906 + 99501 + 0 + + + + + + e162ace5-5d7a-4cd6-866c-fed5419da797 + 100 + 2021-11-17 14:07:56.555 + Allows Cash Opening + false + true + 100 + 2021-11-17 14:07:56.555 + 0 + es_MX + 99501 + 0 + + + + + + 0 + + + d5fe2336-78dd-4b36-9428-89ad2cec0532 + 100 + 2021-11-17 14:08:05.86 + 0 + true + + + Allows Cash Withdrawal + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + Allows cash withdrawal for this cash + + 1 + ECA14 + Allows Cash Withdrawal + N + 100 + 2021-11-17 14:08:05.86 + + IsAllowsCashWithdrawal + + + 54872 + + 20 + + 0 + + 61908 + 99502 + 0 + + + + + + d2e033e5-2bab-4825-bb5d-f24ffec384f3 + 100 + 2021-11-17 14:08:07.072 + Allows Cash Withdrawal + false + true + 100 + 2021-11-17 14:08:07.072 + 0 + es_MX + 99502 + 0 + + + + + + 0 + + + ea43c450-8b36-4ce5-8b6c-daf754f0f75a + 100 + 2021-11-17 14:08:18.089 + 0 + true + + + Allows Collect Order + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + Allows collect a order based on RMA on Order + + 1 + ECA14 + Allows collect a Sales Order + N + 100 + 2021-11-17 14:08:18.089 + + IsAllowsCollectOrder + + + 54872 + + 20 + + 0 + + 61787 + 99503 + 0 + + + + + + b5ff4c87-4343-42f5-9262-d63a2e683367 + 100 + 2021-11-17 14:08:19.97 + Allows Collect Order + false + true + 100 + 2021-11-17 14:08:19.97 + 0 + es_MX + 99503 + 0 + + + + + + 0 + + + c596469c-2269-43e8-8304-ceb170ead3e6 + 100 + 2021-11-17 14:08:29.438 + 0 + true + + + Allows Confirm Shipment + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + This flag determine if is allowed confirm a shipment from POS + + 1 + ECA14 + Allows Confirm Shipment from Order + N + 100 + 2021-11-17 14:08:29.438 + + IsAllowsConfirmShipment + + + 54872 + + 20 + + 0 + + 61847 + 99504 + 0 + + + + + + 8b1c49ec-d40d-495d-9608-ca2dc5ff950f + 100 + 2021-11-17 14:08:30.731 + Allows Confirm Shipment + false + true + 100 + 2021-11-17 14:08:30.731 + 0 + es_MX + 99504 + 0 + + + + + + 0 + + + ca2f4e4b-18fe-4d21-9e6c-9a41d81f6421 + 100 + 2021-11-17 14:08:43.927 + 0 + true + + + Allows Create Order + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + Allows create a order based on RMA on Order + + 1 + ECA14 + Allows create a Sales Order + N + 100 + 2021-11-17 14:08:43.927 + + IsAllowsCreateOrder + + + 54872 + + 20 + + 0 + + 61789 + 99505 + 0 + + + + + + 4d04657d-eedf-4125-b7a8-5d2200b1b825 + 100 + 2021-11-17 14:08:44.964 + Allows Create Order + false + true + 100 + 2021-11-17 14:08:44.964 + 0 + es_MX + 99505 + 0 + + + + + + 0 + + + 9edc9e1f-6f60-49a2-9c8a-76df710a0a3a + 100 + 2021-11-17 14:08:53.694 + 0 + true + + + Allows Modify Quantity + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + Allows modifying the quantity for products with a non zero quantity + + 1 + ECA14 + Allows modifying the quantity + N + 100 + 2021-11-17 14:08:53.694 + + IsAllowsModifyQuantity + + + 54872 + + 20 + + 0 + + 61785 + 99506 + 0 + + + + + + ad46d7d2-5d02-4c32-9f46-3755d96e6e89 + 100 + 2021-11-17 14:08:54.878 + Allows Modify Quantity + false + true + 100 + 2021-11-17 14:08:54.878 + 0 + es_MX + 99506 + 0 + + + + + + 0 + + + 6d19f708-9f8f-4dbd-9d8c-ee486303db80 + 100 + 2021-11-17 14:09:03.442 + 0 + true + + + Allows Return Order + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + Allows return a order based on RMA on Order + + 1 + ECA14 + Allows return a Sales Order + N + 100 + 2021-11-17 14:09:03.442 + + IsAllowsReturnOrder + + + 54872 + + 20 + + 0 + + 61786 + 99507 + 0 + + + + + + bb2ecad8-a248-4858-8e13-8555e3be0f00 + 100 + 2021-11-17 14:09:04.435 + Allows Return Order + false + true + 100 + 2021-11-17 14:09:04.435 + 0 + es_MX + 99507 + 0 + + + + + + 0 + + + 98284bf1-85f2-4876-885b-ce0cc32a0e3e + 100 + 2021-11-17 14:09:24.129 + 0 + true + + + Modify Price + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + Allow modifying the price for products with a non zero price + + 1 + ECA14 + Allow modifying the price + N + 100 + 2021-11-17 14:09:24.129 + + IsModifyPrice + + + 54872 + + 20 + + 0 + + 2584 + 99508 + 0 + + + + + + 961935bb-b6bd-40c3-be7f-4b37cc8665e6 + 100 + 2021-11-17 14:09:25.51 + Modify Price + false + true + 100 + 2021-11-17 14:09:25.51 + 0 + es_MX + 99508 + 0 + + + + + ced897b9-1b71-4fa1-9466-40b68275e1ac + 100 + 2021-11-17 14:10:27.778 + Allows Modify Discount + + + + + Allows Modify Discount + true + Allows Modify Discount for this terminal + 1 + ECA14 + Allows Modify Discount from Terminal + 100 + 2021-11-17 14:10:27.778 + IsAllowsModifyDiscount + + 20 + 0 + 61911 + 0 + + + + + afd6b61b-5399-413d-95e9-6f32b1bde3cd + 100 + 2021-11-17 14:10:28.821 + Allows Modify Discount + + + + + Allows Modify Discount + false + true + Allows Modify Discount for this terminal + Allows Modify Discount from Terminal + 100 + 2021-11-17 14:10:28.821 + 0 + es_MX + 61911 + 0 + + + + + Permitir Modificar Descuento + Permitir Modificar Descuento + Permitir Modificar Descuento para este terminal + Permitir Modificar Descuento para el terminal + es_MX + 61911 + + + + + + 0 + + + 6f00716c-1a50-4d77-816d-bc88b3638d38 + 100 + 2021-11-17 14:11:00.128 + 0 + true + + + Allows Modify Discount + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + Allows Modify Discount for this terminal + + 1 + ECA14 + Allows Modify Discount from Terminal + N + 100 + 2021-11-17 14:11:00.128 + + IsAllowsModifyDiscount + + + 54872 + + 20 + + 0 + + 61911 + 99509 + 0 + + + + + + 3ca09342-468c-47e6-a234-3a425b052271 + 100 + 2021-11-17 14:11:01.614 + Allows Modify Discount + false + true + 100 + 2021-11-17 14:11:01.614 + 0 + es_MX + 99509 + 0 + + + + + 6d645d05-1a0b-4fd3-a091-586bd859d542 + 100 + 2021-11-17 14:13:38.984 + Confirm Only Complete Shipment + + + + + Confirm Only Complete Shipment + true + This flag determine if is allowed confirm a shipment from POS + 1 + ECA14 + Confirm Only when a Shipment is completely + 100 + 2021-11-17 14:13:38.984 + IsConfirmCompleteShipment + + 20 + 0 + 61912 + 0 + + + + + 9977a621-173d-48dd-aa8f-489d3f349a8c + 100 + 2021-11-17 14:13:39.824 + Confirm Only Complete Shipment + + + + + Confirm Only Complete Shipment + false + true + This flag determine if is allowed confirm a shipment from POS + Confirm Only when a Shipment is completely + 100 + 2021-11-17 14:13:39.824 + 0 + es_MX + 61912 + 0 + + + + + Confirmar Sólo Entrega Completa + Confirmar Sólo Entrega Completa + Permitir confirmar entregas si las mismas se encuentran completas + Confirmar Sólo cuando la entrega se encuentre completa + es_MX + 61912 + + + + + + 0 + + + 002e5751-49ef-4868-abe4-fe43f8c2d2cd + 100 + 2021-11-17 14:14:26.401 + 0 + true + + + Confirm Only Complete Shipment + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + This flag determine if is allowed confirm a shipment from POS + + 1 + U + Confirm Only when a Shipment is completely + N + 100 + 2021-11-17 14:14:26.401 + + IsConfirmCompleteShipment + + + 748 + + 20 + + 0 + + 61912 + 99510 + 0 + + + + + + 53ac3e25-3802-4a47-80a3-8c387b909a5b + 100 + 2021-11-17 14:14:27.395 + Confirm Only Complete Shipment + false + true + 100 + 2021-11-17 14:14:27.395 + 0 + es_MX + 99510 + 0 + + + + + f2cbf21a-9fbf-40a4-919c-c8ec78b6eb2a + 100 + 2021-11-17 14:14:46.338 + 0 + 550 + 550 + 0 + + Confirm Only Complete Shipment + false + false + false + + false + false + false + false + true + true + true + true + true + + + This flag determine if is allowed confirm a shipment from POS + ECA14 + + 0 + Confirm Only when a Shipment is completely + + 100 + 2021-11-17 14:14:46.338 + + 676 + + + 0 + + 101867 + + + + 99510 + 0 + + + + + a99bb49e-981a-4c48-aabd-e2ed3f17bc87 + 100 + 2021-11-17 14:14:47.565 + Confirm Only Complete Shipment + false + true + This flag determine if is allowed confirm a shipment from POS + Confirm Only when a Shipment is completely + 100 + 2021-11-17 14:14:47.565 + 0 + es_MX + 101867 + 0 + + + + + ECA14 + + + + + @IsAllowsConfirmShipment@='Y' + + + + + ac2c0dd8-e3ea-4823-bd88-1b0a4983bfeb + 100 + 2021-11-17 14:15:44.945 + + 0 + 0 + + + Allows Allocate Seller + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows allocate sellers for this terminal + ECA14 + + 1 + Allows Allocate Seller for this POS Terminal + + 100 + 2021-11-17 14:15:44.945 + + 55130 + + + 0 + + 101868 + + + + 99499 + 0 + + + + + fb3b8b92-06f9-47a5-a07a-9704b1b6d2a1 + 100 + 2021-11-17 14:15:45.962 + Allows Allocate Seller + false + true + Allows allocate sellers for this terminal + Allows Allocate Seller for this POS Terminal + 100 + 2021-11-17 14:15:45.962 + 0 + es_MX + 101868 + 0 + + + + + b4517e00-c709-406c-a34c-f808a521668c + 100 + 2021-11-17 14:15:46.069 + + 0 + 0 + + + Allows Cash Closing + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows cash closing for this cash + ECA14 + + 1 + Allows Cash Closing + + 100 + 2021-11-17 14:15:46.069 + + 55130 + + + 0 + + 101869 + + + + 99500 + 0 + + + + + 5b783257-a595-4aa5-9e7c-60063a793d71 + 100 + 2021-11-17 14:15:47.176 + Allows Cash Closing + false + true + Allows cash closing for this cash + Allows Cash Closing + 100 + 2021-11-17 14:15:47.176 + 0 + es_MX + 101869 + 0 + + + + + 09453587-8f32-435a-8b4b-167a19c16765 + 100 + 2021-11-17 14:15:47.289 + + 0 + 0 + + + Allows Cash Opening + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows cash opening for this cash + ECA14 + + 1 + Allows Cash Opening + + 100 + 2021-11-17 14:15:47.289 + + 55130 + + + 0 + + 101870 + + + + 99501 + 0 + + + + + 6d71259a-727e-4a34-a1b2-5bcd36dafd0b + 100 + 2021-11-17 14:15:48.219 + Allows Cash Opening + false + true + Allows cash opening for this cash + Allows Cash Opening + 100 + 2021-11-17 14:15:48.219 + 0 + es_MX + 101870 + 0 + + + + + d9620f9c-b5d5-4847-adb9-8ef06eb9908a + 100 + 2021-11-17 14:15:48.324 + + 0 + 0 + + + Allows Cash Withdrawal + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows cash withdrawal for this cash + ECA14 + + 1 + Allows Cash Withdrawal + + 100 + 2021-11-17 14:15:48.324 + + 55130 + + + 0 + + 101871 + + + + 99502 + 0 + + + + + 2df5a7bc-b6b0-4e6c-a12d-d3055659ad5b + 100 + 2021-11-17 14:15:49.116 + Allows Cash Withdrawal + false + true + Allows cash withdrawal for this cash + Allows Cash Withdrawal + 100 + 2021-11-17 14:15:49.116 + 0 + es_MX + 101871 + 0 + + + + + 567798e8-531d-4812-b418-a0f048175cfb + 100 + 2021-11-17 14:15:49.292 + + 0 + 0 + + + Allows Collect Order + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows collect a order based on RMA on Order + ECA14 + + 1 + Allows collect a Sales Order + + 100 + 2021-11-17 14:15:49.292 + + 55130 + + + 0 + + 101872 + + + + 99503 + 0 + + + + + df5a0dd8-3279-4d62-83b9-b097bb8037c2 + 100 + 2021-11-17 14:15:50.528 + Allows Collect Order + false + true + Allows collect a order based on RMA on Order + Allows collect a Sales Order + 100 + 2021-11-17 14:15:50.528 + 0 + es_MX + 101872 + 0 + + + + + 45f7f299-330a-4538-8111-96b84c08257b + 100 + 2021-11-17 14:15:50.692 + + 0 + 0 + + + Allows Confirm Shipment + false + false + false + + false + false + false + false + true + true + true + true + true + + + This flag determine if is allowed confirm a shipment from POS + ECA14 + + 1 + Allows Confirm Shipment from Order + + 100 + 2021-11-17 14:15:50.692 + + 55130 + + + 0 + + 101873 + + + + 99504 + 0 + + + + + 8743c8eb-703c-421a-814b-7a104da2299a + 100 + 2021-11-17 14:15:51.737 + Allows Confirm Shipment + false + true + This flag determine if is allowed confirm a shipment from POS + Allows Confirm Shipment from Order + 100 + 2021-11-17 14:15:51.737 + 0 + es_MX + 101873 + 0 + + + + + 14714bf3-b61f-468e-b092-3ebb87f64a16 + 100 + 2021-11-17 14:15:51.848 + + 0 + 0 + + + Allows Create Order + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows create a order based on RMA on Order + ECA14 + + 1 + Allows create a Sales Order + + 100 + 2021-11-17 14:15:51.848 + + 55130 + + + 0 + + 101874 + + + + 99505 + 0 + + + + + c7974d98-8f37-4cb0-b4c5-5155e7955c52 + 100 + 2021-11-17 14:15:52.552 + Allows Create Order + false + true + Allows create a order based on RMA on Order + Allows create a Sales Order + 100 + 2021-11-17 14:15:52.552 + 0 + es_MX + 101874 + 0 + + + + + f2a880bf-3036-4892-8030-b48030e60738 + 100 + 2021-11-17 14:15:52.752 + + 0 + 0 + + + Allows Modify Discount + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows Modify Discount for this terminal + ECA14 + + 1 + Allows Modify Discount from Terminal + + 100 + 2021-11-17 14:15:52.752 + + 55130 + + + 0 + + 101875 + + + + 99509 + 0 + + + + + a9c7f4b6-8d7f-43df-9cd9-c2beffe4d319 + 100 + 2021-11-17 14:15:53.689 + Allows Modify Discount + false + true + Allows Modify Discount for this terminal + Allows Modify Discount from Terminal + 100 + 2021-11-17 14:15:53.689 + 0 + es_MX + 101875 + 0 + + + + + a7052a58-95de-415d-9ee6-16450f0165ed + 100 + 2021-11-17 14:15:53.812 + + 0 + 0 + + + Allows Modify Quantity + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows modifying the quantity for products with a non zero quantity + ECA14 + + 1 + Allows modifying the quantity + + 100 + 2021-11-17 14:15:53.812 + + 55130 + + + 0 + + 101876 + + + + 99506 + 0 + + + + + 908206cf-4d00-4983-8c20-604c1e68b973 + 100 + 2021-11-17 14:15:55.046 + Allows Modify Quantity + false + true + Allows modifying the quantity for products with a non zero quantity + Allows modifying the quantity + 100 + 2021-11-17 14:15:55.046 + 0 + es_MX + 101876 + 0 + + + + + 87198a96-447a-4ad2-b529-807aa5677db7 + 100 + 2021-11-17 14:15:55.203 + + 0 + 0 + + + Allows Return Order + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows return a order based on RMA on Order + ECA14 + + 1 + Allows return a Sales Order + + 100 + 2021-11-17 14:15:55.203 + + 55130 + + + 0 + + 101877 + + + + 99507 + 0 + + + + + a3e087bf-6837-4fb5-80e0-e2c552c828c7 + 100 + 2021-11-17 14:15:56.388 + Allows Return Order + false + true + Allows return a order based on RMA on Order + Allows return a Sales Order + 100 + 2021-11-17 14:15:56.388 + 0 + es_MX + 101877 + 0 + + + + + 28d980e9-f76c-4878-9ee8-307f529ee6a5 + 100 + 2021-11-17 14:15:56.51 + + 0 + 0 + + + Modify Price + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allow modifying the price for products with a non zero price + ECA14 + + 1 + Allow modifying the price + + 100 + 2021-11-17 14:15:56.509 + + 55130 + + + 0 + + 101878 + + + + 99508 + 0 + + + + + f5850b48-98c6-4943-a066-4744be2d75e5 + 100 + 2021-11-17 14:15:57.959 + Modify Price + false + true + Allow modifying the price for products with a non zero price + Allow modifying the price + 100 + 2021-11-17 14:15:57.959 + 0 + es_MX + 101878 + 0 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 170 + + + + diff --git a/pos/xml/migration/09510_Remove_display_bad_logic.xml b/pos/xml/migration/09510_Remove_display_bad_logic.xml new file mode 100644 index 0000000000..558c11e150 --- /dev/null +++ b/pos/xml/migration/09510_Remove_display_bad_logic.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos/xml/migration/09520_Add_Order_Bank_Account_to_refund.xml b/pos/xml/migration/09520_Add_Order_Bank_Account_to_refund.xml new file mode 100644 index 0000000000..56f899f876 --- /dev/null +++ b/pos/xml/migration/09520_Add_Order_Bank_Account_to_refund.xml @@ -0,0 +1,3628 @@ + + + + + + 0766981f-6c28-4d75-a912-f70670542f41 + 100 + 2021-11-18 14:49:06.843 + C_POSPaymentReference + true + L + + + Bank Account for Payments + 0 + false + false + false + false + false + true + true + true + true + + + ECA14 + Bank Accounts for Payments after order + 100 + 2021-11-18 14:49:06.842 + + 143 + + 54874 + 0 + + 0 + 0 + 3 + + + + + 42feb0a4-421b-4e6d-9f5d-3afc8f9d6806 + 100 + 2021-11-18 14:49:08.678 + Bank Account for Payments + false + true + 100 + 2021-11-18 14:49:08.678 + 54874 + 0 + es_MX + 0 + + + + + f10a2101-f203-4c14-9d30-5f478459aa17 + 100 + 2021-11-18 14:49:08.806 + Bank Account for Payments + + + + + Bank Account for Payments + true + + + ECA14 + + 100 + 2021-11-18 14:49:08.806 + C_POSPaymentReference_ID + + + 0 + 61913 + 0 + + + + + e1844fa2-8765-4087-ae2c-0d24b5d59a13 + 100 + 2021-11-18 14:49:09.555 + Bank Account for Payments + + + + + Bank Account for Payments + false + true + + + 100 + 2021-11-18 14:49:09.555 + 0 + es_MX + 61913 + 0 + + + + + + 1 + + + b0d3317c-3826-48a4-aec4-4292bb281f47 + 100 + 2021-11-18 14:49:09.77 + + true + + + Bank Account for Payments + + false + false + + false + false + false + true + true + false + N + false + false + true + false + true + + + + 10 + ECA14 + + + 100 + 2021-11-18 14:49:09.77 + + C_POSPaymentReference_ID + + + 54874 + + 13 + + 0 + + 61913 + 99512 + 0 + + + + + + 07449ff1-1d79-43b5-9716-32df3b6d6349 + 100 + 2021-11-18 14:49:10.963 + Bank Account for Payments + false + true + 100 + 2021-11-18 14:49:10.963 + 0 + es_MX + 99512 + 0 + + + + + + 1 + + + ffed7713-df1a-4e02-9e6d-42875725d5bc + 100 + 2021-11-18 14:49:11.095 + + true + + + Client + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + 10 + ECA14 + Client/Tenant for this installation. + @#AD_Client_ID@ + 100 + 2021-11-18 14:49:11.095 + + AD_Client_ID + + 129 + 54874 + + 19 + + 0 + + 102 + 99513 + 0 + + + + + + 53e25c6d-3bb9-4d5c-92c1-21916c059842 + 100 + 2021-11-18 14:49:12.115 + Client + false + true + 100 + 2021-11-18 14:49:12.115 + 0 + es_MX + 99513 + 0 + + + + + + 1 + + + 67fb618a-b7d2-400b-8eb7-1cce27c31f11 + 100 + 2021-11-18 14:49:12.226 + + true + + + Organization + + true + false + + false + false + false + true + false + false + N + false + false + true + true + true + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + 10 + ECA14 + Organizational entity within client + @#AD_Org_ID@ + 100 + 2021-11-18 14:49:12.226 + + AD_Org_ID + + 104 + 54874 + + 19 + + 0 + + 113 + 99514 + 0 + + + + + + 211e7841-d593-4bb4-ac3b-37897779ce3a + 100 + 2021-11-18 14:49:13.274 + Organization + false + true + 100 + 2021-11-18 14:49:13.274 + 0 + es_MX + 99514 + 0 + + + + + + 1 + + + 2b7bb772-0e3d-4417-a8d5-821834d6a675 + 100 + 2021-11-18 14:49:13.388 + + true + + + Active + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + 1 + ECA14 + The record is active in the system + Y + 100 + 2021-11-18 14:49:13.388 + + IsActive + + + 54874 + + 20 + + 0 + + 348 + 99515 + 0 + + + + + + b5c22880-cc2e-40bc-927e-8bd0bde92a9c + 100 + 2021-11-18 14:49:15.574 + Active + false + true + 100 + 2021-11-18 14:49:15.574 + 0 + es_MX + 99515 + 0 + + + + + + 1 + + + bad5b0e3-2877-4095-96ba-1846ca98c7de + 100 + 2021-11-18 14:49:15.691 + + true + + + Created + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Created field indicates the date that this record was created. + + 0 + ECA14 + Date this record was created + + 100 + 2021-11-18 14:49:15.691 + + Created + + + 54874 + + 16 + + 0 + + 245 + 99516 + 0 + + + + + + 5208f6b7-2beb-4b7e-88a9-db04e79fbbd7 + 100 + 2021-11-18 14:49:16.743 + Created + false + true + 100 + 2021-11-18 14:49:16.743 + 0 + es_MX + 99516 + 0 + + + + + + 1 + + + 99a5ad7e-c4e3-4844-b891-4e5babd329e6 + 100 + 2021-11-18 14:49:16.949 + + true + + + Updated + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Updated field indicates the date that this record was updated. + + 0 + ECA14 + Date this record was updated + + 100 + 2021-11-18 14:49:16.949 + + Updated + + + 54874 + + 16 + + 0 + + 607 + 99517 + 0 + + + + + + 0ea780ea-fbec-4cf6-a157-f10205d11728 + 100 + 2021-11-18 14:49:17.819 + Updated + false + true + 100 + 2021-11-18 14:49:17.819 + 0 + es_MX + 99517 + 0 + + + + + + 1 + + + 5440494e-0cc9-4efa-8e8a-21da027c3ce7 + 100 + 2021-11-18 14:49:17.937 + + true + + + Created By + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Created By field indicates the user who created this record. + + 10 + ECA14 + User who created this records + + 100 + 2021-11-18 14:49:17.937 + + CreatedBy + + + 54874 + 110 + 18 + + 0 + + 246 + 99518 + 0 + + + + + + 69d020a1-bb6a-4873-b8ad-7d0d395b0d7c + 100 + 2021-11-18 14:49:19.171 + Created By + false + true + 100 + 2021-11-18 14:49:19.171 + 0 + es_MX + 99518 + 0 + + + + + + 1 + + + dfb43920-c87d-4627-a83d-ee50455246aa + 100 + 2021-11-18 14:49:19.285 + + true + + + Updated By + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Updated By field indicates the user who updated this record. + + 10 + ECA14 + User who updated this records + + 100 + 2021-11-18 14:49:19.285 + + UpdatedBy + + + 54874 + 110 + 18 + + 0 + + 608 + 99519 + 0 + + + + + + e3dbd97c-e621-4db8-98a0-5744222c6560 + 100 + 2021-11-18 14:49:20.483 + Updated By + false + true + 100 + 2021-11-18 14:49:20.483 + 0 + es_MX + 99519 + 0 + + + + + + 1 + + + 9cafbcf7-b50e-4005-8f93-9373bbb08b5a + 100 + 2021-11-18 14:49:20.594 + + true + + + Immutable Universally Unique Identifier + + true + false + + false + false + false + false + false + false + N + false + false + true + false + true + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + 36 + ECA14 + Immutable Universally Unique Identifier + + 100 + 2021-11-18 14:49:20.594 + + UUID + + + 54874 + + 10 + + 0 + + 59595 + 99520 + 0 + + + + + + 3508f5fd-2c50-4aa1-86fc-781d1dbecd97 + 100 + 2021-11-18 14:49:21.817 + Immutable Universally Unique Identifier + false + true + 100 + 2021-11-18 14:49:21.817 + 0 + es_MX + 99520 + 0 + + + + + + 21756a5a-63b8-44db-82cf-04de1e8425f4 + 100 + 2021-11-18 14:49:21.976 + + 1000000 + false + + C_POSPaymentReference + true + true + false + true + 1 + Table C_POSPaymentReference + + + 50000 + 1000000 + 100 + 2021-11-18 14:49:21.976 + 55396 + 0 + 0 + + + + + Cuenta Bancaria para Pagar Orden + 54874 + es_MX + + + + + 10 + 19 + + + + + Cuenta Bancaria para Pagar Orden + Cuenta Bancaria para Pagar Orden + Cuenta Bancaria para Pagar Orden + es_MX + 61913 + + + + + + 0 + + + 6d724259-b34e-41c0-b8ad-b219485c44eb + 100 + 2021-11-18 15:04:19.22 + 1 + true + + + Order + + true + false + N + true + false + false + true + false + true + N + false + false + true + true + true + + The Order is a control document. The Order is complete when the quantity ordered is the same as the quantity shipped and invoiced. When you close an order, unshipped (backordered) quantities are cancelled. + + 10 + ECA14 + Order + + 100 + 2021-11-18 15:04:19.219 + + C_Order_ID + + + 54874 + 290 + 19 + + 0 + + 558 + 99521 + 0 + + + + + + ca00a89e-8278-4bee-a0df-1f7a3501031b + 100 + 2021-11-18 15:04:20.312 + Order + false + true + 100 + 2021-11-18 15:04:20.312 + 0 + es_MX + 99521 + 0 + + + + + + 0 + + + 4221b702-29d8-4c9d-a472-aff39eb87207 + 100 + 2021-11-18 15:05:02.789 + 2 + true + + + Partner Bank Account + + true + false + N + true + false + false + true + false + true + N + false + false + true + true + true + + The Partner Bank Account identifies the bank account to be used for this Business Partner + + 10 + ECA14 + Bank Account of the Business Partner + + 100 + 2021-11-18 15:05:02.789 + + C_BP_BankAccount_ID + + + 54874 + + 19 + + 0 + + 837 + 99522 + 0 + + + + + + 3c311537-b4a4-4017-ba04-17a5f2b5e74d + 100 + 2021-11-18 15:05:04.154 + Partner Bank Account + false + true + 100 + 2021-11-18 15:05:04.154 + 0 + es_MX + 99522 + 0 + + + + + 30 + + + + + + 24382d11-b55a-4452-aade-633ca221b45b + 100 + 2021-11-18 15:06:28.797 + 1 + 50 + + false + + + Customer Bank Accounts + false + false + false + true + false + false + false + true + + N + + false + ECA14 + @C_POS_ID@!0 + + 100 + 2021-11-18 15:06:28.797 + + 143 + 54874 + 55132 + + 0 + + + + + 99521 + 0 + + + + + 39e5f3f2-62c8-4c57-bdd3-a4b14c7d5b30 + 100 + 2021-11-18 15:06:30.085 + Customer Bank Accounts + false + true + + + 100 + 2021-11-18 15:06:30.085 + + 55132 + 0 + es_MX + 0 + + + + + 99941dfc-7d26-4ddb-8714-4d258c724821 + 100 + 2021-11-18 15:06:32.236 + + 0 + 0 + + + Active + false + false + false + + false + false + false + false + true + true + true + false + true + + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + ECA14 + + 1 + The record is active in the system + + 100 + 2021-11-18 15:06:32.236 + + 55132 + + + 0 + + 101880 + + + + 99515 + 0 + + + + + 01f77dfe-ffc0-4eb6-9843-3393b6fbfca8 + 100 + 2021-11-18 15:06:33.298 + Active + false + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + The record is active in the system + 100 + 2021-11-18 15:06:33.298 + 0 + es_MX + 101880 + 0 + + + + + 560b8c51-13b3-4d0b-ac9f-c04328ea73d9 + 100 + 2021-11-18 15:06:33.415 + + 0 + 0 + + + Bank Account for Payments + false + false + false + + false + false + false + false + true + false + true + false + true + + + + ECA14 + + 10 + + + 100 + 2021-11-18 15:06:33.415 + + 55132 + + + 0 + + 101881 + + + + 99512 + 0 + + + + + 6bee86cc-08d6-4171-a864-8b5778f9ec30 + 100 + 2021-11-18 15:06:34.364 + Bank Account for Payments + false + true + + + 100 + 2021-11-18 15:06:34.364 + 0 + es_MX + 101881 + 0 + + + + + 57c9aa35-fe4c-4756-b3c0-2e0c0e904549 + 100 + 2021-11-18 15:06:34.482 + + 0 + 0 + + + Client + false + false + false + + false + false + false + false + true + true + true + false + true + + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + ECA14 + + 10 + Client/Tenant for this installation. + + 100 + 2021-11-18 15:06:34.482 + + 55132 + + + 0 + + 101882 + + + + 99513 + 0 + + + + + a3c89138-a7b8-4358-91da-0768daddf3d7 + 100 + 2021-11-18 15:06:35.524 + Client + false + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + Client/Tenant for this installation. + 100 + 2021-11-18 15:06:35.524 + 0 + es_MX + 101882 + 0 + + + + + 4ecc0004-5564-42c2-9513-24bb6f669363 + 100 + 2021-11-18 15:06:35.663 + + 0 + 0 + + + Immutable Universally Unique Identifier + false + false + false + + false + false + false + false + true + false + true + false + true + + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + ECA14 + + 36 + Immutable Universally Unique Identifier + + 100 + 2021-11-18 15:06:35.663 + + 55132 + + + 0 + + 101883 + + + + 99520 + 0 + + + + + 6d378574-77c7-49dc-bf6e-0e95f3af9819 + 100 + 2021-11-18 15:06:37.019 + Immutable Universally Unique Identifier + false + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + Immutable Universally Unique Identifier + 100 + 2021-11-18 15:06:37.019 + 0 + es_MX + 101883 + 0 + + + + + b8d719b2-5685-4d8c-b119-c15ae642ab55 + 100 + 2021-11-18 15:06:37.283 + + 0 + 0 + + + Order + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Order is a control document. The Order is complete when the quantity ordered is the same as the quantity shipped and invoiced. When you close an order, unshipped (backordered) quantities are cancelled. + ECA14 + + 10 + Order + + 100 + 2021-11-18 15:06:37.282 + + 55132 + + + 0 + + 101884 + + + + 99521 + 0 + + + + + d7c09bb3-ba0e-4ff6-96a1-95f6b21fc70c + 100 + 2021-11-18 15:06:38.049 + Order + false + true + The Order is a control document. The Order is complete when the quantity ordered is the same as the quantity shipped and invoiced. When you close an order, unshipped (backordered) quantities are cancelled. + Order + 100 + 2021-11-18 15:06:38.049 + 0 + es_MX + 101884 + 0 + + + + + bf4681e6-ae02-4f72-8057-987ecd10dc5e + 100 + 2021-11-18 15:06:38.244 + + 0 + 0 + + + Organization + false + false + false + + false + false + false + false + true + true + true + true + true + + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + ECA14 + + 10 + Organizational entity within client + + 100 + 2021-11-18 15:06:38.243 + + 55132 + + + 0 + + 101885 + + + + 99514 + 0 + + + + + 6579b511-f767-4b66-82f5-a39bf2ad1397 + 100 + 2021-11-18 15:06:39.356 + Organization + false + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + Organizational entity within client + 100 + 2021-11-18 15:06:39.356 + 0 + es_MX + 101885 + 0 + + + + + 38333077-35d5-48d7-9049-94642ec24b37 + 100 + 2021-11-18 15:06:39.477 + + 0 + 0 + + + Partner Bank Account + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Partner Bank Account identifies the bank account to be used for this Business Partner + ECA14 + + 10 + Bank Account of the Business Partner + + 100 + 2021-11-18 15:06:39.477 + + 55132 + + + 0 + + 101886 + + + + 99522 + 0 + + + + + 5385e51a-7d21-418c-ac53-2fb43fc63548 + 100 + 2021-11-18 15:06:40.5 + Partner Bank Account + false + true + The Partner Bank Account identifies the bank account to be used for this Business Partner + Bank Account of the Business Partner + 100 + 2021-11-18 15:06:40.5 + 0 + es_MX + 101886 + 0 + + + + + Cuentas Bancarias de Cliente + Cuentas Bancarias a transferir de clientes + 55132 + es_MX + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + true + + + + + true + + + + + + 5661f449-f003-4095-b28e-9964b929e598 + 100 + 2021-11-18 15:09:16.656 + 2 + 85 + + false + + + Order by Account + false + false + false + true + false + false + false + true + + N + + false + ECA14 + + Orders that will be paid from bank account + 100 + 2021-11-18 15:09:16.655 + + 123 + 54874 + 55133 + + 0 + + + + + 99522 + 0 + + + + + a8ac79e0-d3d1-4ae1-a174-7da31e6daf07 + 100 + 2021-11-18 15:09:17.869 + Order by Account + false + true + + Orders that will be paid from bank account + 100 + 2021-11-18 15:09:17.869 + + 55133 + 0 + es_MX + 0 + + + + + 73a9e464-bd30-4711-b8a6-c1890b5b92fa + 100 + 2021-11-18 15:09:20.281 + + 0 + 0 + + + Active + false + false + false + + false + false + false + false + true + true + true + false + true + + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + ECA14 + + 1 + The record is active in the system + + 100 + 2021-11-18 15:09:20.281 + + 55133 + + + 0 + + 101887 + + + + 99515 + 0 + + + + + a96fbf8d-70a6-4881-b843-e4750c3ac1ad + 100 + 2021-11-18 15:09:21.15 + Active + false + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + The record is active in the system + 100 + 2021-11-18 15:09:21.15 + 0 + es_MX + 101887 + 0 + + + + + fa5bb64a-403f-409a-a142-af5819ad776e + 100 + 2021-11-18 15:09:21.306 + + 0 + 0 + + + Bank Account for Payments + false + false + false + + false + false + false + false + true + false + true + false + true + + + + ECA14 + + 10 + + + 100 + 2021-11-18 15:09:21.306 + + 55133 + + + 0 + + 101888 + + + + 99512 + 0 + + + + + 450d3db8-32f7-4ae5-98a4-4491afc65857 + 100 + 2021-11-18 15:09:22.252 + Bank Account for Payments + false + true + + + 100 + 2021-11-18 15:09:22.252 + 0 + es_MX + 101888 + 0 + + + + + 699dedeb-203a-4c2d-b926-e6481140cf29 + 100 + 2021-11-18 15:09:22.378 + + 0 + 0 + + + Client + false + false + false + + false + false + false + false + true + true + true + false + true + + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + ECA14 + + 10 + Client/Tenant for this installation. + + 100 + 2021-11-18 15:09:22.377 + + 55133 + + + 0 + + 101889 + + + + 99513 + 0 + + + + + 862a289e-0e00-4fe3-af75-a6bad8ed2034 + 100 + 2021-11-18 15:09:23.246 + Client + false + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + Client/Tenant for this installation. + 100 + 2021-11-18 15:09:23.246 + 0 + es_MX + 101889 + 0 + + + + + df45fc44-a989-4a1c-82c3-385931affe6a + 100 + 2021-11-18 15:09:23.421 + + 0 + 0 + + + Immutable Universally Unique Identifier + false + false + false + + false + false + false + false + true + false + true + false + true + + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + ECA14 + + 36 + Immutable Universally Unique Identifier + + 100 + 2021-11-18 15:09:23.421 + + 55133 + + + 0 + + 101890 + + + + 99520 + 0 + + + + + 3c77b5ed-8437-4f93-9cf4-991991ad8013 + 100 + 2021-11-18 15:09:24.742 + Immutable Universally Unique Identifier + false + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + Immutable Universally Unique Identifier + 100 + 2021-11-18 15:09:24.742 + 0 + es_MX + 101890 + 0 + + + + + 987617ca-304f-43d2-897b-d367a2b26b07 + 100 + 2021-11-18 15:09:24.86 + + 0 + 0 + + + Order + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Order is a control document. The Order is complete when the quantity ordered is the same as the quantity shipped and invoiced. When you close an order, unshipped (backordered) quantities are cancelled. + ECA14 + + 10 + Order + + 100 + 2021-11-18 15:09:24.86 + + 55133 + + + 0 + + 101891 + + + + 99521 + 0 + + + + + b73a9620-c9cc-47ed-962d-c6d6cf4ecdd8 + 100 + 2021-11-18 15:09:25.699 + Order + false + true + The Order is a control document. The Order is complete when the quantity ordered is the same as the quantity shipped and invoiced. When you close an order, unshipped (backordered) quantities are cancelled. + Order + 100 + 2021-11-18 15:09:25.699 + 0 + es_MX + 101891 + 0 + + + + + 32f61da0-2677-438b-9f6c-b51a91ecf1ca + 100 + 2021-11-18 15:09:25.878 + + 0 + 0 + + + Organization + false + false + false + + false + false + false + false + true + true + true + true + true + + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + ECA14 + + 10 + Organizational entity within client + + 100 + 2021-11-18 15:09:25.878 + + 55133 + + + 0 + + 101892 + + + + 99514 + 0 + + + + + ad0ddb5d-7c9b-4079-bc78-d1baab12cb28 + 100 + 2021-11-18 15:09:27.066 + Organization + false + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + Organizational entity within client + 100 + 2021-11-18 15:09:27.066 + 0 + es_MX + 101892 + 0 + + + + + 10031a13-5f05-4f25-9ed9-592858c4deb5 + 100 + 2021-11-18 15:09:27.186 + + 0 + 0 + + + Partner Bank Account + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Partner Bank Account identifies the bank account to be used for this Business Partner + ECA14 + + 10 + Bank Account of the Business Partner + + 100 + 2021-11-18 15:09:27.186 + + 55133 + + + 0 + + 101893 + + + + 99522 + 0 + + + + + ed79edda-5571-40c9-bd55-172770a93ad1 + 100 + 2021-11-18 15:09:28.687 + Partner Bank Account + false + true + The Partner Bank Account identifies the bank account to be used for this Business Partner + Bank Account of the Business Partner + 100 + 2021-11-18 15:09:28.687 + 0 + es_MX + 101893 + 0 + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + true + + + + + true + + + + + + 0 + + + 0b4d43b7-bfde-4ba5-9cfc-6e65691aef72 + 100 + 2021-11-18 15:10:28.189 + 0 + true + + + Paid + + true + false + N + true + false + false + false + false + false + N + false + false + true + false + true + + + + 1 + ECA14 + The document is paid + N + 100 + 2021-11-18 15:10:28.189 + + IsPaid + + + 54874 + + 20 + + 0 + + 1402 + 99523 + 0 + + + + + + edeb4695-6a06-4be3-89b1-9dd75c979201 + 100 + 2021-11-18 15:10:29.677 + Paid + false + true + 100 + 2021-11-18 15:10:29.677 + 0 + es_MX + 99523 + 0 + + + + + + 0 + + + 0d7663b4-9e6c-49d9-83b7-d3ff0045251a + 100 + 2021-11-18 15:11:36.066 + 0 + true + + + Store Payment Method + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Payment Methods allowed for Store + -1 + 100 + 2021-11-18 15:11:36.066 + + C_PaymentMethod_ID + + + 54874 + + 19 + + 0 + + 61500 + 99524 + 0 + + + + + + 25d8de51-09c5-4c23-9dc5-7c41e2cd3aed + 100 + 2021-11-18 15:11:37.172 + Store Payment Method + false + true + 100 + 2021-11-18 15:11:37.172 + 0 + es_MX + 99524 + 0 + + + + + + 0 + + + 76c1059a-70d0-430a-bcdf-1e6dc9258fe2 + 100 + 2021-11-18 15:11:50.124 + 0 + true + + + Tender type + + true + false + N + true + false + false + true + false + false + N + false + false + true + true + true + + The Tender Type indicates the method of payment (ACH or Direct Deposit, Credit Card, Check, Direct Debit) + + 1 + ECA14 + Method of Payment + + 100 + 2021-11-18 15:11:50.124 + + TenderType + + + 54874 + 214 + 17 + + 0 + + 1441 + 99525 + 0 + + + + + + 67fc2ef0-0ebf-4a06-b92f-f906766c6e7b + 100 + 2021-11-18 15:11:51.863 + Tender type + false + true + 100 + 2021-11-18 15:11:51.863 + 0 + es_MX + 99525 + 0 + + + + + + 0 + + + 9dd62d16-a659-45b3-9f68-a1af1f8e30b5 + 100 + 2021-11-18 15:14:34.189 + 0 + true + + + Amount + + true + false + N + false + false + false + true + false + false + N + false + false + true + true + true + + The Amount indicates the amount for this document line. + + 0 + ECA14 + Amount in a defined currency + 0 + 100 + 2021-11-18 15:14:34.189 + + Amount + + + 54874 + + 12 + + 0 + + 1367 + 99526 + 0 + + + + + + d02744d5-cd7c-41a6-a209-ac31fe7ef1b5 + 100 + 2021-11-18 15:14:35.4 + Amount + false + true + 100 + 2021-11-18 15:14:35.4 + 0 + es_MX + 99526 + 0 + + + + + + 0 + + + a4318c94-1cde-4aa6-8ae3-40bfef413468 + 100 + 2021-11-18 15:14:49.948 + 0 + true + + + Currency + + true + false + N + true + false + false + true + false + false + N + false + false + true + true + true + + Indicates the Currency to be used when processing or reporting on this record + + 10 + ECA14 + The Currency for this record + + 100 + 2021-11-18 15:14:49.947 + + C_Currency_ID + + + 54874 + + 19 + + 0 + + 193 + 99527 + 0 + + + + + + c02281a3-82cc-4023-ad6b-0b635600edbb + 100 + 2021-11-18 15:14:51.119 + Currency + false + true + 100 + 2021-11-18 15:14:51.119 + 0 + es_MX + 99527 + 0 + + + + + + 0 + + + 77ca0cde-cad5-4924-ad6a-426fbf312f7d + 100 + 2021-11-18 15:15:02.468 + 0 + true + + + Currency Type + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + + 10 + ECA14 + Currency Conversion Rate Type + + 100 + 2021-11-18 15:15:02.468 + + C_ConversionType_ID + + + 54874 + + 19 + + 0 + + 2278 + 99528 + 0 + + + + + + 73d085ac-8d72-45d4-b77c-e10391028619 + 100 + 2021-11-18 15:15:03.337 + Currency Type + false + true + 100 + 2021-11-18 15:15:03.337 + 0 + es_MX + 99528 + 0 + + + + + + 0 + + + 3d03ab5e-13ca-4899-9a2b-c67cba30c5d2 + 100 + 2021-11-18 15:15:28.022 + 0 + true + + + Payment date + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + The Payment Date indicates the date the payment was made. + + 0 + ECA14 + Date Payment made + + 100 + 2021-11-18 15:15:28.022 + + PayDate + + + 54874 + + 15 + + 0 + + 1538 + 99529 + 0 + + + + + + f3975fa1-3ced-4f6d-af48-0528198313ae + 100 + 2021-11-18 15:15:28.927 + Payment date + false + true + 100 + 2021-11-18 15:15:28.927 + 0 + es_MX + 99529 + 0 + + + + + 76e5d353-aba2-4487-9589-984f762b2dbc + 100 + 2021-11-18 15:16:15.938 + + 0 + 0 + + + Amount + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Amount indicates the amount for this document line. + ECA14 + + 0 + Amount in a defined currency + + 100 + 2021-11-18 15:16:15.938 + + 55132 + + + 0 + + 101894 + + + + 99526 + 0 + + + + + 72810e26-b262-47d2-a5f7-1aedac845123 + 100 + 2021-11-18 15:16:17.433 + Amount + false + true + The Amount indicates the amount for this document line. + Amount in a defined currency + 100 + 2021-11-18 15:16:17.433 + 0 + es_MX + 101894 + 0 + + + + + bb884110-bbba-4e65-8875-8822b09393e3 + 100 + 2021-11-18 15:16:17.575 + + 0 + 0 + + + Currency + false + false + false + + false + false + false + false + true + true + true + true + true + + + Indicates the Currency to be used when processing or reporting on this record + ECA14 + + 10 + The Currency for this record + + 100 + 2021-11-18 15:16:17.575 + + 55132 + + + 0 + + 101895 + + + + 99527 + 0 + + + + + dd7ebc10-3ee6-4d50-82dd-232cf0380135 + 100 + 2021-11-18 15:16:18.541 + Currency + false + true + Indicates the Currency to be used when processing or reporting on this record + The Currency for this record + 100 + 2021-11-18 15:16:18.541 + 0 + es_MX + 101895 + 0 + + + + + 2791260e-287c-4fe3-8fa3-fc5c3584545c + 100 + 2021-11-18 15:16:18.656 + + 0 + 0 + + + Currency Type + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + ECA14 + + 10 + Currency Conversion Rate Type + + 100 + 2021-11-18 15:16:18.656 + + 55132 + + + 0 + + 101896 + + + + 99528 + 0 + + + + + 10e38c75-b809-4ccb-a521-e089a0c1e0b5 + 100 + 2021-11-18 15:16:19.856 + Currency Type + false + true + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + Currency Conversion Rate Type + 100 + 2021-11-18 15:16:19.856 + 0 + es_MX + 101896 + 0 + + + + + d72b9e58-7abd-4043-9bd5-d034dfa45560 + 100 + 2021-11-18 15:16:19.958 + + 0 + 0 + + + Paid + false + false + false + + false + false + false + false + true + true + true + false + true + + + + ECA14 + + 1 + The document is paid + + 100 + 2021-11-18 15:16:19.958 + + 55132 + + + 0 + + 101897 + + + + 99523 + 0 + + + + + 443a4be4-17c7-4a2a-a053-5383b98333ee + 100 + 2021-11-18 15:16:21.045 + Paid + false + true + + The document is paid + 100 + 2021-11-18 15:16:21.045 + 0 + es_MX + 101897 + 0 + + + + + 81bbda25-68ba-4cfd-ac43-ea13365f4feb + 100 + 2021-11-18 15:16:21.176 + + 0 + 0 + + + Payment date + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Payment Date indicates the date the payment was made. + ECA14 + + 0 + Date Payment made + + 100 + 2021-11-18 15:16:21.176 + + 55132 + + + 0 + + 101898 + + + + 99529 + 0 + + + + + bb2c8355-921a-4105-a8e1-b770cd95952a + 100 + 2021-11-18 15:16:22.446 + Payment date + false + true + The Payment Date indicates the date the payment was made. + Date Payment made + 100 + 2021-11-18 15:16:22.446 + 0 + es_MX + 101898 + 0 + + + + + 74caf9d6-a0f9-4a20-a43e-3c46e7037715 + 100 + 2021-11-18 15:16:22.659 + + 0 + 0 + + + Store Payment Method + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 10 + Payment Methods allowed for Store + + 100 + 2021-11-18 15:16:22.659 + + 55132 + + + 0 + + 101899 + + + + 99524 + 0 + + + + + 29ff0b39-2190-4d98-a4af-6e215a4f3894 + 100 + 2021-11-18 15:16:23.483 + Store Payment Method + false + true + + Payment Methods allowed for Store + 100 + 2021-11-18 15:16:23.483 + 0 + es_MX + 101899 + 0 + + + + + 4d7e999c-fe57-4e24-9ada-88992f1d9edc + 100 + 2021-11-18 15:16:23.656 + + 0 + 0 + + + Tender type + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Tender Type indicates the method of payment (ACH or Direct Deposit, Credit Card, Check, Direct Debit) + ECA14 + + 1 + Method of Payment + + 100 + 2021-11-18 15:16:23.656 + + 55132 + + + 0 + + 101900 + + + + 99525 + 0 + + + + + b59e8530-11e1-4df5-9b12-4cab18cde56f + 100 + 2021-11-18 15:16:24.725 + Tender type + false + true + The Tender Type indicates the method of payment (ACH or Direct Deposit, Credit Card, Check, Direct Debit) + Method of Payment + 100 + 2021-11-18 15:16:24.725 + 0 + es_MX + 101900 + 0 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + true + + + + + true + + + + + true + + + + + true + + + + + 539e0b2a-aaa0-4297-8f01-ffdddc00669e + 100 + 2021-11-18 15:17:43.874 + + 0 + 0 + + + Amount + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Amount indicates the amount for this document line. + ECA14 + + 0 + Amount in a defined currency + + 100 + 2021-11-18 15:17:43.874 + + 55133 + + + 0 + + 101901 + + + + 99526 + 0 + + + + + 8d7dc769-74d8-47b8-bf6c-f884d43c625f + 100 + 2021-11-18 15:17:44.851 + Amount + false + true + The Amount indicates the amount for this document line. + Amount in a defined currency + 100 + 2021-11-18 15:17:44.851 + 0 + es_MX + 101901 + 0 + + + + + 2bcbe26c-0691-44b6-a559-01617d015549 + 100 + 2021-11-18 15:17:44.955 + + 0 + 0 + + + Currency + false + false + false + + false + false + false + false + true + true + true + true + true + + + Indicates the Currency to be used when processing or reporting on this record + ECA14 + + 10 + The Currency for this record + + 100 + 2021-11-18 15:17:44.955 + + 55133 + + + 0 + + 101902 + + + + 99527 + 0 + + + + + 44bc409c-da9e-47e1-9897-0efc0de6608a + 100 + 2021-11-18 15:17:46.473 + Currency + false + true + Indicates the Currency to be used when processing or reporting on this record + The Currency for this record + 100 + 2021-11-18 15:17:46.473 + 0 + es_MX + 101902 + 0 + + + + + b5d1efea-c3d0-4f7d-adc2-f08318fcc4b4 + 100 + 2021-11-18 15:17:46.721 + + 0 + 0 + + + Currency Type + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + ECA14 + + 10 + Currency Conversion Rate Type + + 100 + 2021-11-18 15:17:46.721 + + 55133 + + + 0 + + 101903 + + + + 99528 + 0 + + + + + 8d141716-2e91-43a5-9763-8a8430dfdec7 + 100 + 2021-11-18 15:17:47.78 + Currency Type + false + true + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + Currency Conversion Rate Type + 100 + 2021-11-18 15:17:47.78 + 0 + es_MX + 101903 + 0 + + + + + e67d348c-f23e-47cb-908d-376aeb307f08 + 100 + 2021-11-18 15:17:47.911 + + 0 + 0 + + + Paid + false + false + false + + false + false + false + false + true + true + true + false + true + + + + ECA14 + + 1 + The document is paid + + 100 + 2021-11-18 15:17:47.91 + + 55133 + + + 0 + + 101904 + + + + 99523 + 0 + + + + + a3c7f95c-d649-4fa5-8990-6df5709eac35 + 100 + 2021-11-18 15:17:49.325 + Paid + false + true + + The document is paid + 100 + 2021-11-18 15:17:49.325 + 0 + es_MX + 101904 + 0 + + + + + 186dafc2-d12e-404c-958d-7aa1b8a7775e + 100 + 2021-11-18 15:17:49.449 + + 0 + 0 + + + Payment date + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Payment Date indicates the date the payment was made. + ECA14 + + 0 + Date Payment made + + 100 + 2021-11-18 15:17:49.449 + + 55133 + + + 0 + + 101905 + + + + 99529 + 0 + + + + + d9ca3451-d598-48d2-b960-41dc74c30729 + 100 + 2021-11-18 15:17:50.228 + Payment date + false + true + The Payment Date indicates the date the payment was made. + Date Payment made + 100 + 2021-11-18 15:17:50.228 + 0 + es_MX + 101905 + 0 + + + + + 3934758a-aec9-4e9a-b056-3fe962d5dba2 + 100 + 2021-11-18 15:17:50.372 + + 0 + 0 + + + Store Payment Method + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 10 + Payment Methods allowed for Store + + 100 + 2021-11-18 15:17:50.372 + + 55133 + + + 0 + + 101906 + + + + 99524 + 0 + + + + + b22b821d-3798-43da-9e01-f76b49b63a3e + 100 + 2021-11-18 15:17:51.71 + Store Payment Method + false + true + + Payment Methods allowed for Store + 100 + 2021-11-18 15:17:51.71 + 0 + es_MX + 101906 + 0 + + + + + bca15c5e-0245-4fcc-b4fc-b7fbb0cb9ea8 + 100 + 2021-11-18 15:17:51.918 + + 0 + 0 + + + Tender type + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Tender Type indicates the method of payment (ACH or Direct Deposit, Credit Card, Check, Direct Debit) + ECA14 + + 1 + Method of Payment + + 100 + 2021-11-18 15:17:51.917 + + 55133 + + + 0 + + 101907 + + + + 99525 + 0 + + + + + bfb24a97-7e07-4e3d-afd0-3384fe72283e + 100 + 2021-11-18 15:17:53.174 + Tender type + false + true + The Tender Type indicates the method of payment (ACH or Direct Deposit, Credit Card, Check, Direct Debit) + Method of Payment + 100 + 2021-11-18 15:17:53.174 + 0 + es_MX + 101907 + 0 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + true + + + + + true + + + + + true + + + + + true + + + + diff --git a/pos/xml/migration/09530_Add_Attributes_for_refund_order.xml b/pos/xml/migration/09530_Add_Attributes_for_refund_order.xml new file mode 100644 index 0000000000..3c5aff39ac --- /dev/null +++ b/pos/xml/migration/09530_Add_Attributes_for_refund_order.xml @@ -0,0 +1,654 @@ + + + + + + + 0 + + + d1e3a2a7-db9f-4137-9a64-6f24d6a6bf84 + 100 + 2021-11-18 15:43:49.857 + 0 + true + + + Sales Representative + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid internal user. + + 10 + ECA14 + Sales Representative or Company Agent + + 100 + 2021-11-18 15:43:49.857 + + SalesRep_ID + + + 54874 + 190 + 18 + + 0 + + 1063 + 99530 + 0 + + + + + + aef62107-d3c4-465b-855c-4539ef28bf83 + 100 + 2021-11-18 15:43:51.395 + Sales Representative + false + true + 100 + 2021-11-18 15:43:51.395 + 0 + es_MX + 99530 + 0 + + + + + + 0 + + + d8ed01f1-ff80-46bb-b0a2-24cc3ce1aefa + 100 + 2021-11-18 15:44:05.217 + 0 + true + + + POS Terminal + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + The POS Terminal defines the defaults and functions available for the POS Form + + 10 + ECA14 + Point of Sales Terminal + + 100 + 2021-11-18 15:44:05.217 + + C_POS_ID + + + 54874 + + 19 + + 0 + + 2581 + 99531 + 0 + + + + + + 904b5d81-ee3b-4acc-a1ef-4fedc3da19d1 + 100 + 2021-11-18 15:44:06.579 + POS Terminal + false + true + 100 + 2021-11-18 15:44:06.579 + 0 + es_MX + 99531 + 0 + + + + + + 0 + + + ea5e0351-e457-4372-a525-f08e4c908ae2 + 100 + 2021-11-18 15:44:20.889 + 0 + true + + + Description + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + A description is limited to 255 characters. + + 255 + ECA14 + Optional short description of the record + + 100 + 2021-11-18 15:44:20.889 + + Description + + + 54874 + + 14 + + 0 + + 275 + 99532 + 0 + + + + + + c163ee13-bc43-4b2f-99f7-945c0b46d340 + 100 + 2021-11-18 15:44:22.137 + Description + false + true + 100 + 2021-11-18 15:44:22.137 + 0 + es_MX + 99532 + 0 + + + + + 136346bf-5ac8-4d77-91e5-f21e4ec14a7d + 100 + 2021-11-18 15:45:26.161 + + 0 + 0 + + + Description + false + false + false + + false + false + false + false + true + true + true + true + true + + + A description is limited to 255 characters. + ECA14 + + 255 + Optional short description of the record + + 100 + 2021-11-18 15:45:26.161 + + 55132 + + + 0 + + 101908 + + + + 99532 + 0 + + + + + a293375c-1b49-449f-89dd-0ce1c232e790 + 100 + 2021-11-18 15:45:27.282 + Description + false + true + A description is limited to 255 characters. + Optional short description of the record + 100 + 2021-11-18 15:45:27.282 + 0 + es_MX + 101908 + 0 + + + + + 343a6994-b325-4b54-93a3-04d7c213e0a4 + 100 + 2021-11-18 15:45:27.451 + + 0 + 0 + + + POS Terminal + false + false + false + + false + false + false + false + true + true + true + true + true + + + The POS Terminal defines the defaults and functions available for the POS Form + ECA14 + + 10 + Point of Sales Terminal + + 100 + 2021-11-18 15:45:27.451 + + 55132 + + + 0 + + 101909 + + + + 99531 + 0 + + + + + 0d2b08e2-140e-4ee0-aa5f-3ddb5783f0d9 + 100 + 2021-11-18 15:45:28.393 + POS Terminal + false + true + The POS Terminal defines the defaults and functions available for the POS Form + Point of Sales Terminal + 100 + 2021-11-18 15:45:28.393 + 0 + es_MX + 101909 + 0 + + + + + 20e2f0d5-056a-49f1-ae60-9c6e45152001 + 100 + 2021-11-18 15:45:28.529 + + 0 + 0 + + + Sales Representative + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid internal user. + ECA14 + + 10 + Sales Representative or Company Agent + + 100 + 2021-11-18 15:45:28.529 + + 55132 + + + 0 + + 101910 + + + + 99530 + 0 + + + + + 244278a6-35ca-4f84-9cea-9f0942a63fef + 100 + 2021-11-18 15:45:29.543 + Sales Representative + false + true + The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid internal user. + Sales Representative or Company Agent + 100 + 2021-11-18 15:45:29.543 + 0 + es_MX + 101910 + 0 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + true + + + + + 97984a53-5c2f-48df-a531-5241994c855a + 100 + 2021-11-18 15:46:40.514 + + 0 + 0 + + + Description + false + false + false + + false + false + false + false + true + true + true + true + true + + + A description is limited to 255 characters. + ECA14 + + 255 + Optional short description of the record + + 100 + 2021-11-18 15:46:40.514 + + 55133 + + + 0 + + 101911 + + + + 99532 + 0 + + + + + c233dbbc-b7f5-4279-a623-2b20ede0db51 + 100 + 2021-11-18 15:46:41.81 + Description + false + true + A description is limited to 255 characters. + Optional short description of the record + 100 + 2021-11-18 15:46:41.81 + 0 + es_MX + 101911 + 0 + + + + + 8feef141-7b1f-4341-b993-fcf9bfd6065c + 100 + 2021-11-18 15:46:41.978 + + 0 + 0 + + + POS Terminal + false + false + false + + false + false + false + false + true + true + true + true + true + + + The POS Terminal defines the defaults and functions available for the POS Form + ECA14 + + 10 + Point of Sales Terminal + + 100 + 2021-11-18 15:46:41.978 + + 55133 + + + 0 + + 101912 + + + + 99531 + 0 + + + + + 99061435-96e6-4b88-824f-b9a1e563b556 + 100 + 2021-11-18 15:46:42.973 + POS Terminal + false + true + The POS Terminal defines the defaults and functions available for the POS Form + Point of Sales Terminal + 100 + 2021-11-18 15:46:42.973 + 0 + es_MX + 101912 + 0 + + + + + 52a7e156-a654-45ef-9c4d-ceffb0a783a1 + 100 + 2021-11-18 15:46:43.096 + + 0 + 0 + + + Sales Representative + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid internal user. + ECA14 + + 10 + Sales Representative or Company Agent + + 100 + 2021-11-18 15:46:43.096 + + 55133 + + + 0 + + 101913 + + + + 99530 + 0 + + + + + 5d8965da-8684-4a31-bf58-67cc8765a0f1 + 100 + 2021-11-18 15:46:44.06 + Sales Representative + false + true + The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid internal user. + Sales Representative or Company Agent + 100 + 2021-11-18 15:46:44.06 + 0 + es_MX + 101913 + 0 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + true + + + + diff --git a/pos/xml/migration/09540_Add_Complete_Shipment_Validation.xml b/pos/xml/migration/09540_Add_Complete_Shipment_Validation.xml new file mode 100644 index 0000000000..ed98710147 --- /dev/null +++ b/pos/xml/migration/09540_Add_Complete_Shipment_Validation.xml @@ -0,0 +1,113 @@ + + + + + + e31c3793-d0f1-439b-8418-b80e042c66c0 + 100 + 2021-11-19 18:30:17.073 + Deploy Validation for Shipment from POS + true + + ECA14 + Create a validation for complete shipment only if is complete + 100 + 2021-11-19 18:30:17.073 + org.spin.pos.setup.ValidateShipmentFromPOS + 50043 + 0 + 0 + + + + + MissingProductsOnShipment + f195f345-dff1-4b5f-a14e-ac33a35e6f51 + 100 + 2021-11-19 18:31:16.602 + I + + Missing Product for this Shipment + true + ECA14 + 100 + 2021-11-19 18:31:16.602 + 0 + 53712 + 0 + + + + + 09aa14c3-42b0-4c9c-a320-80bd373f7911 + 100 + 2021-11-19 18:31:17.6 + + Missing Product for this Shipment + false + true + 100 + 2021-11-19 18:31:17.6 + 0 + 53712 + es_MX + 0 + + + + + Faltan Productos por agregar a la Entrega + 53712 + es_MX + + + + + MissingProductsOnShipmentLine + 8856bf5b-caef-4ed3-91f0-aae123d4e4e8 + 100 + 2021-11-19 18:32:48.877 + E + + Line: {0} +Product: {1} +Missing Quantity: {2,number,###,###,###,##0.00} + true + ECA14 + 100 + 2021-11-19 18:32:48.877 + 0 + 53713 + 0 + + + + + 542872e3-1dad-4264-8680-82c431b44094 + 100 + 2021-11-19 18:32:49.729 + + Line: {0} +Product: {1} +Missing Quantity: {2,number,###,###,###,##0.00} + false + true + 100 + 2021-11-19 18:32:49.729 + 0 + 53713 + es_MX + 0 + + + + + Linea: {0} +Producto: {1} +Cantidad Faltante: {2,number,###,###,###,##0.00} + 53713 + es_MX + + + + diff --git a/pos/xml/migration/09550_Add_Assigned_Sales_Representative.xml b/pos/xml/migration/09550_Add_Assigned_Sales_Representative.xml new file mode 100644 index 0000000000..1d43f53206 --- /dev/null +++ b/pos/xml/migration/09550_Add_Assigned_Sales_Representative.xml @@ -0,0 +1,200 @@ + + + + + + 967aa61d-d418-4852-ac1d-4a3e5d4fd891 + 100 + 2021-11-22 08:07:58.429 + Assigned Sales Representative + + + + + Assigned Sales Representative + true + + 10 + ECA14 + + 100 + 2021-11-22 08:07:58.429 + AssignedSalesRep_ID + 190 + 18 + 0 + 61914 + 0 + + + + + 3650dcf7-3498-4ade-a271-ac3f2316803c + 100 + 2021-11-22 08:07:59.842 + Assigned Sales Representative + + + + + Assigned Sales Representative + false + true + + + 100 + 2021-11-22 08:07:59.842 + 0 + es_MX + 61914 + 0 + + + + + Representante de Ventas Asignado + Representante de Ventas Asignado + Representante de Ventas Asignado para este documento + es_MX + 61914 + + + + + + 0 + + + bb9722c7-d33f-4769-b69e-e1914b0b0fcc + 100 + 2021-11-22 08:08:55.913 + 0 + true + + + Assigned Sales Representative + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + + + 100 + 2021-11-22 08:08:55.913 + + AssignedSalesRep_ID + + + 259 + 190 + 18 + + 0 + + 61914 + 99533 + 0 + + + + + + 7ebd1869-7e7f-4b0b-b14b-96bda88c97ab + 100 + 2021-11-22 08:08:56.873 + Assigned Sales Representative + false + true + 100 + 2021-11-22 08:08:56.873 + 0 + es_MX + 99533 + 0 + + + + + 3263c62a-fbb1-4cd0-8c39-20bfc7aba45e + 100 + 2021-11-22 08:09:16.331 + 0 + 650 + 650 + 0 + + Assigned Sales Representative + false + true + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + + + 100 + 2021-11-22 08:09:16.33 + + 186 + + + 0 + + 101914 + + + + 99533 + 0 + + + + + 2a2b08aa-b35a-41ca-9a3d-c1ea6aface2c + 100 + 2021-11-22 08:09:17.473 + Assigned Sales Representative + false + true + + + 100 + 2021-11-22 08:09:17.473 + 0 + es_MX + 101914 + 0 + + + + diff --git a/pos/xml/migration/09560_Add_Error_Message_for_Assigned_Sales_Rep.xml b/pos/xml/migration/09560_Add_Error_Message_for_Assigned_Sales_Rep.xml new file mode 100644 index 0000000000..8c577e4a88 --- /dev/null +++ b/pos/xml/migration/09560_Add_Error_Message_for_Assigned_Sales_Rep.xml @@ -0,0 +1,47 @@ + + + + + + POS.SalesRepAssigned + 24bd9a31-b893-417e-b98a-14cfb5e0f476 + 100 + 2021-11-22 15:47:38.972 + E + + Assigned Sales Representative alredy exists for this order + true + ECA14 + 100 + 2021-11-22 15:47:38.972 + 0 + 53714 + 0 + + + + + 99b2e1f9-ab0c-4d2c-9dd9-9cdb5d2799b0 + 100 + 2021-11-22 15:47:40.312 + + Assigned Sales Representative alredy exists for this order + false + true + 100 + 2021-11-22 15:47:40.312 + 0 + 53714 + es_MX + 0 + + + + + Ya existe un Vendedor asignado para esta Orden de Venta + 53714 + es_MX + + + + diff --git a/pos/xml/migration/09570_Add_message_for_WriteOffAmtTolerance.xml b/pos/xml/migration/09570_Add_message_for_WriteOffAmtTolerance.xml new file mode 100644 index 0000000000..516e45bebe --- /dev/null +++ b/pos/xml/migration/09570_Add_message_for_WriteOffAmtTolerance.xml @@ -0,0 +1,47 @@ + + + + + + POS.WriteOffAmtToleranceExceeded + 54f0bfa5-0da6-4395-9a36-b78f401a2fd8 + 100 + 2021-11-22 20:31:15.281 + I + + Write off Amount Exceeded + true + ECA14 + 100 + 2021-11-22 20:31:15.281 + 0 + 53715 + 0 + + + + + 2a61f6cc-5e7e-4ddb-b374-6b0a76371cdb + 100 + 2021-11-22 20:31:16.114 + + Write off Amount Exceeded + false + true + 100 + 2021-11-22 20:31:16.114 + 0 + 53715 + es_MX + 0 + + + + + Monto de Ajuste Excedido, por favor ajuste el documento con un monto menor + 53715 + es_MX + + + + diff --git a/pos/xml/migration/09580_Add_Image_Quality_Option_for_Catalog.xml b/pos/xml/migration/09580_Add_Image_Quality_Option_for_Catalog.xml new file mode 100644 index 0000000000..ef582719c4 --- /dev/null +++ b/pos/xml/migration/09580_Add_Image_Quality_Option_for_Catalog.xml @@ -0,0 +1,239 @@ + + + + + + 3f4bf189-c9d9-49f8-9611-7347ed283bfa + 100 + 2021-11-25 19:07:23.51 + % Image Quality + + + + + % Image Quality + true + + 10 + ECA14 + + 100 + 2021-11-25 19:07:23.509 + CatalogImageQuality + + 11 + 0 + 61917 + 0 + + + + + 4edd8391-aba2-48d7-98fa-172e69b7286d + 100 + 2021-11-25 19:07:24.911 + % Image Quality + + + + + % Image Quality + false + true + + + 100 + 2021-11-25 19:07:24.911 + 0 + es_MX + 61917 + 0 + + + + + % Calidad de Imagen + % Calidad de Imagen + % Calidad de Imagen para catálogo + es_MX + 61917 + + + + + ad1a3b8e-504d-4c23-9abd-fba54471f756 + 100 + 2021-11-25 19:08:24.728 + Show Stock + + + + + Show Stock + true + + 1 + ECA14 + Show Stock for catalog + 100 + 2021-11-25 19:08:24.728 + CatalogIsShowStock + + 20 + 0 + 61918 + 0 + + + + + a87a0939-6369-44c1-a76b-6c62176413be + 100 + 2021-11-25 19:08:25.337 + Show Stock + + + + + Show Stock + false + true + + Show Stock for catalog + 100 + 2021-11-25 19:08:25.337 + 0 + es_MX + 61918 + 0 + + + + + Mostrar Existencia + Mostrar Existencia + Mostrar Existencia para el catálogo + es_MX + 61918 + + + + + + + + d250cb7a-3606-4486-ab5f-9222b9f6a22c + 100 + 2021-11-25 19:08:56.364 + 110 + + % Image Quality + false + false + false + true + true + + 10 + ECA14 + + + + 100 + 100 + 2021-11-25 19:08:56.363 + CatalogImageQuality + + + 11 + 58536 + 54550 + 0 + 61917 + 0 + + + + + c8b91f57-e46f-4ce2-bc23-dbe451bb3fbd + 100 + 2021-11-25 19:08:57.7 + % Image Quality + false + true + + + 100 + 2021-11-25 19:08:57.7 + 58536 + 0 + es_MX + 0 + + + + + + + + a2e3a438-537a-426a-935f-ed19ac627ada + 100 + 2021-11-25 19:09:15.13 + 120 + + Show Stock + false + false + false + true + true + + 1 + ECA14 + + Show Stock for catalog + + N + 100 + 2021-11-25 19:09:15.13 + CatalogIsShowStock + + + 20 + 58537 + 54550 + 0 + 61918 + 0 + + + + + 22ef0bab-a07b-436a-810b-ad0c4f6d7ca4 + 100 + 2021-11-25 19:09:16.097 + Show Stock + false + true + + Show Stock for catalog + 100 + 2021-11-25 19:09:16.097 + 58537 + 0 + es_MX + 0 + + + + + 110 + + + + + 120 + + + + diff --git a/pos/xml/migration/09590_Add_Payment_Verification_Supervisor.xml b/pos/xml/migration/09590_Add_Payment_Verification_Supervisor.xml new file mode 100644 index 0000000000..fd140a7517 --- /dev/null +++ b/pos/xml/migration/09590_Add_Payment_Verification_Supervisor.xml @@ -0,0 +1,400 @@ + + + + + + 9bcd5054-06bc-44e3-95ce-a5391abefbb9 + 100 + 2022-01-11 08:16:48.799 + Payment Verification Supervisor + + + + + Payment Verification Supervisor + true + + 10 + ECA14 + A supervisor for approve a payment from a e-Mail, Telegram or any SMS + 100 + 2022-01-11 08:16:48.799 + PayVerificationSupervisor_ID + 286 + 18 + 0 + 61947 + 0 + + + + + 88d0831c-639f-44d6-942f-fcf9062d4c35 + 100 + 2022-01-11 08:16:50.255 + Payment Verification Supervisor + + + + + Payment Verification Supervisor + false + true + + A supervisor for approve a payment from a e-Mail, Telegram or any SMS + 100 + 2022-01-11 08:16:50.255 + 0 + es_MX + 61947 + 0 + + + + + Supervisor de Verificación de Pago + Supervisor de Verificación de Pago + Un supervisor encargado de aprobar pagos desde Correo Electrónico, Telegram o cualquier SMS + es_MX + 61947 + + + + + b5389ea1-ed64-455d-887e-3cc236b68275 + 100 + 2022-01-11 08:59:42.143 + Payment Verification Mail Template + + + + + Payment Verification Mail Template + true + + 10 + ECA14 + Mail Template for Payment Verification + 100 + 2022-01-11 08:59:42.143 + PayVerificationMailText_ID + 274 + 18 + 0 + 61948 + 0 + + + + + 66a3d3d1-785b-41c3-9c31-fab0f9654990 + 100 + 2022-01-11 08:59:43.212 + Payment Verification Mail Template + + + + + Payment Verification Mail Template + false + true + + Mail Template for Payment Verification + 100 + 2022-01-11 08:59:43.212 + 0 + es_MX + 61948 + 0 + + + + + Plantilla de Mensaje para Verificación de Pago + Plantilla de Mensaje para Verificación de Pago + Seleccione una plantilla para el mensaje a enviar + es_MX + 61948 + + + + + + 0 + + + a3f8fcda-9f5a-4714-b0f9-5f0a2b21db56 + 100 + 2022-01-11 09:02:35.748 + 0 + true + + + Payment Verification Supervisor + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + A supervisor for approve a payment from a e-Mail, Telegram or any SMS + + 100 + 2022-01-11 09:02:35.747 + + PayVerificationSupervisor_ID + + + 54848 + 286 + 18 + + 0 + + 61947 + 99683 + 0 + + + + + + 6806b759-f840-456a-a288-efaf331e31e8 + 100 + 2022-01-11 09:02:37.309 + Payment Verification Supervisor + false + true + 100 + 2022-01-11 09:02:37.309 + 0 + es_MX + 99683 + 0 + + + + + + 0 + + + ac617a4f-fc95-4672-995c-a056403ffde1 + 100 + 2022-01-11 09:02:49.394 + 0 + true + + + Payment Verification Mail Template + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Mail Template for Payment Verification + + 100 + 2022-01-11 09:02:49.394 + + PayVerificationMailText_ID + + + 54848 + 274 + 18 + + 0 + + 61948 + 99684 + 0 + + + + + + 8f727825-57df-418b-a1ae-47b6bc4706a7 + 100 + 2022-01-11 09:02:50.468 + Payment Verification Mail Template + false + true + 100 + 2022-01-11 09:02:50.468 + 0 + es_MX + 99684 + 0 + + + + + b8c308aa-2984-43bc-bf75-4d8d4c68fa07 + 100 + 2022-01-11 09:03:33.69 + 0 + 140 + 140 + 0 + + Payment Verification Supervisor + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + A supervisor for approve a payment from a e-Mail, Telegram or any SMS + + 100 + 2022-01-11 09:03:33.69 + + 55110 + + + 0 + + 101994 + + + + 99683 + 0 + + + + + 9e847b4e-5d13-4ee1-bbdd-7333e16dc7a1 + 100 + 2022-01-11 09:03:35.141 + Payment Verification Supervisor + false + true + + A supervisor for approve a payment from a e-Mail, Telegram or any SMS + 100 + 2022-01-11 09:03:35.141 + 0 + es_MX + 101994 + 0 + + + + + 4434146d-93a6-4cc0-8451-eb6d531b6582 + 100 + 2022-01-11 09:03:41.941 + 0 + 150 + 150 + 0 + + Payment Verification Mail Template + true + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Mail Template for Payment Verification + + 100 + 2022-01-11 09:03:41.94 + + 55110 + + + 0 + + 101995 + + + + 99684 + 0 + + + + + 24ac806d-8ad4-4c93-aff4-111eef34886c + 100 + 2022-01-11 09:03:42.802 + Payment Verification Mail Template + false + true + + Mail Template for Payment Verification + 100 + 2022-01-11 09:03:42.802 + 0 + es_MX + 101995 + 0 + + + + + @PayVerificationSupervisor_ID@!0 + + + + diff --git a/pos/xml/migration/09600_Add_Message_for_verification.xml b/pos/xml/migration/09600_Add_Message_for_verification.xml new file mode 100644 index 0000000000..0fdbfcf10b --- /dev/null +++ b/pos/xml/migration/09600_Add_Message_for_verification.xml @@ -0,0 +1,47 @@ + + + + + + PaymentAlreadyVerified + f261b90b-9112-4d50-bade-bb6668d9efeb + 100 + 2022-01-20 07:57:12.367 + I + + Payment Already Verified + true + ECA23 + 100 + 2022-01-20 07:57:12.367 + 0 + 53716 + 0 + + + + + 4990463e-941d-4fb2-9b03-45bc24460b88 + 100 + 2022-01-20 07:57:13.349 + + Payment Already Verified + false + true + 100 + 2022-01-20 07:57:13.349 + 0 + 53716 + es_MX + 0 + + + + + El pago ya se encuentra verificado + 53716 + es_MX + + + + diff --git a/pos/xml/migration/09610_Rename_package_name.xml b/pos/xml/migration/09610_Rename_package_name.xml new file mode 100644 index 0000000000..967362a6e5 --- /dev/null +++ b/pos/xml/migration/09610_Rename_package_name.xml @@ -0,0 +1,10 @@ + + + + + + org.spin.pos.process.VerifyPayments + + + + diff --git a/pos/xml/migration/09620_Add_Generate_Refund_from_POS_Browser.xml b/pos/xml/migration/09620_Add_Generate_Refund_from_POS_Browser.xml new file mode 100644 index 0000000000..c098224297 --- /dev/null +++ b/pos/xml/migration/09620_Add_Generate_Refund_from_POS_Browser.xml @@ -0,0 +1,8745 @@ + + + + + + POS_GenerateRefundFromInvoice + 7cba9bcd-004c-41bc-bf7d-77bcfd092a7f + 100 + 2022-02-07 14:28:20.837 + Generate Refund (From Invoice Customer) + true + + ECA14 + Generate a Refund from Open Refund from POS + 100 + 2022-02-07 14:28:20.837 + N + 50216 + 0 + 0 + + + + + a24ced92-a061-4b92-8473-f8faeca26302 + 100 + 2022-02-07 14:28:21.771 + Generate Refund (From Invoice Customer) + false + true + + Generate a Refund from Open Refund from POS + 100 + 2022-02-07 14:28:21.771 + 50216 + 0 + es_MX + 0 + + + + + Generar Reembolso desde (PDV) + Use este visor para generar reembolsos desde el punto de ventas cuando se encuentran marcados como reembolso posterior + Genera Reembolsos desde el Punto de Ventas + 50216 + es_MX + + + + + Generate Refund (POS) + Use this browser for generate refund from Point of Sales + + + + + 4269b4d8-cd00-4474-ac8d-09bae11016a8 + 100 + 2022-02-07 14:33:42.665 + opb + 10 + false + + true + 100 + 2022-02-07 14:33:42.665 + 50216 + 50572 + 54874 + 0 + 0 + + + + + 3d2e6de3-808d-4698-a618-8ea54d7627a4 + 100 + 2022-02-07 14:33:45.395 + Client + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + ECA14 + Client/Tenant for this installation. + 100 + 2022-02-07 14:33:45.395 + opb.AD_Client_ID + OPB_AD_Client_ID + 50216 + 50572 + 72694 + 0 + 99513 + 0 + + + + + 25562858-3b57-4b33-babb-96447b3906be + 100 + 2022-02-07 14:33:46.282 + Client + false + true + + Client/Tenant for this installation. + 100 + 2022-02-07 14:33:46.282 + 72694 + 0 + es_MX + 0 + + + + + 7e10ecf6-25b8-42fe-a684-7d0a23a7b99d + 100 + 2022-02-07 14:33:46.41 + Organization + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + ECA14 + Organizational entity within client + 100 + 2022-02-07 14:33:46.41 + opb.AD_Org_ID + OPB_AD_Org_ID + 50216 + 50572 + 72695 + 0 + 99514 + 0 + + + + + 8cc1f92c-9e68-4c1f-9b6d-79f4f6569c08 + 100 + 2022-02-07 14:33:47.154 + Organization + false + true + + Organizational entity within client + 100 + 2022-02-07 14:33:47.154 + 72695 + 0 + es_MX + 0 + + + + + 1f2ebf45-9785-440a-a048-312ecf6855c1 + 100 + 2022-02-07 14:33:47.297 + Amount + true + The Amount indicates the amount for this document line. + ECA14 + Amount in a defined currency + 100 + 2022-02-07 14:33:47.297 + opb.Amount + OPB_Amount + 50216 + 50572 + 72696 + 0 + 99526 + 0 + + + + + 90ca085a-d9fd-4b60-af07-a2525152aee9 + 100 + 2022-02-07 14:33:48.325 + Amount + false + true + + Amount in a defined currency + 100 + 2022-02-07 14:33:48.325 + 72696 + 0 + es_MX + 0 + + + + + 1e18ef7c-abf2-4707-ab52-effb6bca1738 + 100 + 2022-02-07 14:33:48.455 + Partner Bank Account + true + The Partner Bank Account identifies the bank account to be used for this Business Partner + ECA14 + Bank Account of the Business Partner + 100 + 2022-02-07 14:33:48.455 + opb.C_BP_BankAccount_ID + OPB_C_BP_BankAccount_ID + 50216 + 50572 + 72697 + 0 + 99522 + 0 + + + + + 4b43f4b3-2a52-4ca4-bc87-e5eeb9e87b44 + 100 + 2022-02-07 14:33:49.146 + Partner Bank Account + false + true + + Bank Account of the Business Partner + 100 + 2022-02-07 14:33:49.146 + 72697 + 0 + es_MX + 0 + + + + + ce029ed9-691b-4524-82aa-6643acf4bda6 + 100 + 2022-02-07 14:33:49.348 + Currency Type + true + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + ECA14 + Currency Conversion Rate Type + 100 + 2022-02-07 14:33:49.348 + opb.C_ConversionType_ID + OPB_C_ConversionType_ID + 50216 + 50572 + 72698 + 0 + 99528 + 0 + + + + + f6101096-8642-4efb-8817-a8006a541c79 + 100 + 2022-02-07 14:33:50.108 + Currency Type + false + true + + Currency Conversion Rate Type + 100 + 2022-02-07 14:33:50.108 + 72698 + 0 + es_MX + 0 + + + + + d3b6abd9-4d64-4a8c-b680-e14a65cb0092 + 100 + 2022-02-07 14:33:50.274 + Currency + true + Indicates the Currency to be used when processing or reporting on this record + ECA14 + The Currency for this record + 100 + 2022-02-07 14:33:50.274 + opb.C_Currency_ID + OPB_C_Currency_ID + 50216 + 50572 + 72699 + 0 + 99527 + 0 + + + + + 89d49697-9c28-4448-89c2-1dff0447d57a + 100 + 2022-02-07 14:33:51.161 + Currency + false + true + + The Currency for this record + 100 + 2022-02-07 14:33:51.161 + 72699 + 0 + es_MX + 0 + + + + + 7ee3ad88-1bd2-40d3-86ea-06743a2fb815 + 100 + 2022-02-07 14:33:51.289 + Order + true + The Order is a control document. The Order is complete when the quantity ordered is the same as the quantity shipped and invoiced. When you close an order, unshipped (backordered) quantities are cancelled. + ECA14 + Order + 100 + 2022-02-07 14:33:51.289 + opb.C_Order_ID + OPB_C_Order_ID + 50216 + 50572 + 72700 + 0 + 99521 + 0 + + + + + 435efb0e-9041-4b70-b3f1-e35d9464fcad + 100 + 2022-02-07 14:33:52.375 + Order + false + true + + Order + 100 + 2022-02-07 14:33:52.375 + 72700 + 0 + es_MX + 0 + + + + + 9593a851-318f-4e8b-9dd9-5f3fd3bc5371 + 100 + 2022-02-07 14:33:52.492 + Bank Account for Payments + true + + ECA14 + + 100 + 2022-02-07 14:33:52.492 + opb.C_POSPaymentReference_ID + OPB_C_POSPaymentReference_ID + 50216 + 50572 + 72701 + 0 + 99512 + 0 + + + + + 8565afee-3ee1-4b7c-9292-df7bd2f0de92 + 100 + 2022-02-07 14:33:53.229 + Bank Account for Payments + false + true + + + 100 + 2022-02-07 14:33:53.229 + 72701 + 0 + es_MX + 0 + + + + + 2c551d1a-1f26-4847-b247-4be372fa833b + 100 + 2022-02-07 14:33:53.347 + Store Payment Method + true + + ECA14 + Payment Methods allowed for Store + 100 + 2022-02-07 14:33:53.347 + opb.C_PaymentMethod_ID + OPB_C_PaymentMethod_ID + 50216 + 50572 + 72702 + 0 + 99524 + 0 + + + + + 7306ebd9-145a-4ed0-a1f1-65ea0f9e5d49 + 100 + 2022-02-07 14:33:54.186 + Store Payment Method + false + true + + Payment Methods allowed for Store + 100 + 2022-02-07 14:33:54.186 + 72702 + 0 + es_MX + 0 + + + + + b2209247-0729-49f4-a6ee-cc6818f8639c + 100 + 2022-02-07 14:33:54.332 + POS Terminal + true + The POS Terminal defines the defaults and functions available for the POS Form + ECA14 + Point of Sales Terminal + 100 + 2022-02-07 14:33:54.332 + opb.C_POS_ID + OPB_C_POS_ID + 50216 + 50572 + 72703 + 0 + 99531 + 0 + + + + + 7ebfc6ae-859d-4289-8e22-bf055b02e8e0 + 100 + 2022-02-07 14:33:55.286 + POS Terminal + false + true + + Point of Sales Terminal + 100 + 2022-02-07 14:33:55.286 + 72703 + 0 + es_MX + 0 + + + + + 8a1aad4f-fc3b-4620-8ddf-7f4040702eea + 100 + 2022-02-07 14:33:55.403 + Created + true + The Created field indicates the date that this record was created. + ECA14 + Date this record was created + 100 + 2022-02-07 14:33:55.403 + opb.Created + OPB_Created + 50216 + 50572 + 72704 + 0 + 99516 + 0 + + + + + 440fed5e-f4fb-4def-a417-6ddd983445a2 + 100 + 2022-02-07 14:33:56.499 + Created + false + true + + Date this record was created + 100 + 2022-02-07 14:33:56.499 + 72704 + 0 + es_MX + 0 + + + + + 0a7190bf-8f8b-40c1-bb2d-4db1590783e4 + 100 + 2022-02-07 14:33:56.66 + Created By + true + The Created By field indicates the user who created this record. + ECA14 + User who created this records + 100 + 2022-02-07 14:33:56.66 + opb.CreatedBy + OPB_CreatedBy + 50216 + 50572 + 72705 + 0 + 99518 + 0 + + + + + 39d8758d-a5c4-4e0d-944b-87cb32cffd38 + 100 + 2022-02-07 14:33:57.736 + Created By + false + true + + User who created this records + 100 + 2022-02-07 14:33:57.736 + 72705 + 0 + es_MX + 0 + + + + + 7932fdac-44c8-4fe7-a26e-e70291597330 + 100 + 2022-02-07 14:33:57.85 + Description + true + A description is limited to 255 characters. + ECA14 + Optional short description of the record + 100 + 2022-02-07 14:33:57.85 + opb.Description + OPB_Description + 50216 + 50572 + 72706 + 0 + 99532 + 0 + + + + + 1f29af80-4072-48db-baed-4f00a9b7a8a3 + 100 + 2022-02-07 14:33:58.538 + Description + false + true + + Optional short description of the record + 100 + 2022-02-07 14:33:58.538 + 72706 + 0 + es_MX + 0 + + + + + fc5f8b95-80d6-4833-9699-40cabf9cbea3 + 100 + 2022-02-07 14:33:58.799 + Active + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + ECA14 + The record is active in the system + 100 + 2022-02-07 14:33:58.799 + opb.IsActive + OPB_IsActive + 50216 + 50572 + 72707 + 0 + 99515 + 0 + + + + + 53a83c2d-9eb9-4fda-b5a1-dc762da88121 + 100 + 2022-02-07 14:33:59.713 + Active + false + true + + The record is active in the system + 100 + 2022-02-07 14:33:59.713 + 72707 + 0 + es_MX + 0 + + + + + 22064101-ec9b-4b30-a030-b81ddeabb1f1 + 100 + 2022-02-07 14:33:59.836 + Paid + true + + ECA14 + The document is paid + 100 + 2022-02-07 14:33:59.836 + opb.IsPaid + OPB_IsPaid + 50216 + 50572 + 72708 + 0 + 99523 + 0 + + + + + 2c906ec5-213a-4819-b3b8-572b94ba6407 + 100 + 2022-02-07 14:34:00.666 + Paid + false + true + + The document is paid + 100 + 2022-02-07 14:34:00.666 + 72708 + 0 + es_MX + 0 + + + + + 45684c23-69e4-4cbe-9f43-7412c34de106 + 100 + 2022-02-07 14:34:00.808 + Payment date + true + The Payment Date indicates the date the payment was made. + ECA14 + Date Payment made + 100 + 2022-02-07 14:34:00.808 + opb.PayDate + OPB_PayDate + 50216 + 50572 + 72709 + 0 + 99529 + 0 + + + + + 78143d70-51d0-405a-abab-6df0fb9d92f7 + 100 + 2022-02-07 14:34:01.528 + Payment date + false + true + + Date Payment made + 100 + 2022-02-07 14:34:01.528 + 72709 + 0 + es_MX + 0 + + + + + 8556ef0d-73b9-4ce1-93f0-eff2d7d19665 + 100 + 2022-02-07 14:34:01.641 + Sales Representative + true + The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid internal user. + ECA14 + Sales Representative or Company Agent + 100 + 2022-02-07 14:34:01.641 + opb.SalesRep_ID + OPB_SalesRep_ID + 50216 + 50572 + 72710 + 0 + 99530 + 0 + + + + + 0409c2b2-f8b2-45f5-8daa-5de4a63bf868 + 100 + 2022-02-07 14:34:02.671 + Sales Representative + false + true + + Sales Representative or Company Agent + 100 + 2022-02-07 14:34:02.671 + 72710 + 0 + es_MX + 0 + + + + + a5a1ed6d-43cf-4178-90cb-8224f2e1792f + 100 + 2022-02-07 14:34:02.803 + Tender type + true + The Tender Type indicates the method of payment (ACH or Direct Deposit, Credit Card, Check, Direct Debit) + ECA14 + Method of Payment + 100 + 2022-02-07 14:34:02.803 + opb.TenderType + OPB_TenderType + 50216 + 50572 + 72711 + 0 + 99525 + 0 + + + + + 21c1edd2-0aa8-41db-ae1f-570726c0fab2 + 100 + 2022-02-07 14:34:04.034 + Tender type + false + true + + Method of Payment + 100 + 2022-02-07 14:34:04.034 + 72711 + 0 + es_MX + 0 + + + + + 5abbfaa0-5ab3-43a5-ba57-8c642730f8fa + 100 + 2022-02-07 14:34:04.33 + Updated + true + The Updated field indicates the date that this record was updated. + ECA14 + Date this record was updated + 100 + 2022-02-07 14:34:04.33 + opb.Updated + OPB_Updated + 50216 + 50572 + 72712 + 0 + 99517 + 0 + + + + + a0dfd103-cfd2-4789-8fd7-aec4a3c411d1 + 100 + 2022-02-07 14:34:05.2 + Updated + false + true + + Date this record was updated + 100 + 2022-02-07 14:34:05.2 + 72712 + 0 + es_MX + 0 + + + + + cae4217c-8bdc-4537-b91e-20a9cfbfcd24 + 100 + 2022-02-07 14:34:05.319 + Updated By + true + The Updated By field indicates the user who updated this record. + ECA14 + User who updated this records + 100 + 2022-02-07 14:34:05.319 + opb.UpdatedBy + OPB_UpdatedBy + 50216 + 50572 + 72713 + 0 + 99519 + 0 + + + + + a16d5324-9aca-4a5d-98e4-ad5e97ece563 + 100 + 2022-02-07 14:34:06.482 + Updated By + false + true + + User who updated this records + 100 + 2022-02-07 14:34:06.482 + 72713 + 0 + es_MX + 0 + + + + + 0ee7574b-26f1-400e-9a3f-4d627fbd6d99 + 100 + 2022-02-07 14:34:06.663 + Immutable Universally Unique Identifier + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + ECA14 + Immutable Universally Unique Identifier + 100 + 2022-02-07 14:34:06.663 + opb.UUID + OPB_UUID + 50216 + 50572 + 72714 + 0 + 99520 + 0 + + + + + 1c0488e4-da01-4386-90e6-f868e1543736 + 100 + 2022-02-07 14:34:07.564 + Immutable Universally Unique Identifier + false + true + + Immutable Universally Unique Identifier + 100 + 2022-02-07 14:34:07.564 + 72714 + 0 + es_MX + 0 + + + + + 81636f08-d72a-4640-89bc-54211549e5aa + 100 + 2022-02-07 14:37:59.71 + bba + 20 + false + INNER JOIN C_BP_BankAccount bba ON(bba.C_BP_BankAccount_ID = opb.C_BP_BankAccount_ID) + true + 100 + 2022-02-07 14:37:59.71 + 50216 + 50573 + 298 + 0 + 0 + + + + + 2022ffd1-44e2-40ac-a4ba-609fa4407cb0 + 100 + 2022-02-07 14:43:39.089 + Account No + true + The Account Number indicates the Number assigned to this bank account. + ECA14 + Account Number + 100 + 2022-02-07 14:43:39.089 + bba.AccountNo + BBA_AccountNo + 50216 + 50573 + 72715 + 0 + 3105 + 0 + + + + + c22c2546-fda5-4c9f-bbea-6e7ac13f18c7 + 100 + 2022-02-07 14:43:41.173 + Account No + false + true + + Account Number + 100 + 2022-02-07 14:43:41.173 + 72715 + 0 + es_MX + 0 + + + + + 7cbd0bfe-6f01-4ab1-96f1-ed8581d057f8 + 100 + 2022-02-07 14:43:41.295 + Account City + true + The Account City indicates the City of the Credit Card or Account holder + ECA14 + City or the Credit Card or Account Holder + 100 + 2022-02-07 14:43:41.295 + bba.A_City + BBA_A_City + 50216 + 50573 + 72716 + 0 + 5228 + 0 + + + + + 4704cd8d-6e64-45fa-aa56-dddc76ffd938 + 100 + 2022-02-07 14:43:42.193 + Account City + false + true + + City or the Credit Card or Account Holder + 100 + 2022-02-07 14:43:42.193 + 72716 + 0 + es_MX + 0 + + + + + 28103937-079f-47b4-a2b3-c104515dd53a + 100 + 2022-02-07 14:43:42.337 + Account Country + true + Account Country Name + ECA14 + Country + 100 + 2022-02-07 14:43:42.337 + bba.A_Country + BBA_A_Country + 50216 + 50573 + 72717 + 0 + 8212 + 0 + + + + + 8a95483f-a338-4c4d-9c86-27ab49e98a65 + 100 + 2022-02-07 14:43:42.948 + Account Country + false + true + + Country + 100 + 2022-02-07 14:43:42.948 + 72717 + 0 + es_MX + 0 + + + + + c1224a4f-02bb-459a-9f7b-424db1bf7474 + 100 + 2022-02-07 14:43:43.059 + Client + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + ECA14 + Client/Tenant for this installation. + 100 + 2022-02-07 14:43:43.059 + bba.AD_Client_ID + BBA_AD_Client_ID + 50216 + 50573 + 72718 + 0 + 3095 + 0 + + + + + 2719fd05-3c90-4d4b-8f70-950d23b47cf2 + 100 + 2022-02-07 14:43:43.775 + Client + false + true + + Client/Tenant for this installation. + 100 + 2022-02-07 14:43:43.775 + 72718 + 0 + es_MX + 0 + + + + + 62333016-0958-40d8-a14e-a580422f6a3f + 100 + 2022-02-07 14:43:43.9 + Organization + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + ECA14 + Organizational entity within client + 100 + 2022-02-07 14:43:43.9 + bba.AD_Org_ID + BBA_AD_Org_ID + 50216 + 50573 + 72719 + 0 + 3096 + 0 + + + + + b3c06f49-35b1-40f9-846d-00b18734e596 + 100 + 2022-02-07 14:43:44.705 + Organization + false + true + + Organizational entity within client + 100 + 2022-02-07 14:43:44.705 + 72719 + 0 + es_MX + 0 + + + + + e08927ad-acf5-4b8e-ae95-f04032161c32 + 100 + 2022-02-07 14:43:44.832 + User/Contact + true + The User identifies a unique user in the system. This could be an internal user or a business partner contact + ECA14 + User within the system - Internal or Business Partner Contact + 100 + 2022-02-07 14:43:44.832 + bba.AD_User_ID + BBA_AD_User_ID + 50216 + 50573 + 72720 + 0 + 5224 + 0 + + + + + c621b7e3-7aac-44bb-96d4-458662097cff + 100 + 2022-02-07 14:43:46.181 + User/Contact + false + true + + User within the system - Internal or Business Partner Contact + 100 + 2022-02-07 14:43:46.181 + 72720 + 0 + es_MX + 0 + + + + + 7a47c1db-d8e1-4135-b4cd-4d28dbf5bc9c + 100 + 2022-02-07 14:43:46.31 + Account EMail + true + The EMail Address indicates the EMail address off the Credit Card or Account holder. + ECA14 + Email Address + 100 + 2022-02-07 14:43:46.31 + bba.A_EMail + BBA_A_EMail + 50216 + 50573 + 72721 + 0 + 5229 + 0 + + + + + 4d452fb3-9004-4d17-ad44-feb2d9e27357 + 100 + 2022-02-07 14:43:47.214 + Account EMail + false + true + + Email Address + 100 + 2022-02-07 14:43:47.214 + 72721 + 0 + es_MX + 0 + + + + + e0119ac5-1482-491c-93d8-976aff8b3bed + 100 + 2022-02-07 14:43:47.321 + Driver License + true + The Driver's License being used as identification. + ECA14 + Payment Identification - Driver License + 100 + 2022-02-07 14:43:47.321 + bba.A_Ident_DL + BBA_A_Ident_DL + 50216 + 50573 + 72722 + 0 + 5230 + 0 + + + + + 7731677c-9c2a-453d-b669-f82fe3320106 + 100 + 2022-02-07 14:43:48.462 + Driver License + false + true + + Payment Identification - Driver License + 100 + 2022-02-07 14:43:48.462 + 72722 + 0 + es_MX + 0 + + + + + f9503492-cf9c-476c-a15e-581e0272ae3b + 100 + 2022-02-07 14:43:48.671 + Social Security No + true + The Social Security number being used as identification. + ECA14 + Payment Identification - Social Security No + 100 + 2022-02-07 14:43:48.671 + bba.A_Ident_SSN + BBA_A_Ident_SSN + 50216 + 50573 + 72723 + 0 + 5231 + 0 + + + + + b790c831-5340-4a32-ac96-c44d49367732 + 100 + 2022-02-07 14:43:49.664 + Social Security No + false + true + + Payment Identification - Social Security No + 100 + 2022-02-07 14:43:49.664 + 72723 + 0 + es_MX + 0 + + + + + c1dda1d0-1955-4360-835e-6f949601aa7a + 100 + 2022-02-07 14:43:49.779 + Account Name + true + The Name of the Credit Card or Account holder. + ECA14 + Name on Credit Card or Account holder + 100 + 2022-02-07 14:43:49.779 + bba.A_Name + BBA_A_Name + 50216 + 50573 + 72724 + 0 + 5232 + 0 + + + + + 8c2cc9bf-0c06-45cf-b28f-6fe2b395314f + 100 + 2022-02-07 14:43:50.548 + Account Name + false + true + + Name on Credit Card or Account holder + 100 + 2022-02-07 14:43:50.548 + 72724 + 0 + es_MX + 0 + + + + + 3c02d914-0ceb-4cac-8cce-91304cf9c2d4 + 100 + 2022-02-07 14:43:50.67 + Account State + true + The State of the Credit Card or Account holder + ECA14 + State of the Credit Card or Account holder + 100 + 2022-02-07 14:43:50.67 + bba.A_State + BBA_A_State + 50216 + 50573 + 72725 + 0 + 5233 + 0 + + + + + 08e01897-5e7b-490f-9211-429b00ed83c5 + 100 + 2022-02-07 14:43:51.244 + Account State + false + true + + State of the Credit Card or Account holder + 100 + 2022-02-07 14:43:51.244 + 72725 + 0 + es_MX + 0 + + + + + dd179619-7c0e-46b0-94b9-bb6922ea786f + 100 + 2022-02-07 14:43:51.418 + Account Street + true + The Street Address of the Credit Card or Account holder. + ECA14 + Street address of the Credit Card or Account holder + 100 + 2022-02-07 14:43:51.418 + bba.A_Street + BBA_A_Street + 50216 + 50573 + 72726 + 0 + 5234 + 0 + + + + + 793ec589-5b48-4485-b179-afffe29ef28c + 100 + 2022-02-07 14:43:52.362 + Account Street + false + true + + Street address of the Credit Card or Account holder + 100 + 2022-02-07 14:43:52.362 + 72726 + 0 + es_MX + 0 + + + + + 7e40e01f-6974-41f7-b610-d1162198fcd0 + 100 + 2022-02-07 14:43:52.527 + Account Zip/Postal + true + The Zip Code of the Credit Card or Account Holder. + ECA14 + Zip Code of the Credit Card or Account Holder + 100 + 2022-02-07 14:43:52.527 + bba.A_Zip + BBA_A_Zip + 50216 + 50573 + 72727 + 0 + 5235 + 0 + + + + + 87d0b47a-1417-4361-b4fe-f35685050a3f + 100 + 2022-02-07 14:43:53.231 + Account Zip/Postal + false + true + + Zip Code of the Credit Card or Account Holder + 100 + 2022-02-07 14:43:53.231 + 72727 + 0 + es_MX + 0 + + + + + f3c6a76e-69a8-470e-8dd8-c3e42bb5a4ab + 100 + 2022-02-07 14:43:53.366 + Bank Account Type + true + The Bank Account Type field indicates the type of account (savings, checking etc) this account is defined as. + ECA14 + Bank Account Type + 100 + 2022-02-07 14:43:53.366 + bba.BankAccountType + BBA_BankAccountType + 50216 + 50573 + 72728 + 0 + 5236 + 0 + + + + + 2d2f760c-63c3-4e83-96dc-4eccf6d44dfe + 100 + 2022-02-07 14:43:54.009 + Bank Account Type + false + true + + Bank Account Type + 100 + 2022-02-07 14:43:54.009 + 72728 + 0 + es_MX + 0 + + + + + abded807-3538-4ea6-b0fa-f8469261312a + 100 + 2022-02-07 14:43:54.123 + Account Usage + true + Determines how the bank account is used. + ECA14 + Business Partner Bank Account usage + 100 + 2022-02-07 14:43:54.123 + bba.BPBankAcctUse + BBA_BPBankAcctUse + 50216 + 50573 + 72729 + 0 + 15918 + 0 + + + + + d62768e8-1b8e-432b-a545-0988da6a04b2 + 100 + 2022-02-07 14:43:54.785 + Account Usage + false + true + + Business Partner Bank Account usage + 100 + 2022-02-07 14:43:54.785 + 72729 + 0 + es_MX + 0 + + + + + 5cd47d17-83b9-4fd7-99a0-70e3fad56a60 + 100 + 2022-02-07 14:43:54.919 + Bank + true + The Bank is a unique identifier of a Bank for this Organization or for a Business Partner with whom this Organization transacts. + ECA14 + Bank + 100 + 2022-02-07 14:43:54.919 + bba.C_Bank_ID + BBA_C_Bank_ID + 50216 + 50573 + 72730 + 0 + 3103 + 0 + + + + + 27cc04ce-f2d1-4143-8eb0-fb7019da4688 + 100 + 2022-02-07 14:43:55.804 + Bank + false + true + + Bank + 100 + 2022-02-07 14:43:55.804 + 72730 + 0 + es_MX + 0 + + + + + 8a4ece23-b5a6-465f-aa94-a1cdc8e2ca26 + 100 + 2022-02-07 14:43:55.967 + Business Partner + true + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + ECA14 + Identifies a Business Partner + 100 + 2022-02-07 14:43:55.967 + bba.C_BPartner_ID + BBA_C_BPartner_ID + 50216 + 50573 + 72731 + 0 + 3102 + 0 + + + + + 4cf132b7-4df6-47aa-bd96-6f599f57c68f + 100 + 2022-02-07 14:43:57.01 + Business Partner + false + true + + Identifies a Business Partner + 100 + 2022-02-07 14:43:57.01 + 72731 + 0 + es_MX + 0 + + + + + 719a5585-cf40-4d5a-8c83-c9df6baad7a3 + 100 + 2022-02-07 14:43:57.135 + Partner Bank Account + true + The Partner Bank Account identifies the bank account to be used for this Business Partner + ECA14 + Bank Account of the Business Partner + 100 + 2022-02-07 14:43:57.135 + bba.C_BP_BankAccount_ID + BBA_C_BP_BankAccount_ID + 50216 + 50573 + 72732 + 0 + 3094 + 0 + + + + + 5e8b40c0-ebea-4d2f-b676-8711b52e165a + 100 + 2022-02-07 14:43:57.796 + Partner Bank Account + false + true + + Bank Account of the Business Partner + 100 + 2022-02-07 14:43:57.796 + 72732 + 0 + es_MX + 0 + + + + + f369fd12-c4f4-43aa-afc7-e2e9a5a8cccf + 100 + 2022-02-07 14:43:57.907 + Created + true + The Created field indicates the date that this record was created. + ECA14 + Date this record was created + 100 + 2022-02-07 14:43:57.907 + bba.Created + BBA_Created + 50216 + 50573 + 72733 + 0 + 3097 + 0 + + + + + 60fd822a-e86a-45c7-a61d-831274a7c192 + 100 + 2022-02-07 14:43:58.951 + Created + false + true + + Date this record was created + 100 + 2022-02-07 14:43:58.951 + 72733 + 0 + es_MX + 0 + + + + + 4743ef31-22ff-430a-951c-66c3f4627ead + 100 + 2022-02-07 14:43:59.08 + Created By + true + The Created By field indicates the user who created this record. + ECA14 + User who created this records + 100 + 2022-02-07 14:43:59.08 + bba.CreatedBy + BBA_CreatedBy + 50216 + 50573 + 72734 + 0 + 3100 + 0 + + + + + feb2e65f-3efa-433d-890b-be9ea267b51f + 100 + 2022-02-07 14:43:59.806 + Created By + false + true + + User who created this records + 100 + 2022-02-07 14:43:59.806 + 72734 + 0 + es_MX + 0 + + + + + dca694ca-70d1-4e4e-9bd5-233695400fe5 + 100 + 2022-02-07 14:43:59.993 + Exp. Month + true + The Expiry Month indicates the expiry month for this credit card. + ECA14 + Expiry Month + 100 + 2022-02-07 14:43:59.993 + bba.CreditCardExpMM + BBA_CreditCardExpMM + 50216 + 50573 + 72735 + 0 + 5237 + 0 + + + + + 432e4bea-9c7b-40f2-b293-c6e3146ec017 + 100 + 2022-02-07 14:44:00.78 + Exp. Month + false + true + + Expiry Month + 100 + 2022-02-07 14:44:00.78 + 72735 + 0 + es_MX + 0 + + + + + 5bd7c599-db8b-4edf-8f86-c054df7b6be6 + 100 + 2022-02-07 14:44:00.957 + Exp. Year + true + The Expiry Year indicates the expiry year for this credit card. + ECA14 + Expiry Year + 100 + 2022-02-07 14:44:00.957 + bba.CreditCardExpYY + BBA_CreditCardExpYY + 50216 + 50573 + 72736 + 0 + 5238 + 0 + + + + + 07c66d6a-7434-4954-8228-4042e7acf109 + 100 + 2022-02-07 14:44:01.649 + Exp. Year + false + true + + Expiry Year + 100 + 2022-02-07 14:44:01.649 + 72736 + 0 + es_MX + 0 + + + + + 162c41ec-3130-477e-b3f3-964a1f6134a1 + 100 + 2022-02-07 14:44:01.857 + Number + true + The Credit Card number indicates the number on the credit card, without blanks or spaces. + ECA14 + Credit Card Number + 100 + 2022-02-07 14:44:01.857 + bba.CreditCardNumber + BBA_CreditCardNumber + 50216 + 50573 + 72737 + 0 + 5239 + 0 + + + + + 8f0a32ea-181a-49db-a62f-cdf82b053322 + 100 + 2022-02-07 14:44:02.739 + Number + false + true + + Credit Card Number + 100 + 2022-02-07 14:44:02.739 + 72737 + 0 + es_MX + 0 + + + + + fe91d5f4-77c6-4db0-94e3-31bc4435083a + 100 + 2022-02-07 14:44:02.969 + Credit Card + true + The Credit Card drop down list box is used for selecting the type of Credit Card presented for payment. + ECA14 + Credit Card (Visa, MC, AmEx) + 100 + 2022-02-07 14:44:02.969 + bba.CreditCardType + BBA_CreditCardType + 50216 + 50573 + 72738 + 0 + 5240 + 0 + + + + + 3f7414a8-3d1e-456b-a4d0-2a93c326389f + 100 + 2022-02-07 14:44:03.613 + Credit Card + false + true + + Credit Card (Visa, MC, AmEx) + 100 + 2022-02-07 14:44:03.613 + 72738 + 0 + es_MX + 0 + + + + + c1bbd051-320b-4345-a0c9-bb2ec6c2e6f9 + 100 + 2022-02-07 14:44:03.801 + Verification Code + true + The Credit Card Verification indicates the verification code on the credit card (AMEX 4 digits on front; MC,Visa 3 digits back) + ECA14 + Credit Card Verification code on credit card + 100 + 2022-02-07 14:44:03.801 + bba.CreditCardVV + BBA_CreditCardVV + 50216 + 50573 + 72739 + 0 + 5223 + 0 + + + + + c517bf25-35a1-4d5d-bf6f-cd34f795dbf5 + 100 + 2022-02-07 14:44:04.839 + Verification Code + false + true + + Credit Card Verification code on credit card + 100 + 2022-02-07 14:44:04.839 + 72739 + 0 + es_MX + 0 + + + + + 07098784-aecc-4daa-8b8c-b5fc367aa4c4 + 100 + 2022-02-07 14:44:04.967 + IBAN + true + If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in Adempiere. + ECA14 + International Bank Account Number + 100 + 2022-02-07 14:44:04.967 + bba.IBAN + BBA_IBAN + 50216 + 50573 + 72740 + 0 + 92263 + 0 + + + + + 53cf2cbe-39a6-4e5a-a77a-2a598ad7d444 + 100 + 2022-02-07 14:44:05.992 + IBAN + false + true + + International Bank Account Number + 100 + 2022-02-07 14:44:05.992 + 72740 + 0 + es_MX + 0 + + + + + 3f2df476-35c5-41eb-a1af-0091c91df53e + 100 + 2022-02-07 14:44:06.132 + ACH + true + The ACH checkbox indicates if this Bank Account accepts ACH transactions. + ECA14 + Automatic Clearing House + 100 + 2022-02-07 14:44:06.132 + bba.IsACH + BBA_IsACH + 50216 + 50573 + 72741 + 0 + 5225 + 0 + + + + + 49504c6a-2c20-4a08-b51d-f47136e7ec2e + 100 + 2022-02-07 14:44:07.113 + ACH + false + true + + Automatic Clearing House + 100 + 2022-02-07 14:44:07.113 + 72741 + 0 + es_MX + 0 + + + + + 6fdadf26-1afd-42a6-aa2a-519ef516f605 + 100 + 2022-02-07 14:44:07.287 + Active + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + ECA14 + The record is active in the system + 100 + 2022-02-07 14:44:07.287 + bba.IsActive + BBA_IsActive + 50216 + 50573 + 72742 + 0 + 3099 + 0 + + + + + 5326cd04-e433-4fe5-b9d9-dc2e78bc5901 + 100 + 2022-02-07 14:44:07.988 + Active + false + true + + The record is active in the system + 100 + 2022-02-07 14:44:07.988 + 72742 + 0 + es_MX + 0 + + + + + 80cfe724-07e9-4d04-bf4e-7a698a54a372 + 100 + 2022-02-07 14:44:08.299 + Payroll Account + true + If you mark a business partner bank account like payroll account, it can be used for generate payment of payroll + ECA14 + Used for mark a bank account defined for payment of payroll + 100 + 2022-02-07 14:44:08.299 + bba.IsPayrollAccount + BBA_IsPayrollAccount + 50216 + 50573 + 72743 + 0 + 82755 + 0 + + + + + 24431e6b-551b-4db2-92c5-392795733d82 + 100 + 2022-02-07 14:44:09.092 + Payroll Account + false + true + + Used for mark a bank account defined for payment of payroll + 100 + 2022-02-07 14:44:09.092 + 72743 + 0 + es_MX + 0 + + + + + fc7a3832-b267-4de9-a009-b259bdad33cc + 100 + 2022-02-07 14:44:09.294 + Address verified + true + The Address Verified indicates if the address has been verified by the Credit Card Company. + ECA14 + This address has been verified + 100 + 2022-02-07 14:44:09.294 + bba.R_AvsAddr + BBA_R_AvsAddr + 50216 + 50573 + 72744 + 0 + 5226 + 0 + + + + + ab29f50e-6300-42df-a1fe-f8181a85c744 + 100 + 2022-02-07 14:44:10.137 + Address verified + false + true + + This address has been verified + 100 + 2022-02-07 14:44:10.137 + 72744 + 0 + es_MX + 0 + + + + + 4953cf4c-3117-4cd8-ac56-1e1bdae3ed2a + 100 + 2022-02-07 14:44:10.261 + Zip verified + true + The Zip Verified indicates if the zip code has been verified by the Credit Card Company. + ECA14 + The Zip Code has been verified + 100 + 2022-02-07 14:44:10.261 + bba.R_AvsZip + BBA_R_AvsZip + 50216 + 50573 + 72745 + 0 + 5227 + 0 + + + + + 0a66efae-97fe-4c5c-952f-c059d413ff6b + 100 + 2022-02-07 14:44:11.338 + Zip verified + false + true + + The Zip Code has been verified + 100 + 2022-02-07 14:44:11.338 + 72745 + 0 + es_MX + 0 + + + + + e540e8e5-5fb6-4d09-a807-41097cffcf95 + 100 + 2022-02-07 14:44:11.462 + Routing No + true + The Bank Routing Number (ABA Number) identifies a legal Bank. It is used in routing checks and electronic transactions. + ECA14 + Bank Routing Number + 100 + 2022-02-07 14:44:11.462 + bba.RoutingNo + BBA_RoutingNo + 50216 + 50573 + 72746 + 0 + 3104 + 0 + + + + + a1c3f534-7fe7-45ae-84bf-4174b9bf746e + 100 + 2022-02-07 14:44:12.174 + Routing No + false + true + + Bank Routing Number + 100 + 2022-02-07 14:44:12.174 + 72746 + 0 + es_MX + 0 + + + + + 0160e539-169c-4b70-9a1c-a727dc027572 + 100 + 2022-02-07 14:44:12.309 + Updated + true + The Updated field indicates the date that this record was updated. + ECA14 + Date this record was updated + 100 + 2022-02-07 14:44:12.309 + bba.Updated + BBA_Updated + 50216 + 50573 + 72747 + 0 + 3098 + 0 + + + + + 310b7e88-68b9-416b-9dfe-01e230595aea + 100 + 2022-02-07 14:44:13.058 + Updated + false + true + + Date this record was updated + 100 + 2022-02-07 14:44:13.058 + 72747 + 0 + es_MX + 0 + + + + + ce271487-e1d0-4f77-9af2-5dce86f87a4b + 100 + 2022-02-07 14:44:13.183 + Updated By + true + The Updated By field indicates the user who updated this record. + ECA14 + User who updated this records + 100 + 2022-02-07 14:44:13.183 + bba.UpdatedBy + BBA_UpdatedBy + 50216 + 50573 + 72748 + 0 + 3101 + 0 + + + + + a4fc3a9a-b6d4-4235-9165-2268d3afb291 + 100 + 2022-02-07 14:44:13.856 + Updated By + false + true + + User who updated this records + 100 + 2022-02-07 14:44:13.856 + 72748 + 0 + es_MX + 0 + + + + + 156fbd02-c21c-4f57-9181-7ae23a5553f2 + 100 + 2022-02-07 14:44:13.972 + Immutable Universally Unique Identifier + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + ECA14 + Immutable Universally Unique Identifier + 100 + 2022-02-07 14:44:13.972 + bba.UUID + BBA_UUID + 50216 + 50573 + 72749 + 0 + 84600 + 0 + + + + + 36eeca6f-9ed0-458b-8b19-4096f8853425 + 100 + 2022-02-07 14:44:15.057 + Immutable Universally Unique Identifier + false + true + + Immutable Universally Unique Identifier + 100 + 2022-02-07 14:44:15.057 + 72749 + 0 + es_MX + 0 + + + + + 65070a78-80a5-419f-89c5-88ff8653706d + 100 + 2022-02-07 14:45:01.46 + ord + 30 + false + INNER JOIN C_Order ord ON(ord.C_Order_ID = opb.C_Order_ID) + true + 100 + 2022-02-07 14:45:01.46 + 50216 + 50574 + 259 + 0 + 0 + + + + + 845e2765-7872-485d-8a3c-ab1b9b6ded3d + 100 + 2022-02-07 14:45:50.089 + Total Lines + true + The Total amount displays the total of all lines in document currency + ECA14 + Total of all document lines + 100 + 2022-02-07 14:45:50.089 + ord.TotalLines + ORD_TotalLines + 50216 + 50574 + 72750 + 0 + 2200 + 0 + + + + + 0c480063-c7d0-43e8-9d29-ed3c2219631f + 100 + 2022-02-07 14:45:51.307 + Total Lines + false + true + + Total of all document lines + 100 + 2022-02-07 14:45:51.307 + 72750 + 0 + es_MX + 0 + + + + + c77b2d81-4e6f-4c6c-816e-7700d175677c + 100 + 2022-02-07 14:46:35.796 + Grand Total + true + The Grand Total displays the total amount including Tax and Freight in document currency + ECA14 + Total amount of document + 100 + 2022-02-07 14:46:35.796 + ord.GrandTotal + ORD_GrandTotal + 50216 + 50574 + 72751 + 0 + 2201 + 0 + + + + + 63109161-634c-49f6-8bd9-861e3cd36832 + 100 + 2022-02-07 14:46:36.842 + Grand Total + false + true + + Total amount of document + 100 + 2022-02-07 14:46:36.842 + 72751 + 0 + es_MX + 0 + + + + + Generate Refund from (POS) + + + + + opb.IsPaid = 'N' + POS_GenerateRefundFromPOS + b78cc3ae-50c7-4593-b556-42483b747f96 + 100 + 2022-02-07 14:48:28.159 + false + Generate Refund from (POS) + false + false + false + false + false + false + false + true + Use this browser for generate refund from Point of Sales + ECA14 + Generate a Refund from Open Refund from POS + 100 + 2022-02-07 14:48:28.159 + N + + 50216 + + + 0 + 0 + 50266 + 3 + + + + + f9a61331-c113-4d6e-a09f-38436dfb27a0 + 100 + 2022-02-07 14:48:29.409 + Generate Refund from (POS) + false + true + Use this browser for generate refund from Point of Sales + Generate a Refund from Open Refund from POS + 100 + 2022-02-07 14:48:29.409 + 0 + es_MX + 0 + 50266 + + + + + true + true + true + + + + + Generar Reembolso desde (PDV) + Use este visor para generar reembolsos desde el punto de ventas cuando se encuentran marcados como reembolso posterior + Genera Reembolsos desde el Punto de Ventas + es_MX + 50266 + + + + + + P_POS_GenerateRefundFromPOS + d5c2e0da-7448-477d-be1c-811b5db91cf1 + 100 + 2022-02-07 14:50:28.832 + 0 + 0 + Y + + Generate Refund from (POS) + + false + false + false + false + true + Use this browser for generate refund from Point of Sales + N + ECA14 + Generate a Refund from Open Refund from POS + 100 + 2022-02-07 14:50:28.832 + N + org.spin.pos.process.GenerateRefundFromPOS + + + 54594 + + 0 + + 0 + + 3 + + + + + 945d4dce-821a-4b85-a52a-c39609b841e0 + 100 + 2022-02-07 14:50:29.997 + Generate Refund from (POS) + false + true + Use this browser for generate refund from Point of Sales + Generate a Refund from Open Refund from POS + 100 + 2022-02-07 14:50:29.997 + 54594 + 0 + es_MX + 0 + + + + + + + + fd3a7d06-5e38-477d-804d-a886b5546f70 + 100 + 2022-02-07 14:52:18.578 + 10 + + Account EMail + false + false + false + true + true + The EMail Address indicates the EMail address off the Credit Card or Account holder. + 60 + ECA02 + @TenderType@=K & @IsOnline@=Y + Email Address + + + 100 + 2022-02-07 14:52:18.578 + A_EMail + + + 10 + 58569 + 54594 + 0 + 1351 + 0 + + + + + 91ebc297-c968-4e7a-be4d-20ab95539d17 + 100 + 2022-02-07 14:52:19.354 + Account EMail + false + true + The EMail Address indicates the EMail address off the Credit Card or Account holder. + Email Address + 100 + 2022-02-07 14:52:19.354 + 58569 + 0 + es_MX + 0 + + + + + + + + 924cb905-15c0-4795-a331-3b61d182c8c1 + 100 + 2022-02-07 14:52:19.474 + 20 + + Tax Amount + false + false + false + true + true + The Tax Amount displays the total tax amount for a document. + 22 + ECA02 + @CreditCardType@=P & @IsOnline@=Y + Tax Amount for a document + + + 100 + 2022-02-07 14:52:19.474 + TaxAmt + + + 12 + 58570 + 54594 + 0 + 1133 + 0 + + + + + 67d8dccd-64c8-4dc5-a6b0-562d618b6ba7 + 100 + 2022-02-07 14:52:20.508 + Tax Amount + false + true + The Tax Amount displays the total tax amount for a document. + Tax Amount for a document + 100 + 2022-02-07 14:52:20.508 + 58570 + 0 + es_MX + 0 + + + + + + + + 71a1ac6e-5b5c-40ec-891f-54f21d6359dd + 100 + 2022-02-07 14:52:20.638 + 30 + + Target Document Type + false + false + false + true + true + You can convert document types (e.g. from Offer to Order or Invoice). The conversion is then reflected in the current type. This processing is initiated by selecting the appropriate Document Action. + 22 + D + + Target document type for conversing documents + + -1 + 100 + 2022-02-07 14:52:20.638 + C_DocTypeTarget_ID + 52451 + 170 + 18 + 58571 + 54594 + 0 + 197 + 0 + + + + + 133cc4e7-be40-4526-99ec-3341e83eb710 + 100 + 2022-02-07 14:52:21.354 + Target Document Type + false + true + You can convert document types (e.g. from Offer to Order or Invoice). The conversion is then reflected in the current type. This processing is initiated by selecting the appropriate Document Action. + Target document type for conversing documents + 100 + 2022-02-07 14:52:21.354 + 58571 + 0 + es_MX + 0 + + + + + + + + 21907bb2-d538-4130-b477-7dfe4d1e9d79 + 100 + 2022-02-07 14:52:21.476 + 40 + + Over/Under Payment + false + false + false + true + true + Overpayments (negative) are unallocated amounts and allow you to receive money for more than the particular invoice. +Underpayments (positive) is a partial payment for the invoice. You do not write off the unpaid amount. + 1 + ECA02 + + Over-Payment (unallocated) or Under-Payment (partial payment) + + N + 100 + 2022-02-07 14:52:21.476 + IsOverUnderPayment + + + 20 + 58572 + 54594 + 0 + 1818 + 0 + + + + + 4748c1f4-da19-4a42-86ee-f2ae729c5ebe + 100 + 2022-02-07 14:52:22.209 + Over/Under Payment + false + true + Overpayments (negative) are unallocated amounts and allow you to receive money for more than the particular invoice. +Underpayments (positive) is a partial payment for the invoice. You do not write off the unpaid amount. + Over-Payment (unallocated) or Under-Payment (partial payment) + 100 + 2022-02-07 14:52:22.209 + 58572 + 0 + es_MX + 0 + + + + + + + + 260e5f9e-0e17-47ca-8de0-fbe0f60a4564 + 100 + 2022-02-07 14:52:22.346 + 50 + + Exp. Year + false + false + false + true + true + The Expiry Year indicates the expiry year for this credit card. + 22 + ECA02 + @TenderType@=C + Expiry Year + + + 100 + 2022-02-07 14:52:22.346 + CreditCardExpYY + + + 11 + 58573 + 54594 + 0 + 1085 + 0 + + + + + f5db11b9-657c-4570-a5ba-a726f2426e76 + 100 + 2022-02-07 14:52:23.161 + Exp. Year + false + true + The Expiry Year indicates the expiry year for this credit card. + Expiry Year + 100 + 2022-02-07 14:52:23.161 + 58573 + 0 + es_MX + 0 + + + + + + + + aa0b2f6c-abca-412e-b8d4-0ca616196d1a + 100 + 2022-02-07 14:52:23.28 + 60 + + Account Zip/Postal + false + false + false + true + true + The Zip Code of the Credit Card or Account Holder. + 20 + ECA02 + @TenderType@=C | @TenderType@=K & @IsOnline@=Y + Zip Code of the Credit Card or Account Holder + + + 100 + 2022-02-07 14:52:23.28 + A_Zip + + + 10 + 58574 + 54594 + 0 + 1357 + 0 + + + + + 6d9a3078-db76-4130-a935-236f7bb66050 + 100 + 2022-02-07 14:52:23.993 + Account Zip/Postal + false + true + The Zip Code of the Credit Card or Account Holder. + Zip Code of the Credit Card or Account Holder + 100 + 2022-02-07 14:52:23.993 + 58574 + 0 + es_MX + 0 + + + + + + + + 08a64ec0-8ff1-4ec1-be0e-41c09f396055 + 100 + 2022-02-07 14:52:24.119 + 70 + + Social Security No + false + false + false + true + true + The Social Security number being used as identification. + 20 + ECA02 + @TenderType@=K & @IsOnline@=Y + Payment Identification - Social Security No + + + 100 + 2022-02-07 14:52:24.118 + A_Ident_SSN + + + 10 + 58575 + 54594 + 0 + 1353 + 0 + + + + + 3f8d59ea-0c07-4c5e-9fee-64dc0619c0cd + 100 + 2022-02-07 14:52:25.252 + Social Security No + false + true + The Social Security number being used as identification. + Payment Identification - Social Security No + 100 + 2022-02-07 14:52:25.252 + 58575 + 0 + es_MX + 0 + + + + + + + + 4b239278-1902-458f-ba85-ef832bb1a00b + 100 + 2022-02-07 14:52:25.377 + 80 + + Tender type + false + true + false + true + true + The Tender Type indicates the method of payment (ACH or Direct Deposit, Credit Card, Check, Direct Debit) + 1 + ECA02 + + Method of Payment + + -1 + 100 + 2022-02-07 14:52:25.377 + TenderType + + 214 + 17 + 58576 + 54594 + 0 + 1441 + 0 + + + + + 54454020-37b5-44ba-bdec-9a932a189a63 + 100 + 2022-02-07 14:52:26.302 + Tender type + false + true + The Tender Type indicates the method of payment (ACH or Direct Deposit, Credit Card, Check, Direct Debit) + Method of Payment + 100 + 2022-02-07 14:52:26.302 + 58576 + 0 + es_MX + 0 + + + + + + + + 4a98dae5-5f1d-45fb-8306-350dc36e9da6 + 100 + 2022-02-07 14:52:26.41 + 90 + + Driver License + false + false + false + true + true + The Driver's License being used as identification. + 20 + ECA02 + @TenderType@=K & @IsOnline@=Y + Payment Identification - Driver License + + + 100 + 2022-02-07 14:52:26.41 + A_Ident_DL + + + 10 + 58577 + 54594 + 0 + 1352 + 0 + + + + + 89260ba4-6025-4a15-bb12-c8f245c20c67 + 100 + 2022-02-07 14:52:27.645 + Driver License + false + true + The Driver's License being used as identification. + Payment Identification - Driver License + 100 + 2022-02-07 14:52:27.645 + 58577 + 0 + es_MX + 0 + + + + + + + + e5dc2d4b-bb8a-410e-baa7-2b59aad8de2e + 100 + 2022-02-07 14:52:27.761 + 100 + + Account No + false + false + false + true + true + The Account Number indicates the Number assigned to this bank account. + 20 + ECA02 + @TenderType@=A | @TenderType@=K + Account Number + + + 100 + 2022-02-07 14:52:27.761 + AccountNo + + + 10 + 58578 + 54594 + 0 + 840 + 0 + + + + + 0257b2ed-93dc-4252-b182-8dd4304c0e4a + 100 + 2022-02-07 14:52:28.635 + Account No + false + true + The Account Number indicates the Number assigned to this bank account. + Account Number + 100 + 2022-02-07 14:52:28.635 + 58578 + 0 + es_MX + 0 + + + + + + + + 1f58b6fd-1fe1-4d00-aaae-685ea2976518 + 100 + 2022-02-07 14:52:28.764 + 110 + + Verification Code + false + false + false + true + true + The Credit Card Verification indicates the verification code on the credit card (AMEX 4 digits on front; MC,Visa 3 digits back) + 4 + ECA02 + @TenderType@=C + Credit Card Verification code on credit card + + + 100 + 2022-02-07 14:52:28.764 + CreditCardVV + + + 10 + 58579 + 54594 + 0 + 1393 + 0 + + + + + 6993c3b2-c622-4d64-ae71-a3080fc4ca68 + 100 + 2022-02-07 14:52:29.674 + Verification Code + false + true + The Credit Card Verification indicates the verification code on the credit card (AMEX 4 digits on front; MC,Visa 3 digits back) + Credit Card Verification code on credit card + 100 + 2022-02-07 14:52:29.674 + 58579 + 0 + es_MX + 0 + + + + + + + + 3db6d134-c6a9-4340-9156-edc2725a7a4b + 100 + 2022-02-07 14:52:29.779 + 120 + + Original Transaction ID + false + false + false + true + true + The Original Transaction ID is used for reversing transactions and indicates the transaction that has been reversed. + 20 + ECA02 + @IsOnline@=Y + Original Transaction ID + + + 100 + 2022-02-07 14:52:29.779 + Orig_TrxID + + + 10 + 58580 + 54594 + 0 + 1409 + 0 + + + + + da309584-9873-4f49-86e1-8944e227cef5 + 100 + 2022-02-07 14:52:30.932 + Original Transaction ID + false + true + The Original Transaction ID is used for reversing transactions and indicates the transaction that has been reversed. + Original Transaction ID + 100 + 2022-02-07 14:52:30.932 + 58580 + 0 + es_MX + 0 + + + + + + + + 5c7a3a3c-52d8-4f7a-80fa-7feb47afa7fc + 100 + 2022-02-07 14:52:31.065 + 130 + + Account Street + false + false + false + true + true + The Street Address of the Credit Card or Account holder. + 60 + ECA02 + @TenderType@=C | @TenderType@=K & @IsOnline@=Y + Street address of the Credit Card or Account holder + + + 100 + 2022-02-07 14:52:31.065 + A_Street + + + 10 + 58581 + 54594 + 0 + 1356 + 0 + + + + + 51cf2cf4-a122-4e77-8e65-731d7d0d95ac + 100 + 2022-02-07 14:52:32.004 + Account Street + false + true + The Street Address of the Credit Card or Account holder. + Street address of the Credit Card or Account holder + 100 + 2022-02-07 14:52:32.004 + 58581 + 0 + es_MX + 0 + + + + + + + + 97fbb37f-98d4-40f7-b168-3f8f253cf616 + 100 + 2022-02-07 14:52:32.21 + 140 + + Payment amount + false + false + false + true + true + Indicates the amount this payment is for. The payment amount can be for single or multiple invoices or a partial payment for an invoice. + 22 + ECA02 + + Amount being paid + + + 100 + 2022-02-07 14:52:32.21 + PayAmt + + + 12 + 58582 + 54594 + 0 + 1477 + 0 + + + + + 6d4560ed-a58d-4171-b789-01563481b6bf + 100 + 2022-02-07 14:52:33.18 + Payment amount + false + true + Indicates the amount this payment is for. The payment amount can be for single or multiple invoices or a partial payment for an invoice. + Amount being paid + 100 + 2022-02-07 14:52:33.18 + 58582 + 0 + es_MX + 0 + + + + + + + + 16bfbac6-546c-49bf-a200-9dcb03cb0393 + 100 + 2022-02-07 14:52:33.311 + 150 + + Payment date + false + true + false + true + true + The Payment Date indicates the date the payment was made. + 7 + D + + Date Payment made + + @#Date@ + 100 + 2022-02-07 14:52:33.311 + PayDate + + + 15 + 58583 + 54594 + 0 + 1538 + 0 + + + + + 7fd7dc81-b764-4650-b160-9130a08c0ded + 100 + 2022-02-07 14:52:34.102 + Payment date + false + true + The Payment Date indicates the date the payment was made. + Date Payment made + 100 + 2022-02-07 14:52:34.102 + 58583 + 0 + es_MX + 0 + + + + + + + + 7f48faa1-2ba3-4d3a-8eda-908805d89071 + 100 + 2022-02-07 14:52:34.381 + 160 + + PO Number + false + false + false + true + true + The PO Number indicates the number assigned to a purchase order + 60 + ECA02 + @CreditCardType@=P & @IsOnline@=Y + Purchase Order Number + + + 100 + 2022-02-07 14:52:34.381 + PONum + + + 10 + 58584 + 54594 + 0 + 1415 + 0 + + + + + b887dcf6-080c-4326-a934-066fc2592c0a + 100 + 2022-02-07 14:52:35.389 + PO Number + false + true + The PO Number indicates the number assigned to a purchase order + Purchase Order Number + 100 + 2022-02-07 14:52:35.389 + 58584 + 0 + es_MX + 0 + + + + + + + + 73396baf-8952-4e6a-b194-cd7f80934b7b + 100 + 2022-02-07 14:52:35.52 + 170 + + Check No + false + false + false + true + true + The Check Number indicates the number on the check. + 20 + ECA02 + @TenderType@=K + Check Number + + + 100 + 2022-02-07 14:52:35.519 + CheckNo + + + 10 + 58585 + 54594 + 0 + 1389 + 0 + + + + + 18bd81a8-b050-45fe-9233-0c7d8d2b85a5 + 100 + 2022-02-07 14:52:36.499 + Check No + false + true + The Check Number indicates the number on the check. + Check Number + 100 + 2022-02-07 14:52:36.499 + 58585 + 0 + es_MX + 0 + + + + + + + + 8f6b508a-0b2e-499e-ada4-51c0119b5df9 + 100 + 2022-02-07 14:52:36.721 + 180 + + Exp. Month + false + false + false + true + true + The Expiry Month indicates the expiry month for this credit card. + 22 + ECA02 + @TenderType@=C + Expiry Month + + + 100 + 2022-02-07 14:52:36.721 + CreditCardExpMM + + + 11 + 58586 + 54594 + 0 + 1084 + 0 + + + + + 7dc3e58a-8d8c-4183-ab4a-58491c5eeecf + 100 + 2022-02-07 14:52:37.909 + Exp. Month + false + true + The Expiry Month indicates the expiry month for this credit card. + Expiry Month + 100 + 2022-02-07 14:52:37.909 + 58586 + 0 + es_MX + 0 + + + + + + + + adc24edb-d6eb-4a90-b6ad-2c9486cbdbfe + 100 + 2022-02-07 14:52:38.013 + 190 + 1=1 + Currency + false + false + true + true + true + Indicates the Currency to be used when processing or reporting on this record + 22 + D + + The Currency for this record + + @SQL=SELECT ba.C_Currency_ID AS DefaultValue FROM C_BankAccount ba WHERE ba.C_BankAccount_ID = @C_BankAccount@ + 100 + 2022-02-07 14:52:38.013 + C_Currency_ID + + + 19 + 58587 + 54594 + 0 + 193 + 0 + + + + + 9bacafe1-ee23-4146-bd7f-6c2b29ba4e0a + 100 + 2022-02-07 14:52:39.068 + Currency + false + true + Indicates the Currency to be used when processing or reporting on this record + The Currency for this record + 100 + 2022-02-07 14:52:39.068 + 58587 + 0 + es_MX + 0 + + + + + + + + f69bf296-0bf8-4bfc-a99e-44808bf177c6 + 100 + 2022-02-07 14:52:39.24 + 200 + + Account State + false + false + false + true + true + The State of the Credit Card or Account holder + 40 + ECA02 + @TenderType@=C | @TenderType@=K & @IsOnline@=Y + State of the Credit Card or Account holder + + + 100 + 2022-02-07 14:52:39.24 + A_State + + + 10 + 58588 + 54594 + 0 + 1355 + 0 + + + + + a7953491-d73c-42b2-a005-3b07bf91a6b7 + 100 + 2022-02-07 14:52:40.164 + Account State + false + true + The State of the Credit Card or Account holder + State of the Credit Card or Account holder + 100 + 2022-02-07 14:52:40.164 + 58588 + 0 + es_MX + 0 + + + + + + + + 7a538adb-8e5f-4a0b-a734-b0a0f5bc44b2 + 100 + 2022-02-07 14:52:40.27 + 210 + + Transaction Type + false + false + false + true + true + The Transaction Type indicates the type of transaction to be submitted to the Credit Card Company. + 1 + ECA02 + @TenderType@=C + Type of credit card transaction + + + 100 + 2022-02-07 14:52:40.27 + TrxType + + 203 + 17 + 58589 + 54594 + 0 + 1295 + 0 + + + + + 5f13c35d-2e53-48cb-9185-a662f56ad342 + 100 + 2022-02-07 14:52:41.092 + Transaction Type + false + true + The Transaction Type indicates the type of transaction to be submitted to the Credit Card Company. + Type of credit card transaction + 100 + 2022-02-07 14:52:41.092 + 58589 + 0 + es_MX + 0 + + + + + + + + ee93cd5d-61cc-4c48-904c-32d818122adf + 100 + 2022-02-07 14:52:41.2 + 220 + + Document Date + false + true + false + true + true + The Document Date indicates the date the document was generated. It may or may not be the same as the accounting date. + 7 + D + + Date of the Document + + @#Date@ + 100 + 2022-02-07 14:52:41.2 + DateDoc + + + 15 + 58590 + 54594 + 0 + 265 + 0 + + + + + 48b48786-1795-45d1-b4e9-e2d8732ef0c6 + 100 + 2022-02-07 14:52:42.193 + Document Date + false + true + The Document Date indicates the date the document was generated. It may or may not be the same as the accounting date. + Date of the Document + 100 + 2022-02-07 14:52:42.193 + 58590 + 0 + es_MX + 0 + + + + + + + + 0c7fe6a6-69d0-4cb2-bfc2-ee0b6304e54f + 100 + 2022-02-07 14:52:42.324 + 230 + + Account City + false + false + false + true + true + The Account City indicates the City of the Credit Card or Account holder + 60 + ECA02 + @TenderType@=C | @TenderType@=K & @IsOnline@=Y + City or the Credit Card or Account Holder + + + 100 + 2022-02-07 14:52:42.324 + A_City + + + 10 + 58591 + 54594 + 0 + 1350 + 0 + + + + + 3cbc38b4-57f9-419b-b7b3-7b3e812a4cf5 + 100 + 2022-02-07 14:52:43.374 + Account City + false + true + The Account City indicates the City of the Credit Card or Account holder + City or the Credit Card or Account Holder + 100 + 2022-02-07 14:52:43.374 + 58591 + 0 + es_MX + 0 + + + + + + + + 2106b1e0-ff5d-408f-8544-2c5ca8af145d + 100 + 2022-02-07 14:52:43.518 + 240 + + Account Country + false + false + false + true + true + Account Country Name + 40 + ECA02 + @TenderType@=C | @TenderType@=K & @IsOnline@=Y + Country + + + 100 + 2022-02-07 14:52:43.517 + A_Country + + + 10 + 58592 + 54594 + 0 + 1988 + 0 + + + + + b6eaf6d5-6b78-4bfb-8d8c-054b4ef7876f + 100 + 2022-02-07 14:52:44.42 + Account Country + false + true + Account Country Name + Country + 100 + 2022-02-07 14:52:44.42 + 58592 + 0 + es_MX + 0 + + + + + + + + da40632d-a863-4838-9f3c-9cc711abc8c0 + 100 + 2022-02-07 14:52:44.524 + 250 + + Credit Card + false + false + false + true + true + The Credit Card drop down list box is used for selecting the type of Credit Card presented for payment. + 1 + ECA02 + @TenderType@=C + Credit Card (Visa, MC, AmEx) + + + 100 + 2022-02-07 14:52:44.524 + CreditCardType + + 149 + 17 + 58593 + 54594 + 0 + 1012 + 0 + + + + + 5a623b15-dc61-483e-af0a-5e52ca4e58fd + 100 + 2022-02-07 14:52:45.704 + Credit Card + false + true + The Credit Card drop down list box is used for selecting the type of Credit Card presented for payment. + Credit Card (Visa, MC, AmEx) + 100 + 2022-02-07 14:52:45.704 + 58593 + 0 + es_MX + 0 + + + + + + + + 8eaf812f-0f56-4f5b-b148-4c6a61a81f03 + 100 + 2022-02-07 14:52:45.828 + 260 + + Micr + false + false + false + true + true + The Micr number is the combination of the bank routing number, account number and check number + 20 + ECA02 + @TenderType@=K + Combination of routing no, account and check no + + + 100 + 2022-02-07 14:52:45.828 + Micr + + + 10 + 58594 + 54594 + 0 + 1407 + 0 + + + + + e7318b78-349d-445a-9ff9-cd64da3c97b8 + 100 + 2022-02-07 14:52:46.804 + Micr + false + true + The Micr number is the combination of the bank routing number, account number and check number + Combination of routing no, account and check no + 100 + 2022-02-07 14:52:46.804 + 58594 + 0 + es_MX + 0 + + + + + + + + cf481a25-97df-42bf-bfb7-36a0f9364684 + 100 + 2022-02-07 14:52:46.911 + 270 + + Account Name + false + false + false + true + true + The Name of the Credit Card or Account holder. + 60 + ECA02 + @TenderType@=C | @TenderType@=K + Name on Credit Card or Account holder + + + 100 + 2022-02-07 14:52:46.911 + A_Name + + + 10 + 58595 + 54594 + 0 + 1354 + 0 + + + + + 3f149aa2-341c-439f-8970-d8e9b82785cb + 100 + 2022-02-07 14:52:48.014 + Account Name + false + true + The Name of the Credit Card or Account holder. + Name on Credit Card or Account holder + 100 + 2022-02-07 14:52:48.014 + 58595 + 0 + es_MX + 0 + + + + + + + + 366f93cb-32ae-435f-b03b-e84dc1acc969 + 100 + 2022-02-07 14:52:48.243 + 280 + + Routing No + false + false + false + true + true + The Bank Routing Number (ABA Number) identifies a legal Bank. It is used in routing checks and electronic transactions. + 20 + ECA02 + @TenderType@=A | @TenderType@=K + Bank Routing Number + + + 100 + 2022-02-07 14:52:48.243 + RoutingNo + + + 10 + 58596 + 54594 + 0 + 964 + 0 + + + + + 4384e751-fc7d-42ab-aa9d-28785132c74a + 100 + 2022-02-07 14:52:49.144 + Routing No + false + true + The Bank Routing Number (ABA Number) identifies a legal Bank. It is used in routing checks and electronic transactions. + Bank Routing Number + 100 + 2022-02-07 14:52:49.144 + 58596 + 0 + es_MX + 0 + + + + + + + + 4a694885-f917-4662-98ba-d7527cce74d4 + 100 + 2022-02-07 14:52:49.359 + 290 + + Number + false + false + false + true + true + The Credit Card number indicates the number on the credit card, without blanks or spaces. + 20 + ECA02 + @TenderType@=C + Credit Card Number + + + 100 + 2022-02-07 14:52:49.359 + CreditCardNumber + + + 10 + 58597 + 54594 + 0 + 249 + 0 + + + + + bd7a87f2-5afc-4d31-8578-2d9a160ecb9d + 100 + 2022-02-07 14:52:50.436 + Number + false + true + The Credit Card number indicates the number on the credit card, without blanks or spaces. + Credit Card Number + 100 + 2022-02-07 14:52:50.436 + 58597 + 0 + es_MX + 0 + + + + + + + + e40fbef7-b7bd-4cc0-b5b2-bd86611eaa97 + 100 + 2022-02-07 14:52:50.677 + 300 + + Bank Account + false + true + false + true + true + The Bank Account identifies an account at this Bank. + 22 + D + + Account at the Bank + + -1 + 100 + 2022-02-07 14:52:50.677 + C_BankAccount_ID + + + 19 + 58598 + 54594 + 0 + 836 + 0 + + + + + 2621245a-6f5b-4530-bb73-8db72f4d03e0 + 100 + 2022-02-07 14:52:51.683 + Bank Account + false + true + The Bank Account identifies an account at this Bank. + Account at the Bank + 100 + 2022-02-07 14:52:51.683 + 58598 + 0 + es_MX + 0 + + + + + + + + eb639c74-85ac-4777-822a-b1b650605765 + 100 + 2022-02-07 14:52:51.89 + 310 + + Voice authorization code + false + false + false + true + true + The Voice Authorization Code indicates the code received from the Credit Card Company. + 20 + ECA02 + @IsOnline@=Y + Voice Authorization Code from credit card company + + + 100 + 2022-02-07 14:52:51.89 + VoiceAuthCode + + + 10 + 58599 + 54594 + 0 + 1445 + 0 + + + + + b2274ddd-70a3-47fc-8b9f-d1fc60f769e1 + 100 + 2022-02-07 14:52:53.03 + Voice authorization code + false + true + The Voice Authorization Code indicates the code received from the Credit Card Company. + Voice Authorization Code from credit card company + 100 + 2022-02-07 14:52:53.03 + 58599 + 0 + es_MX + 0 + + + + + 54594 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + ECA14 + + + + + 1b3d330c-27f0-4413-b55e-753f293e0dbe + 100 + 2022-02-07 14:57:48.044 + Generate Refund from (POS) + false + false + false + true + true + ECA14 + + 100 + 2022-02-07 14:57:48.044 + + + + + + 0 + 54797 + + 0 + 50266 + S + + + + + 714b0e78-2cbd-4543-8fd3-8450f5af7cb6 + 100 + 2022-02-07 14:57:48.841 + Generate Refund from (POS) + false + true + + 100 + 2022-02-07 14:57:48.841 + 0 + 54797 + es_MX + 0 + + + + + 7bc31c3e-9c6b-4ec1-9277-34dbb946179a + 100 + 2022-02-07 14:57:49.012 + 999 + 0 + 54797 + true + 100 + 2022-02-07 14:57:49.012 + 10 + 0 + 0 + + + + + 8 + 54030 + 54797 + 10 + + + + + + + + de59d0fd-6e38-414d-8afa-dfd0cc655690 + 100 + 2022-02-07 14:58:21.95 + + 0 + 10 + + Paid + true + false + false + false + false + false + false + false + false + true + true + + + 1 + ECA14 + + The document is paid + + + 100 + 2022-02-07 14:58:21.949 + + + + 72708 + + + 20 + 0 + 1402 + 0 + 50266 + 73581 + + + + + b18963e9-d7e1-4b8f-b62e-eb951e446f6f + 100 + 2022-02-07 14:58:23.266 + Paid + false + true + + The document is paid + 100 + 2022-02-07 14:58:23.266 + 0 + es_MX + 0 + 73581 + + + + + + + + 93c9f815-0481-4a0a-8c00-8df4a099a1ae + 100 + 2022-02-07 14:58:23.402 + + 0 + 11 + + Client + true + false + false + false + false + false + false + false + false + true + true + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + 10 + ECA14 + + Client/Tenant for this installation. + + + 100 + 2022-02-07 14:58:23.402 + + + + 72694 + + + 19 + 0 + 102 + 0 + 50266 + 73582 + + + + + df7c14c7-dc9c-4c11-9729-42ded2eb345d + 100 + 2022-02-07 14:58:24.335 + Client + false + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + Client/Tenant for this installation. + 100 + 2022-02-07 14:58:24.335 + 0 + es_MX + 0 + 73582 + + + + + + + + ec8a46e2-a543-4bbb-95c8-402966309ea9 + 100 + 2022-02-07 14:58:24.453 + + 0 + 12 + + Organization + true + false + false + false + false + false + false + false + false + true + true + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + 10 + ECA14 + + Organizational entity within client + + + 100 + 2022-02-07 14:58:24.453 + + + + 72695 + + + 19 + 0 + 113 + 0 + 50266 + 73583 + + + + + 881e2acc-d72a-4ec8-af91-d3f6dfda0dbf + 100 + 2022-02-07 14:58:25.442 + Organization + false + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + Organizational entity within client + 100 + 2022-02-07 14:58:25.442 + 0 + es_MX + 0 + 73583 + + + + + + + + ab935871-eae6-4453-8aa8-50f345859536 + 100 + 2022-02-07 14:58:25.577 + + 0 + 13 + + Amount + true + false + false + false + false + false + false + false + false + true + true + + The Amount indicates the amount for this document line. + 0 + ECA14 + + Amount in a defined currency + + + 100 + 2022-02-07 14:58:25.577 + + + + 72696 + + + 12 + 0 + 1367 + 0 + 50266 + 73584 + + + + + 056324e6-ecc1-441f-92dc-0853c3958bb5 + 100 + 2022-02-07 14:58:26.797 + Amount + false + true + The Amount indicates the amount for this document line. + Amount in a defined currency + 100 + 2022-02-07 14:58:26.797 + 0 + es_MX + 0 + 73584 + + + + + + + + b28ff364-f1dd-4c9d-8623-d23e5c12a69d + 100 + 2022-02-07 14:58:26.938 + + 0 + 14 + + Partner Bank Account + true + false + false + false + false + false + false + true + false + true + true + + The Partner Bank Account identifies the bank account to be used for this Business Partner + 10 + ECA14 + + Bank Account of the Business Partner + + + 100 + 2022-02-07 14:58:26.938 + + + + 72697 + + + 19 + 0 + 837 + 0 + 50266 + 73585 + + + + + db77941a-4f34-48b5-b5ee-b0069592b89b + 100 + 2022-02-07 14:58:27.957 + Partner Bank Account + false + true + The Partner Bank Account identifies the bank account to be used for this Business Partner + Bank Account of the Business Partner + 100 + 2022-02-07 14:58:27.957 + 0 + es_MX + 0 + 73585 + + + + + + + + d9c68a6c-77da-42da-a86e-8cfac93f6c88 + 100 + 2022-02-07 14:58:28.182 + + 0 + 15 + + Currency Type + true + false + false + false + false + false + false + false + false + true + true + + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + 10 + ECA14 + + Currency Conversion Rate Type + + + 100 + 2022-02-07 14:58:28.182 + + + + 72698 + + + 19 + 0 + 2278 + 0 + 50266 + 73586 + + + + + 7eb67025-ea8f-48d9-a832-9885c794512b + 100 + 2022-02-07 14:58:29.163 + Currency Type + false + true + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + Currency Conversion Rate Type + 100 + 2022-02-07 14:58:29.163 + 0 + es_MX + 0 + 73586 + + + + + + + + 8d2f29c0-b685-454d-a9c3-4b05ff699e1f + 100 + 2022-02-07 14:58:29.376 + + 0 + 16 + + Currency + true + false + false + false + false + false + false + false + false + true + true + + Indicates the Currency to be used when processing or reporting on this record + 10 + ECA14 + + The Currency for this record + + + 100 + 2022-02-07 14:58:29.376 + + + + 72699 + + + 19 + 0 + 193 + 0 + 50266 + 73587 + + + + + b7dae58e-c1c7-4fb9-aaf0-f1788fa3b8e8 + 100 + 2022-02-07 14:58:30.241 + Currency + false + true + Indicates the Currency to be used when processing or reporting on this record + The Currency for this record + 100 + 2022-02-07 14:58:30.241 + 0 + es_MX + 0 + 73587 + + + + + + + + 47f828b0-2ebb-4425-96a3-a6973b1ba2dd + 100 + 2022-02-07 14:58:30.353 + + 0 + 17 + + Order + true + false + false + false + false + false + false + true + false + true + true + + The Order is a control document. The Order is complete when the quantity ordered is the same as the quantity shipped and invoiced. When you close an order, unshipped (backordered) quantities are cancelled. + 10 + ECA14 + + Order + + + 100 + 2022-02-07 14:58:30.353 + + + + 72700 + + 290 + 30 + 0 + 558 + 0 + 50266 + 73588 + + + + + 27b84124-cef2-4ae6-bc35-4713a2ddf189 + 100 + 2022-02-07 14:58:31.644 + Order + false + true + The Order is a control document. The Order is complete when the quantity ordered is the same as the quantity shipped and invoiced. When you close an order, unshipped (backordered) quantities are cancelled. + Order + 100 + 2022-02-07 14:58:31.643 + 0 + es_MX + 0 + 73588 + + + + + + + + 742b9cb5-b317-451e-bc48-fa08a144f2b0 + 100 + 2022-02-07 14:58:31.757 + + 0 + 18 + + Bank Account for Payments + true + false + false + false + false + false + false + false + false + true + true + + + 10 + ECA14 + + + + + 100 + 2022-02-07 14:58:31.757 + + + + 72701 + + + 13 + 0 + 61913 + 0 + 50266 + 73589 + + + + + 83f8770a-da8e-4925-a62e-cf1877ea4e4a + 100 + 2022-02-07 14:58:33.005 + Bank Account for Payments + false + true + + + 100 + 2022-02-07 14:58:33.005 + 0 + es_MX + 0 + 73589 + + + + + + + + 0c0dd561-5216-4ef1-bc5b-655c0586b8a8 + 100 + 2022-02-07 14:58:33.166 + + 0 + 19 + + Store Payment Method + true + false + false + false + false + false + false + false + false + true + true + + + 10 + ECA14 + + Payment Methods allowed for Store + + + 100 + 2022-02-07 14:58:33.166 + + + + 72702 + + + 19 + 0 + 61500 + 0 + 50266 + 73590 + + + + + 57036300-dd48-4e86-b74e-9c7d15255716 + 100 + 2022-02-07 14:58:34.027 + Store Payment Method + false + true + + Payment Methods allowed for Store + 100 + 2022-02-07 14:58:34.027 + 0 + es_MX + 0 + 73590 + + + + + + + + c38e7216-06ca-4c50-b2b7-5d1559984fba + 100 + 2022-02-07 14:58:34.156 + + 0 + 20 + + POS Terminal + true + false + false + false + false + false + false + false + false + true + true + + The POS Terminal defines the defaults and functions available for the POS Form + 10 + ECA14 + + Point of Sales Terminal + + + 100 + 2022-02-07 14:58:34.156 + + + + 72703 + + + 19 + 0 + 2581 + 0 + 50266 + 73591 + + + + + 01208bb8-e7aa-4620-9965-7572ea40bae1 + 100 + 2022-02-07 14:58:34.961 + POS Terminal + false + true + The POS Terminal defines the defaults and functions available for the POS Form + Point of Sales Terminal + 100 + 2022-02-07 14:58:34.961 + 0 + es_MX + 0 + 73591 + + + + + + + + 5f29f71b-05e2-4ec7-b5eb-dc809cf2f6cf + 100 + 2022-02-07 14:58:35.081 + + 0 + 21 + + Created + true + false + false + false + false + false + false + false + false + true + true + + The Created field indicates the date that this record was created. + 0 + ECA14 + + Date this record was created + + + 100 + 2022-02-07 14:58:35.081 + + + + 72704 + + + 16 + 0 + 245 + 0 + 50266 + 73592 + + + + + b7c82378-98a2-4c4e-9b41-4b426f96030d + 100 + 2022-02-07 14:58:36.049 + Created + false + true + The Created field indicates the date that this record was created. + Date this record was created + 100 + 2022-02-07 14:58:36.049 + 0 + es_MX + 0 + 73592 + + + + + + + + 8452278d-b1ac-47ce-ad96-bf75c5d6f78e + 100 + 2022-02-07 14:58:36.199 + + 0 + 22 + + Created By + true + false + false + false + false + false + false + false + false + true + true + + The Created By field indicates the user who created this record. + 10 + ECA14 + + User who created this records + + + 100 + 2022-02-07 14:58:36.199 + + + + 72705 + + 110 + 18 + 0 + 246 + 0 + 50266 + 73593 + + + + + f59f3f18-a386-486d-a9cf-29fcf111b656 + 100 + 2022-02-07 14:58:37.17 + Created By + false + true + The Created By field indicates the user who created this record. + User who created this records + 100 + 2022-02-07 14:58:37.17 + 0 + es_MX + 0 + 73593 + + + + + + + + bf366c43-229b-4b24-9eea-50af79283f56 + 100 + 2022-02-07 14:58:37.287 + + 0 + 23 + + Description + true + false + false + false + false + false + false + false + false + true + true + + A description is limited to 255 characters. + 255 + ECA14 + + Optional short description of the record + + + 100 + 2022-02-07 14:58:37.287 + + + + 72706 + + + 14 + 0 + 275 + 0 + 50266 + 73594 + + + + + f63e1fae-7c46-4ec5-87c0-1ec273d4eb24 + 100 + 2022-02-07 14:58:38.341 + Description + false + true + A description is limited to 255 characters. + Optional short description of the record + 100 + 2022-02-07 14:58:38.341 + 0 + es_MX + 0 + 73594 + + + + + + + + 9e395936-fe4c-4982-aaca-4349c717d0ca + 100 + 2022-02-07 14:58:38.531 + + 0 + 24 + + Active + true + false + false + false + false + false + false + false + false + true + true + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + 1 + ECA14 + + The record is active in the system + + + 100 + 2022-02-07 14:58:38.53 + + + + 72707 + + + 20 + 0 + 348 + 0 + 50266 + 73595 + + + + + e0e12570-6317-47e7-9baf-7dbaaf20011f + 100 + 2022-02-07 14:58:39.504 + Active + false + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + The record is active in the system + 100 + 2022-02-07 14:58:39.504 + 0 + es_MX + 0 + 73595 + + + + + + + + 6d3666f1-5ea9-4e82-9dba-d02b5e8a968d + 100 + 2022-02-07 14:58:39.623 + + 0 + 25 + + Payment date + true + false + false + false + false + false + false + false + false + true + true + + The Payment Date indicates the date the payment was made. + 0 + ECA14 + + Date Payment made + + + 100 + 2022-02-07 14:58:39.623 + + + + 72709 + + + 15 + 0 + 1538 + 0 + 50266 + 73596 + + + + + afb7d9c1-4552-45be-bda5-e83ed44071c4 + 100 + 2022-02-07 14:58:40.383 + Payment date + false + true + The Payment Date indicates the date the payment was made. + Date Payment made + 100 + 2022-02-07 14:58:40.383 + 0 + es_MX + 0 + 73596 + + + + + + + + 96c5ebb2-1aff-487a-a0bb-d3119bc6d116 + 100 + 2022-02-07 14:58:40.494 + + 0 + 26 + + Sales Representative + true + false + false + false + false + false + false + false + false + true + true + + The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid internal user. + 10 + ECA14 + + Sales Representative or Company Agent + + + 100 + 2022-02-07 14:58:40.494 + + + + 72710 + + 190 + 18 + 0 + 1063 + 0 + 50266 + 73597 + + + + + cf8efb56-aeb5-44de-a4fe-960a83f8d422 + 100 + 2022-02-07 14:58:41.519 + Sales Representative + false + true + The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid internal user. + Sales Representative or Company Agent + 100 + 2022-02-07 14:58:41.519 + 0 + es_MX + 0 + 73597 + + + + + + + + 97b8fede-2a36-4303-b2b7-c1684167134b + 100 + 2022-02-07 14:58:41.638 + + 0 + 27 + + Tender type + true + false + false + false + false + false + false + false + false + true + true + + The Tender Type indicates the method of payment (ACH or Direct Deposit, Credit Card, Check, Direct Debit) + 1 + ECA14 + + Method of Payment + + + 100 + 2022-02-07 14:58:41.638 + + + + 72711 + + 214 + 17 + 0 + 1441 + 0 + 50266 + 73598 + + + + + 0e54ca99-a828-41c1-a3a8-081e3cd16e25 + 100 + 2022-02-07 14:58:42.585 + Tender type + false + true + The Tender Type indicates the method of payment (ACH or Direct Deposit, Credit Card, Check, Direct Debit) + Method of Payment + 100 + 2022-02-07 14:58:42.585 + 0 + es_MX + 0 + 73598 + + + + + + + + b97fc18b-85bb-4cf2-a213-dad39c76d35a + 100 + 2022-02-07 14:58:42.903 + + 0 + 28 + + Updated + true + false + false + false + false + false + false + false + false + true + true + + The Updated field indicates the date that this record was updated. + 0 + ECA14 + + Date this record was updated + + + 100 + 2022-02-07 14:58:42.903 + + + + 72712 + + + 16 + 0 + 607 + 0 + 50266 + 73599 + + + + + d67cf990-20ca-4795-bbc1-a46a6711fbbd + 100 + 2022-02-07 14:58:44.081 + Updated + false + true + The Updated field indicates the date that this record was updated. + Date this record was updated + 100 + 2022-02-07 14:58:44.081 + 0 + es_MX + 0 + 73599 + + + + + + + + 5a271b17-c81e-47fa-be5b-b36232941681 + 100 + 2022-02-07 14:58:44.334 + + 0 + 29 + + Updated By + true + false + false + false + false + false + false + false + false + true + true + + The Updated By field indicates the user who updated this record. + 10 + ECA14 + + User who updated this records + + + 100 + 2022-02-07 14:58:44.334 + + + + 72713 + + 110 + 18 + 0 + 608 + 0 + 50266 + 73600 + + + + + 8e28f0c7-87ca-49ec-86f8-08273d94303b + 100 + 2022-02-07 14:58:45.721 + Updated By + false + true + The Updated By field indicates the user who updated this record. + User who updated this records + 100 + 2022-02-07 14:58:45.721 + 0 + es_MX + 0 + 73600 + + + + + + + + fe9a5e19-3716-4c6a-9146-97d0d1e5edd4 + 100 + 2022-02-07 14:58:45.842 + + 0 + 30 + + Immutable Universally Unique Identifier + true + false + false + false + false + false + false + false + false + true + true + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + 36 + ECA14 + + Immutable Universally Unique Identifier + + + 100 + 2022-02-07 14:58:45.842 + + + + 72714 + + + 10 + 0 + 59595 + 0 + 50266 + 73601 + + + + + 45aa5c41-c3bf-4bed-bed9-7e21f1a7661a + 100 + 2022-02-07 14:58:47.017 + Immutable Universally Unique Identifier + false + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + Immutable Universally Unique Identifier + 100 + 2022-02-07 14:58:47.017 + 0 + es_MX + 0 + 73601 + + + + + + + + afcd1ddc-1a70-48be-a60a-30aa4b33d383 + 100 + 2022-02-07 14:58:47.127 + + 0 + 31 + + Account No + true + false + false + false + false + false + false + true + false + true + true + + The Account Number indicates the Number assigned to this bank account. + 20 + ECA14 + + Account Number + + + 100 + 2022-02-07 14:58:47.127 + + + + 72715 + + + 10 + 0 + 840 + 0 + 50266 + 73602 + + + + + 7157f812-b50a-49a2-92dd-e2865c9a396f + 100 + 2022-02-07 14:58:48.216 + Account No + false + true + The Account Number indicates the Number assigned to this bank account. + Account Number + 100 + 2022-02-07 14:58:48.216 + 0 + es_MX + 0 + 73602 + + + + + + + + 51a5e0cf-6921-4444-b953-c73ddd364ae0 + 100 + 2022-02-07 14:58:48.374 + + 0 + 32 + + Account City + true + false + false + false + false + false + false + false + false + true + true + + The Account City indicates the City of the Credit Card or Account holder + 60 + ECA14 + + City or the Credit Card or Account Holder + + + 100 + 2022-02-07 14:58:48.374 + + + + 72716 + + + 10 + 0 + 1350 + 0 + 50266 + 73603 + + + + + 1c29524d-bb1a-44cb-911d-09a235f48ae0 + 100 + 2022-02-07 14:58:49.523 + Account City + false + true + The Account City indicates the City of the Credit Card or Account holder + City or the Credit Card or Account Holder + 100 + 2022-02-07 14:58:49.523 + 0 + es_MX + 0 + 73603 + + + + + + + + e2ef7962-58d4-4c13-b1e1-6b5e431fde81 + 100 + 2022-02-07 14:58:49.651 + + 0 + 33 + + Account Country + true + false + false + false + false + false + false + false + false + true + true + + Account Country Name + 40 + ECA14 + + Country + + + 100 + 2022-02-07 14:58:49.651 + + + + 72717 + + + 10 + 0 + 1988 + 0 + 50266 + 73604 + + + + + e686e923-8a06-4f95-aa7e-e6e52a51b542 + 100 + 2022-02-07 14:58:50.849 + Account Country + false + true + Account Country Name + Country + 100 + 2022-02-07 14:58:50.849 + 0 + es_MX + 0 + 73604 + + + + + + + + d235172b-191b-4a91-b6bf-a3fb313b5c56 + 100 + 2022-02-07 14:58:51.003 + + 0 + 34 + + Client + true + false + false + false + false + false + false + false + false + true + true + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + 10 + ECA14 + + Client/Tenant for this installation. + + + 100 + 2022-02-07 14:58:51.003 + + + + 72718 + + + 19 + 0 + 102 + 0 + 50266 + 73605 + + + + + de7d9319-1dd8-4707-b094-5c7fb2e21480 + 100 + 2022-02-07 14:58:52.147 + Client + false + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + Client/Tenant for this installation. + 100 + 2022-02-07 14:58:52.147 + 0 + es_MX + 0 + 73605 + + + + + + + + fa4db52d-ea13-4bf0-b1de-29a5f7441f48 + 100 + 2022-02-07 14:58:52.284 + + 0 + 35 + + Organization + true + false + false + false + false + false + false + false + false + true + true + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + 10 + ECA14 + + Organizational entity within client + + + 100 + 2022-02-07 14:58:52.284 + + + + 72719 + + + 19 + 0 + 113 + 0 + 50266 + 73606 + + + + + 5a2bdcfa-c529-4d4d-b464-479c039e4b40 + 100 + 2022-02-07 14:58:53.552 + Organization + false + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + Organizational entity within client + 100 + 2022-02-07 14:58:53.552 + 0 + es_MX + 0 + 73606 + + + + + + + + b0f85e3f-1034-4caf-993c-1282249766c0 + 100 + 2022-02-07 14:58:53.678 + + 0 + 36 + + User/Contact + true + false + false + false + false + false + false + false + false + true + true + + The User identifies a unique user in the system. This could be an internal user or a business partner contact + 10 + ECA14 + + User within the system - Internal or Business Partner Contact + + + 100 + 2022-02-07 14:58:53.678 + + + + 72720 + + + 19 + 0 + 138 + 0 + 50266 + 73607 + + + + + 4b98b6e9-2028-4746-aaf6-f26d0a5e2f90 + 100 + 2022-02-07 14:58:54.603 + User/Contact + false + true + The User identifies a unique user in the system. This could be an internal user or a business partner contact + User within the system - Internal or Business Partner Contact + 100 + 2022-02-07 14:58:54.603 + 0 + es_MX + 0 + 73607 + + + + + + + + f215eb93-253a-417b-b449-51556354b033 + 100 + 2022-02-07 14:58:54.801 + + 0 + 37 + + Account EMail + true + false + false + false + false + false + false + false + false + true + true + + The EMail Address indicates the EMail address off the Credit Card or Account holder. + 60 + ECA14 + + Email Address + + + 100 + 2022-02-07 14:58:54.801 + + + + 72721 + + + 10 + 0 + 1351 + 0 + 50266 + 73608 + + + + + a6bc164d-e253-4aad-b7dc-dc55a77723e1 + 100 + 2022-02-07 14:58:55.894 + Account EMail + false + true + The EMail Address indicates the EMail address off the Credit Card or Account holder. + Email Address + 100 + 2022-02-07 14:58:55.894 + 0 + es_MX + 0 + 73608 + + + + + + + + d60d17e5-4398-4f25-899f-bed4bd1436ec + 100 + 2022-02-07 14:58:56.107 + + 0 + 38 + + Driver License + true + false + false + false + false + false + false + false + false + true + true + + The Driver's License being used as identification. + 20 + ECA14 + + Payment Identification - Driver License + + + 100 + 2022-02-07 14:58:56.107 + + + + 72722 + + + 10 + 0 + 1352 + 0 + 50266 + 73609 + + + + + bf820125-353a-4d58-8eb6-a4b5524cbfe6 + 100 + 2022-02-07 14:58:57.06 + Driver License + false + true + The Driver's License being used as identification. + Payment Identification - Driver License + 100 + 2022-02-07 14:58:57.06 + 0 + es_MX + 0 + 73609 + + + + + + + + 3b27c237-7622-4993-8b06-f652094eec55 + 100 + 2022-02-07 14:58:57.199 + + 0 + 39 + + Social Security No + true + false + false + false + false + false + false + false + false + true + true + + The Social Security number being used as identification. + 20 + ECA14 + + Payment Identification - Social Security No + + + 100 + 2022-02-07 14:58:57.199 + + + + 72723 + + + 10 + 0 + 1353 + 0 + 50266 + 73610 + + + + + 9b67c011-00e4-4d5f-b47a-478e4d2cb99a + 100 + 2022-02-07 14:58:58.386 + Social Security No + false + true + The Social Security number being used as identification. + Payment Identification - Social Security No + 100 + 2022-02-07 14:58:58.386 + 0 + es_MX + 0 + 73610 + + + + + + + + 2acaa7bc-44ca-4b1d-b6b8-752944a50c81 + 100 + 2022-02-07 14:58:58.509 + + 0 + 40 + + Account Name + true + false + false + false + false + false + false + true + false + true + true + + The Name of the Credit Card or Account holder. + 60 + ECA14 + + Name on Credit Card or Account holder + + + 100 + 2022-02-07 14:58:58.509 + + + + 72724 + + + 10 + 0 + 1354 + 0 + 50266 + 73611 + + + + + ad362d42-c50d-4bf9-844e-5e658c46ba04 + 100 + 2022-02-07 14:58:59.642 + Account Name + false + true + The Name of the Credit Card or Account holder. + Name on Credit Card or Account holder + 100 + 2022-02-07 14:58:59.642 + 0 + es_MX + 0 + 73611 + + + + + + + + dc225873-b233-4bdc-8f28-02b3d003795d + 100 + 2022-02-07 14:58:59.76 + + 0 + 41 + + Account State + true + false + false + false + false + false + false + false + false + true + true + + The State of the Credit Card or Account holder + 40 + ECA14 + + State of the Credit Card or Account holder + + + 100 + 2022-02-07 14:58:59.76 + + + + 72725 + + + 10 + 0 + 1355 + 0 + 50266 + 73612 + + + + + 3cb04c7e-7ebf-4c90-86fc-90babcec8e9f + 100 + 2022-02-07 14:59:00.633 + Account State + false + true + The State of the Credit Card or Account holder + State of the Credit Card or Account holder + 100 + 2022-02-07 14:59:00.633 + 0 + es_MX + 0 + 73612 + + + + + + + + 362d3566-d15f-4a6f-8a24-c6f22f87c4fe + 100 + 2022-02-07 14:59:00.759 + + 0 + 42 + + Account Street + true + false + false + false + false + false + false + false + false + true + true + + The Street Address of the Credit Card or Account holder. + 60 + ECA14 + + Street address of the Credit Card or Account holder + + + 100 + 2022-02-07 14:59:00.759 + + + + 72726 + + + 10 + 0 + 1356 + 0 + 50266 + 73613 + + + + + 01df599e-2aa1-4535-8904-400da4e1ed5c + 100 + 2022-02-07 14:59:01.971 + Account Street + false + true + The Street Address of the Credit Card or Account holder. + Street address of the Credit Card or Account holder + 100 + 2022-02-07 14:59:01.971 + 0 + es_MX + 0 + 73613 + + + + + + + + 8ccb71a5-138e-42d5-b19b-28dd9a8164ee + 100 + 2022-02-07 14:59:02.175 + + 0 + 43 + + Account Zip/Postal + true + false + false + false + false + false + false + false + false + true + true + + The Zip Code of the Credit Card or Account Holder. + 20 + ECA14 + + Zip Code of the Credit Card or Account Holder + + + 100 + 2022-02-07 14:59:02.175 + + + + 72727 + + + 10 + 0 + 1357 + 0 + 50266 + 73614 + + + + + 03bb3b0c-2433-4bc2-81fc-179ff6b69de8 + 100 + 2022-02-07 14:59:03.135 + Account Zip/Postal + false + true + The Zip Code of the Credit Card or Account Holder. + Zip Code of the Credit Card or Account Holder + 100 + 2022-02-07 14:59:03.135 + 0 + es_MX + 0 + 73614 + + + + + + + + 1d686b41-4c2a-4653-964f-bb3ad97cdb89 + 100 + 2022-02-07 14:59:03.262 + + 0 + 44 + + Bank Account Type + true + false + false + false + false + false + false + false + false + true + true + + The Bank Account Type field indicates the type of account (savings, checking etc) this account is defined as. + 1 + ECA14 + + Bank Account Type + + + 100 + 2022-02-07 14:59:03.262 + + + + 72728 + + 216 + 17 + 0 + 1461 + 0 + 50266 + 73615 + + + + + a7337e86-979d-4549-a045-1ad134e28737 + 100 + 2022-02-07 14:59:04.764 + Bank Account Type + false + true + The Bank Account Type field indicates the type of account (savings, checking etc) this account is defined as. + Bank Account Type + 100 + 2022-02-07 14:59:04.764 + 0 + es_MX + 0 + 73615 + + + + + + + + d6632096-48fd-4aa7-86f7-6537a691793f + 100 + 2022-02-07 14:59:04.952 + + 0 + 45 + + Account Usage + true + false + false + false + false + false + false + false + false + true + true + + Determines how the bank account is used. + 1 + ECA14 + + Business Partner Bank Account usage + + + 100 + 2022-02-07 14:59:04.952 + + + + 72729 + + 393 + 17 + 0 + 3086 + 0 + 50266 + 73616 + + + + + 08fba7fd-2cb4-4e2a-b953-de7b9d494085 + 100 + 2022-02-07 14:59:05.696 + Account Usage + false + true + Determines how the bank account is used. + Business Partner Bank Account usage + 100 + 2022-02-07 14:59:05.696 + 0 + es_MX + 0 + 73616 + + + + + + + + a9c3e297-2b3c-463e-bef6-99a5e23a6d8a + 100 + 2022-02-07 14:59:05.824 + + 0 + 46 + + Bank + true + false + false + false + false + false + false + true + false + true + true + + The Bank is a unique identifier of a Bank for this Organization or for a Business Partner with whom this Organization transacts. + 10 + ECA14 + + Bank + + + 100 + 2022-02-07 14:59:05.824 + + + + 72730 + + + 30 + 0 + 835 + 0 + 50266 + 73617 + + + + + ba8bf837-8d2a-4582-bfc1-19353315a526 + 100 + 2022-02-07 14:59:07.21 + Bank + false + true + The Bank is a unique identifier of a Bank for this Organization or for a Business Partner with whom this Organization transacts. + Bank + 100 + 2022-02-07 14:59:07.21 + 0 + es_MX + 0 + 73617 + + + + + + + + f7bb892a-5736-4baf-8461-514cfe2452b8 + 100 + 2022-02-07 14:59:07.437 + + 0 + 47 + + Business Partner + true + false + false + false + false + false + false + false + false + true + true + + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + 10 + ECA14 + + Identifies a Business Partner + + + 100 + 2022-02-07 14:59:07.437 + + + + 72731 + + + 30 + 0 + 187 + 0 + 50266 + 73618 + + + + + 5619452c-e191-47f4-b52b-72101137be7c + 100 + 2022-02-07 14:59:08.487 + Business Partner + false + true + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + Identifies a Business Partner + 100 + 2022-02-07 14:59:08.487 + 0 + es_MX + 0 + 73618 + + + + + + + + ac1faa12-e45b-48dd-b591-caa22ecf456e + 100 + 2022-02-07 14:59:08.624 + + 0 + 48 + + Partner Bank Account + true + false + false + false + false + false + false + false + false + true + true + + The Partner Bank Account identifies the bank account to be used for this Business Partner + 10 + ECA14 + + Bank Account of the Business Partner + + + 100 + 2022-02-07 14:59:08.624 + + + + 72732 + + + 13 + 0 + 837 + 0 + 50266 + 73619 + + + + + 249c4d90-c021-4ed0-bd8d-cc31339d61f3 + 100 + 2022-02-07 14:59:09.917 + Partner Bank Account + false + true + The Partner Bank Account identifies the bank account to be used for this Business Partner + Bank Account of the Business Partner + 100 + 2022-02-07 14:59:09.917 + 0 + es_MX + 0 + 73619 + + + + + + + + 94a2d290-3f2c-4a49-a6ce-2f03a204ebc5 + 100 + 2022-02-07 14:59:10.052 + + 0 + 49 + + Created + true + false + false + false + false + false + false + false + false + true + true + + The Created field indicates the date that this record was created. + 7 + ECA14 + + Date this record was created + + + 100 + 2022-02-07 14:59:10.052 + + + + 72733 + + + 16 + 0 + 245 + 0 + 50266 + 73620 + + + + + 84115cdf-61ea-4096-83bb-f7df2f53b3f3 + 100 + 2022-02-07 14:59:10.969 + Created + false + true + The Created field indicates the date that this record was created. + Date this record was created + 100 + 2022-02-07 14:59:10.969 + 0 + es_MX + 0 + 73620 + + + + + + + + d16c8756-1965-45e8-ad5f-a55f16548fc7 + 100 + 2022-02-07 14:59:11.087 + + 0 + 50 + + Created By + true + false + false + false + false + false + false + false + false + true + true + + The Created By field indicates the user who created this record. + 10 + ECA14 + + User who created this records + + + 100 + 2022-02-07 14:59:11.087 + + + + 72734 + + 110 + 18 + 0 + 246 + 0 + 50266 + 73621 + + + + + 89f26984-6cc4-472b-b26e-fc3efa4a3259 + 100 + 2022-02-07 14:59:11.99 + Created By + false + true + The Created By field indicates the user who created this record. + User who created this records + 100 + 2022-02-07 14:59:11.99 + 0 + es_MX + 0 + 73621 + + + + + + + + 14e7c453-5337-4229-b616-3de10c356bb5 + 100 + 2022-02-07 14:59:12.132 + + 0 + 51 + + Exp. Month + true + false + false + false + false + false + false + false + false + true + true + + The Expiry Month indicates the expiry month for this credit card. + 10 + ECA14 + + Expiry Month + + + 100 + 2022-02-07 14:59:12.132 + + + + 72735 + + + 11 + 0 + 1084 + 0 + 50266 + 73622 + + + + + 52bc3607-befc-4d5e-93d6-b6d2b0b5ff88 + 100 + 2022-02-07 14:59:13.318 + Exp. Month + false + true + The Expiry Month indicates the expiry month for this credit card. + Expiry Month + 100 + 2022-02-07 14:59:13.318 + 0 + es_MX + 0 + 73622 + + + + + + + + 413e286a-2893-491d-9210-128ab3740e4e + 100 + 2022-02-07 14:59:13.477 + + 0 + 52 + + Exp. Year + true + false + false + false + false + false + false + false + false + true + true + + The Expiry Year indicates the expiry year for this credit card. + 10 + ECA14 + + Expiry Year + + + 100 + 2022-02-07 14:59:13.477 + + + + 72736 + + + 11 + 0 + 1085 + 0 + 50266 + 73623 + + + + + 4d4ad337-6573-42df-9c41-5f152a09b402 + 100 + 2022-02-07 14:59:14.648 + Exp. Year + false + true + The Expiry Year indicates the expiry year for this credit card. + Expiry Year + 100 + 2022-02-07 14:59:14.648 + 0 + es_MX + 0 + 73623 + + + + + + + + ad2dfa7b-1465-4172-99f6-62b1bfdc4178 + 100 + 2022-02-07 14:59:14.933 + + 0 + 53 + + Number + true + false + false + false + false + false + false + false + false + true + true + + The Credit Card number indicates the number on the credit card, without blanks or spaces. + 20 + ECA14 + + Credit Card Number + + + 100 + 2022-02-07 14:59:14.933 + + + + 72737 + + + 10 + 0 + 249 + 0 + 50266 + 73624 + + + + + 2773d048-b5d8-4f12-8f33-e24e46c12d41 + 100 + 2022-02-07 14:59:16.131 + Number + false + true + The Credit Card number indicates the number on the credit card, without blanks or spaces. + Credit Card Number + 100 + 2022-02-07 14:59:16.131 + 0 + es_MX + 0 + 73624 + + + + + + + + 1162b6ea-f1b8-4289-a3ca-0ce22e59e3b7 + 100 + 2022-02-07 14:59:16.333 + + 0 + 54 + + Credit Card + true + false + false + false + false + false + false + false + false + true + true + + The Credit Card drop down list box is used for selecting the type of Credit Card presented for payment. + 1 + ECA14 + + Credit Card (Visa, MC, AmEx) + + + 100 + 2022-02-07 14:59:16.333 + + + + 72738 + + 149 + 17 + 0 + 1012 + 0 + 50266 + 73625 + + + + + 106fba9e-0e00-4042-a8dd-f4cb457fda58 + 100 + 2022-02-07 14:59:17.645 + Credit Card + false + true + The Credit Card drop down list box is used for selecting the type of Credit Card presented for payment. + Credit Card (Visa, MC, AmEx) + 100 + 2022-02-07 14:59:17.645 + 0 + es_MX + 0 + 73625 + + + + + + + + 0e00066a-d2e5-4133-97ab-98b3d4031fe6 + 100 + 2022-02-07 14:59:17.913 + + 0 + 55 + + Verification Code + true + false + false + false + false + false + false + false + false + true + true + + The Credit Card Verification indicates the verification code on the credit card (AMEX 4 digits on front; MC,Visa 3 digits back) + 4 + ECA14 + + Credit Card Verification code on credit card + + + 100 + 2022-02-07 14:59:17.913 + + + + 72739 + + + 10 + 0 + 1393 + 0 + 50266 + 73626 + + + + + cd0f30a9-aff7-41b2-9223-0ab0fd8aec88 + 100 + 2022-02-07 14:59:19.029 + Verification Code + false + true + The Credit Card Verification indicates the verification code on the credit card (AMEX 4 digits on front; MC,Visa 3 digits back) + Credit Card Verification code on credit card + 100 + 2022-02-07 14:59:19.029 + 0 + es_MX + 0 + 73626 + + + + + + + + 31d0012c-185e-4e04-aa5c-2467c367402d + 100 + 2022-02-07 14:59:19.26 + + 0 + 56 + + IBAN + true + false + false + false + false + false + false + false + false + true + true + + If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in Adempiere. + 40 + ECA14 + + International Bank Account Number + + + 100 + 2022-02-07 14:59:19.259 + + + + 72740 + + + 10 + 0 + 2664 + 0 + 50266 + 73627 + + + + + 830dd823-efa8-424c-a03f-6436c5cfeed6 + 100 + 2022-02-07 14:59:20.386 + IBAN + false + true + If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in Adempiere. + International Bank Account Number + 100 + 2022-02-07 14:59:20.386 + 0 + es_MX + 0 + 73627 + + + + + + + + 3456ebfc-6138-47e5-b8a0-2a0cb94a30f3 + 100 + 2022-02-07 14:59:20.522 + + 0 + 57 + + ACH + true + false + false + false + false + false + false + false + false + true + true + + The ACH checkbox indicates if this Bank Account accepts ACH transactions. + 1 + ECA14 + + Automatic Clearing House + + + 100 + 2022-02-07 14:59:20.522 + + + + 72741 + + + 20 + 0 + 1473 + 0 + 50266 + 73628 + + + + + 39e2e3d3-bc30-4fcb-b42f-08fc411a8469 + 100 + 2022-02-07 14:59:21.823 + ACH + false + true + The ACH checkbox indicates if this Bank Account accepts ACH transactions. + Automatic Clearing House + 100 + 2022-02-07 14:59:21.823 + 0 + es_MX + 0 + 73628 + + + + + + + + 42d65beb-1d81-4e53-851f-6c9f35df6461 + 100 + 2022-02-07 14:59:22.038 + + 0 + 58 + + Active + true + false + false + false + false + false + false + false + false + true + true + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + 1 + ECA14 + + The record is active in the system + + + 100 + 2022-02-07 14:59:22.038 + + + + 72742 + + + 20 + 0 + 348 + 0 + 50266 + 73629 + + + + + 7d99449f-cdf5-419d-89e2-95b2d8aa8dff + 100 + 2022-02-07 14:59:23.46 + Active + false + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + The record is active in the system + 100 + 2022-02-07 14:59:23.46 + 0 + es_MX + 0 + 73629 + + + + + + + + a964c11d-42b6-452b-b70a-8291d8946194 + 100 + 2022-02-07 14:59:23.608 + + 0 + 59 + + Payroll Account + true + false + false + false + false + false + false + false + false + true + true + + If you mark a business partner bank account like payroll account, it can be used for generate payment of payroll + 1 + ECA14 + + Used for mark a bank account defined for payment of payroll + + + 100 + 2022-02-07 14:59:23.608 + + + + 72743 + + + 20 + 0 + 59309 + 0 + 50266 + 73630 + + + + + 96ff3087-c439-4500-ad1e-689b1658c1ca + 100 + 2022-02-07 14:59:25.205 + Payroll Account + false + true + If you mark a business partner bank account like payroll account, it can be used for generate payment of payroll + Used for mark a bank account defined for payment of payroll + 100 + 2022-02-07 14:59:25.205 + 0 + es_MX + 0 + 73630 + + + + + + + + c6285328-6dc1-4c94-91e2-8980099d72b5 + 100 + 2022-02-07 14:59:25.329 + + 0 + 60 + + Address verified + true + false + false + false + false + false + false + false + false + true + true + + The Address Verified indicates if the address has been verified by the Credit Card Company. + 1 + ECA14 + + This address has been verified + + + 100 + 2022-02-07 14:59:25.329 + + + + 72744 + + 213 + 17 + 0 + 1423 + 0 + 50266 + 73631 + + + + + 950e78f4-67fe-44fc-b53d-5bf429eec4ad + 100 + 2022-02-07 14:59:26.702 + Address verified + false + true + The Address Verified indicates if the address has been verified by the Credit Card Company. + This address has been verified + 100 + 2022-02-07 14:59:26.702 + 0 + es_MX + 0 + 73631 + + + + + + + + 410ab101-6d33-43ef-84a3-71970f1db438 + 100 + 2022-02-07 14:59:26.86 + + 0 + 61 + + Zip verified + true + false + false + false + false + false + false + false + false + true + true + + The Zip Verified indicates if the zip code has been verified by the Credit Card Company. + 1 + ECA14 + + The Zip Code has been verified + + + 100 + 2022-02-07 14:59:26.859 + + + + 72745 + + 213 + 17 + 0 + 1424 + 0 + 50266 + 73632 + + + + + f72f35e1-bf96-4bbb-a377-32d367995cb8 + 100 + 2022-02-07 14:59:28.029 + Zip verified + false + true + The Zip Verified indicates if the zip code has been verified by the Credit Card Company. + The Zip Code has been verified + 100 + 2022-02-07 14:59:28.029 + 0 + es_MX + 0 + 73632 + + + + + + + + 872a094e-7fdc-46de-8394-15e42f58343f + 100 + 2022-02-07 14:59:28.26 + + 0 + 62 + + Routing No + true + false + false + false + false + false + false + false + false + true + true + + The Bank Routing Number (ABA Number) identifies a legal Bank. It is used in routing checks and electronic transactions. + 20 + ECA14 + + Bank Routing Number + + + 100 + 2022-02-07 14:59:28.26 + + + + 72746 + + + 10 + 0 + 964 + 0 + 50266 + 73633 + + + + + 80f1a670-35c1-4072-83b3-58e9594865a5 + 100 + 2022-02-07 14:59:28.963 + Routing No + false + true + The Bank Routing Number (ABA Number) identifies a legal Bank. It is used in routing checks and electronic transactions. + Bank Routing Number + 100 + 2022-02-07 14:59:28.963 + 0 + es_MX + 0 + 73633 + + + + + + + + c0812ac4-9b38-4fb9-8f4d-ebbc24624056 + 100 + 2022-02-07 14:59:29.105 + + 0 + 63 + + Updated + true + false + false + false + false + false + false + false + false + true + true + + The Updated field indicates the date that this record was updated. + 7 + ECA14 + + Date this record was updated + + + 100 + 2022-02-07 14:59:29.105 + + + + 72747 + + + 16 + 0 + 607 + 0 + 50266 + 73634 + + + + + 617e38b8-6ba1-48d8-a6fc-5bc39a956bd4 + 100 + 2022-02-07 14:59:30.273 + Updated + false + true + The Updated field indicates the date that this record was updated. + Date this record was updated + 100 + 2022-02-07 14:59:30.273 + 0 + es_MX + 0 + 73634 + + + + + + + + 3acebe75-18c3-47dd-843e-b719f52acbab + 100 + 2022-02-07 14:59:30.444 + + 0 + 64 + + Updated By + true + false + false + false + false + false + false + false + false + true + true + + The Updated By field indicates the user who updated this record. + 10 + ECA14 + + User who updated this records + + + 100 + 2022-02-07 14:59:30.444 + + + + 72748 + + 110 + 18 + 0 + 608 + 0 + 50266 + 73635 + + + + + 66232381-ed79-4230-b32e-67d42c15a7e4 + 100 + 2022-02-07 14:59:31.475 + Updated By + false + true + The Updated By field indicates the user who updated this record. + User who updated this records + 100 + 2022-02-07 14:59:31.475 + 0 + es_MX + 0 + 73635 + + + + + + + + 89750270-9432-4ed6-ab92-8bca507736fb + 100 + 2022-02-07 14:59:31.615 + + 0 + 65 + + Immutable Universally Unique Identifier + true + false + false + false + false + false + false + false + false + true + true + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + 36 + ECA14 + + Immutable Universally Unique Identifier + + + 100 + 2022-02-07 14:59:31.615 + + + + 72749 + + + 10 + 0 + 59595 + 0 + 50266 + 73636 + + + + + 74b36f4b-af14-446a-a011-d830847b76ab + 100 + 2022-02-07 14:59:32.817 + Immutable Universally Unique Identifier + false + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + Immutable Universally Unique Identifier + 100 + 2022-02-07 14:59:32.817 + 0 + es_MX + 0 + 73636 + + + + + + + + 6711141e-2b9e-4afc-a378-7d0a99d79bbf + 100 + 2022-02-07 14:59:32.986 + + 0 + 66 + + Total Lines + true + false + false + false + false + false + false + false + false + true + true + + The Total amount displays the total of all lines in document currency + 22 + ECA14 + + Total of all document lines + + + 100 + 2022-02-07 14:59:32.986 + + + + 72750 + + + 12 + 0 + 598 + 0 + 50266 + 73637 + + + + + f89ac6ac-a09b-4a3b-a511-54c9ef24ae01 + 100 + 2022-02-07 14:59:33.989 + Total Lines + false + true + The Total amount displays the total of all lines in document currency + Total of all document lines + 100 + 2022-02-07 14:59:33.989 + 0 + es_MX + 0 + 73637 + + + + + + + + 08f84930-9e9a-47c9-a9ce-db46eeae07f9 + 100 + 2022-02-07 14:59:34.188 + + 0 + 67 + + Grand Total + true + false + false + false + false + false + false + false + false + true + true + + The Grand Total displays the total amount including Tax and Freight in document currency + 22 + ECA14 + + Total amount of document + + + 100 + 2022-02-07 14:59:34.187 + + + + 72751 + + + 12 + 0 + 316 + 0 + 50266 + 73638 + + + + + bbefa774-42fb-426a-bcaf-964173e4ca55 + 100 + 2022-02-07 14:59:35.198 + Grand Total + false + true + The Grand Total displays the total amount including Tax and Freight in document currency + Total amount of document + 100 + 2022-02-07 14:59:35.198 + 0 + es_MX + 0 + 73638 + + + + + false + + + + + false + + + + + false + + + + + false + + + + + false + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 10 + true + + + + + 20 + true + + + + + 30 + true + + + + + 40 + true + + + + + 50 + true + + + + + 60 + true + + + + + 70 + true + + + + + 80 + true + + + + + 90 + true + + + + + 10 + true + + + + + 20 + true + + + + + 30 + true + + + + + 40 + true + + + + + 50 + true + + + + + 10 + true + + + + + 20 + true + + + + + 40 + true + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + -1 + + + + + -1 + + + + + true + true + + + + + true + -1 + + + + + 230 + 138 + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + diff --git a/pos/xml/migration/09630_Add_columns_to_Generate_Refund_from_POS.xml b/pos/xml/migration/09630_Add_columns_to_Generate_Refund_from_POS.xml new file mode 100644 index 0000000000..a252d28ccc --- /dev/null +++ b/pos/xml/migration/09630_Add_columns_to_Generate_Refund_from_POS.xml @@ -0,0 +1,290 @@ + + + + + + 0 + false + + + + + 90 + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 0 + false + + + + + 10 + + + + + 20 + + + + + + + + 91bc945f-ba9d-4e27-b087-ad183fec08b5 + 100 + 2022-02-07 15:31:40.934 + 30 + + Document No + false + true + false + true + true + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + 30 + ECA14 + + Document sequence number of the document + + + 100 + 2022-02-07 15:31:40.934 + DocumentNo + + + 10 + 58600 + 54594 + 0 + 290 + 0 + + + + + d45c249d-9e30-4476-8b79-3544ffbf40eb + 100 + 2022-02-07 15:31:42.066 + Document No + false + true + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + Document sequence number of the document + 100 + 2022-02-07 15:31:42.066 + 58600 + 0 + es_MX + 0 + + + + + 52457 + + + + + 80 + true + + + + + 90 + + + + + 100 + + + + + 30 + true + + + + + 40 + + + + diff --git a/pos/xml/migration/09640_Rename_Table_to_C_POSPaymentReferene.xml b/pos/xml/migration/09640_Rename_Table_to_C_POSPaymentReferene.xml new file mode 100644 index 0000000000..a8561d99e2 --- /dev/null +++ b/pos/xml/migration/09640_Rename_Table_to_C_POSPaymentReferene.xml @@ -0,0 +1,732 @@ + + + + + + C_POSPaymentReference + Payment Reference based on Order + All Payments or collects references based on POS + + + + + C_POSPaymentReference + Table C_POSPaymentReference + + + + + Referencia de Pago + 54874 + es_MX + + + + + Payment Reference + Payment Reference + C_POSPaymentReference_ID + + + + + Payment Reference + C_POSPaymentReference_ID + + + + + Payment Reference + + + + + Payment Reference + + + + + Referencia de Pago de Orden + Referencia de Pago de Orden + Referencia de Pago de Orden + es_MX + 61913 + + + + + false + + + + + + 0 + + + a44d1ecb-998e-4613-990b-64da75cda2f7 + 100 + 2022-02-14 09:55:16.074 + 0 + true + + + Source Amount + + true + false + N + false + false + false + true + false + false + N + false + false + true + true + true + + + + 0 + ECA14 + Amount Balance in Source Currency + 0 + 100 + 2022-02-14 09:55:16.074 + + AmtSource + + + 54874 + + 12 + + 0 + + 2343 + 99745 + 0 + + + + + + 728c5a31-4031-4693-a0dd-adfb00f4c587 + 100 + 2022-02-14 09:55:17.624 + Source Amount + false + true + 100 + 2022-02-14 09:55:17.624 + 0 + es_MX + 99745 + 0 + + + + + Payment Reference + Payment Reference based on open from Order + + + + + Referencia de Pago / Cobro + Referencia de Pago o Cobro relacionado a una orden de venta abierta + 55132 + es_MX + + + + + 041d7abb-fcd4-4a77-9760-060ffdf6790a + 100 + 2022-02-14 09:59:54.847 + + 0 + 0 + + + Source Amount + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Amount Balance in Source Currency + + 100 + 2022-02-14 09:59:54.847 + + 55132 + + + 0 + + 102033 + + + + 99745 + 0 + + + + + f1ee2bce-de9a-44bb-b8ca-cdf51f32e699 + 100 + 2022-02-14 09:59:55.97 + Source Amount + false + true + + Amount Balance in Source Currency + 100 + 2022-02-14 09:59:55.97 + 0 + es_MX + 102033 + 0 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + true + + + + + false + + + + + Referencia de Pago / Cobro + Referencias de Pago o Cobro según órdenes Abiertas + 55133 + es_MX + + + + + Referencia de Pago / Cobro Pendientes + 55133 + es_MX + + + + + Payment Reference + + + + + + 0 + + + 48b88fed-0eb9-4144-86aa-1ac7ea2eb7cf + 100 + 2022-02-14 10:02:59.982 + 0 + true + + + Business Partner + + true + false + N + true + false + false + true + false + false + N + false + false + true + true + true + + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + + 10 + ECA14 + Identifies a Business Partner + + 100 + 2022-02-14 10:02:59.982 + + C_BPartner_ID + + + 54874 + + 30 + + 0 + + 187 + 99746 + 0 + + + + + + f1ee0128-d4e8-41fa-a4e0-43046b4b92fb + 100 + 2022-02-14 10:03:01.132 + Business Partner + false + true + 100 + 2022-02-14 10:03:01.132 + 0 + es_MX + 99746 + 0 + + + + + ecbf27e1-45c6-4a84-b1d1-8f671e61d1b7 + 100 + 2022-02-14 10:03:12.36 + + 0 + 0 + + + Business Partner + false + false + false + + false + false + false + false + true + true + true + true + true + + + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + ECA14 + + 10 + Identifies a Business Partner + + 100 + 2022-02-14 10:03:12.359 + + 55132 + + + 0 + + 102034 + + + + 99746 + 0 + + + + + e55dd9b6-acc8-40ff-9089-2f3634d7a0bd + 100 + 2022-02-14 10:03:13.59 + Business Partner + false + true + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + Identifies a Business Partner + 100 + 2022-02-14 10:03:13.59 + 0 + es_MX + 102034 + 0 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 170 + + + + + C_POSPaymentReference.IsPaid = 'N' + + + + + 1 + + + + + 8caf3b88-0544-4508-8275-9b24ac6e08af + 100 + 2022-02-14 10:04:34.967 + + 0 + 0 + + + Business Partner + false + false + false + + false + false + false + false + true + true + true + true + true + + + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + ECA14 + + 10 + Identifies a Business Partner + + 100 + 2022-02-14 10:04:34.966 + + 55133 + + + 0 + + 102035 + + + + 99746 + 0 + + + + + a9061e8b-4a79-4120-801b-cf920139735c + 100 + 2022-02-14 10:04:36.169 + Business Partner + false + true + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + Identifies a Business Partner + 100 + 2022-02-14 10:04:36.169 + 0 + es_MX + 102035 + 0 + + + + + 2f4da930-389b-417d-8973-b6213ef4f6ad + 100 + 2022-02-14 10:04:36.28 + + 0 + 0 + + + Source Amount + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Amount Balance in Source Currency + + 100 + 2022-02-14 10:04:36.28 + + 55133 + + + 0 + + 102036 + + + + 99745 + 0 + + + + + da2c960f-7428-446c-87a6-547d214314ab + 100 + 2022-02-14 10:04:37.539 + Source Amount + false + true + + Amount Balance in Source Currency + 100 + 2022-02-14 10:04:37.539 + 0 + es_MX + 102036 + 0 + + + + + 99746 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 170 + + + + + true + + + + + false + + + + + true + + + + + false + + + + diff --git a/pos/xml/migration/09650_Add_Receipt_flag_for_payment_reference.xml b/pos/xml/migration/09650_Add_Receipt_flag_for_payment_reference.xml new file mode 100644 index 0000000000..a67b1a567c --- /dev/null +++ b/pos/xml/migration/09650_Add_Receipt_flag_for_payment_reference.xml @@ -0,0 +1,283 @@ + + + + + + + 0 + + + 32c667f7-ba77-43bb-82d6-cd5a62a8210c + 100 + 2022-02-14 10:25:05.543 + 0 + true + + + Receipt + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 1 + ECA14 + This is a sales transaction (receipt) + Y + 100 + 2022-02-14 10:25:05.542 + + IsReceipt + + + 54874 + + 20 + + 0 + + 1634 + 99748 + 0 + + + + + + f387be95-78e6-4017-9442-78adb39b0bbf + 100 + 2022-02-14 10:25:06.814 + Receipt + false + true + 100 + 2022-02-14 10:25:06.814 + 0 + es_MX + 99748 + 0 + + + + + df3680bd-2bdf-4b01-9341-6bad7e09f4a0 + 100 + 2022-02-14 10:25:17.722 + + 0 + 0 + + + Receipt + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 1 + This is a sales transaction (receipt) + + 100 + 2022-02-14 10:25:17.722 + + 55132 + + + 0 + + 102038 + + + + 99748 + 0 + + + + + 5e79c25c-9259-47f8-af4a-646f5d40d9bb + 100 + 2022-02-14 10:25:18.678 + Receipt + false + true + + This is a sales transaction (receipt) + 100 + 2022-02-14 10:25:18.678 + 0 + es_MX + 102038 + 0 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 170 + + + + + 180 + + + + + true + + + + + 130 + + + + + 140 + + + + + 56e3a2b8-a69d-4a5e-8f3b-26532ffbb222 + 100 + 2022-02-14 10:26:02.981 + + 0 + 0 + + + Receipt + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 1 + This is a sales transaction (receipt) + + 100 + 2022-02-14 10:26:02.981 + + 55133 + + + 0 + + 102039 + + + + 99748 + 0 + + + + + 28d44597-d820-46e8-85f0-0e5ff1e9ed17 + 100 + 2022-02-14 10:26:04.279 + Receipt + false + true + + This is a sales transaction (receipt) + 100 + 2022-02-14 10:26:04.279 + 0 + es_MX + 102039 + 0 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 170 + + + + + 180 + + + + + true + + + + diff --git a/pos/xml/migration/09660_Add_converted_amount_to_refund_browser.xml b/pos/xml/migration/09660_Add_converted_amount_to_refund_browser.xml new file mode 100644 index 0000000000..b8364f9dfd --- /dev/null +++ b/pos/xml/migration/09660_Add_converted_amount_to_refund_browser.xml @@ -0,0 +1,294 @@ + + + + + + 75770742-0ed1-47a0-a31a-28d16cdbf77c + 100 + 2022-02-14 10:31:01.018 + Source Amount + true + The Amount indicates the amount for this document line. + ECA14 + Amount in a defined currency + 100 + 2022-02-14 10:31:01.018 + opb.AmtSource + OPB_AmtSource + 50216 + 50572 + 72752 + 0 + 99745 + 0 + + + + + c3d3aac5-7c57-467b-b6d4-b05ac24a053d + 100 + 2022-02-14 10:31:02.241 + Source Amount + false + true + + Amount in a defined currency + 100 + 2022-02-14 10:31:02.241 + 72752 + 0 + es_MX + 0 + + + + + Monto Fuente + Monto fuente en la moneda del documento + 72752 + es_MX + + + + + 9096476a-9923-41cb-b234-1e5411776ca3 + 100 + 2022-02-14 10:34:37.757 + Converted Amt + true + + ECA14 + Converted Amt + 100 + 2022-02-14 10:34:37.757 + currencyConvert(opb.AmtSource, ord.C_Currency_ID, opb.C_Currency_ID, opb.PayDate, opb.C_ConversionType_ID, opb.AD_Client_ID, opb.AD_Org_ID) + OPB_ConvertedAmt + 50216 + 50572 + 72753 + 0 + + 0 + + + + + 287ec794-0167-494a-9fdb-cd697dc8730a + 100 + 2022-02-14 10:34:38.701 + Converted Amt + false + true + + Converted Amt + 100 + 2022-02-14 10:34:38.701 + 72753 + 0 + es_MX + 0 + + + + + Monto Convertido + Monto Convertido + 72753 + es_MX + + + + + + + + 05b7cdf2-40d4-4ba2-ae45-68bce8379e4f + 100 + 2022-02-14 10:36:36.226 + 0 + 0 + 0 + + Converted Amount + true + false + false + false + false + false + false + true + true + true + true + + + 0 + ECA14 + + + + + 100 + 2022-02-14 10:36:36.226 + + + + 72753 + + + 12 + 0 + 1555 + 0 + 50266 + 73639 + + + + + c4c748f0-83e7-47bb-974f-11f2acd282a4 + 100 + 2022-02-14 10:36:37.522 + Converted Amount + false + true + + + 100 + 2022-02-14 10:36:37.522 + 0 + es_MX + 0 + 73639 + + + + + Monto Convertido + es_MX + 73639 + + + + + 0 + false + + + + + 100 + + + + + + + + 2359841a-cec2-442c-9731-df428ed31524 + 100 + 2022-02-14 10:38:53.091 + 0 + 0 + 0 + + Source Amount + true + false + false + false + false + false + false + false + true + true + true + + + 0 + ECA14 + + + + + 100 + 2022-02-14 10:38:53.091 + + + + 72752 + + + 12 + 0 + 2343 + 0 + 50266 + 73640 + + + + + a33f5415-0f02-4868-8284-a139581a4e20 + 100 + 2022-02-14 10:38:54.057 + Source Amount + false + true + + + 100 + 2022-02-14 10:38:54.057 + 0 + es_MX + 0 + 73640 + + + + + Monto Fuente + es_MX + 73640 + + + + + 90 + + + + + 110 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + opb.IsPaid = 'N' +AND opb.IsReceipt = 'Y' + + + + diff --git a/pos/xml/migration/09670_Rename_column_for_browser.xml b/pos/xml/migration/09670_Rename_column_for_browser.xml new file mode 100644 index 0000000000..e7428dfd5e --- /dev/null +++ b/pos/xml/migration/09670_Rename_column_for_browser.xml @@ -0,0 +1,11 @@ + + + + + + opb.C_POSPaymentReference_ID + OPB_C_POSPaymentReference_ID + + + + diff --git a/pos/xml/migration/09680_Fix_validation_for_Browser.xml b/pos/xml/migration/09680_Fix_validation_for_Browser.xml new file mode 100644 index 0000000000..fd3201f552 --- /dev/null +++ b/pos/xml/migration/09680_Fix_validation_for_Browser.xml @@ -0,0 +1,11 @@ + + + + + + opb.IsPaid = 'N' +AND opb.IsReceipt = 'N' + + + + diff --git a/pos/xml/migration/09690_Add_default_document_type_for_payments.xml b/pos/xml/migration/09690_Add_default_document_type_for_payments.xml new file mode 100644 index 0000000000..763268a638 --- /dev/null +++ b/pos/xml/migration/09690_Add_default_document_type_for_payments.xml @@ -0,0 +1,609 @@ + + + + + + POS Payment Method Allocation + + + + + eca0ddb9-8a4b-422c-bacc-44bcbaad7c84 + 100 + 2022-02-19 17:54:55.861 + S + C_DocType ARC Credit Memo Only (POS) + true + ECA14 + Credit Memo Only + 100 + 2022-02-19 17:54:55.861 + C_DocType.DocBaseType IN ('ARC') AND C_DocType.IsSOTrx='Y' + 52904 + 0 + 0 + + + + + + 0 + + + d9313c4e-9364-4533-8b52-a4a68c94862d + 100 + 2022-02-19 17:55:08.217 + 0 + true + + + Target Document Type + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + You can convert document types (e.g. from Offer to Order or Invoice). The conversion is then reflected in the current type. This processing is initiated by selecting the appropriate Document Action. + + 10 + ECA14 + Target document type for conversing documents + -1 + 100 + 2022-02-19 17:55:08.217 + + C_DocTypeTarget_ID + + 52904 + 54848 + 170 + 18 + + 0 + + 197 + 99771 + 0 + + + + + + da5f8961-1dca-4c8c-b59c-a42bf21391fb + 100 + 2022-02-19 17:55:09.559 + Target Document Type + false + true + 100 + 2022-02-19 17:55:09.559 + 0 + es_MX + 99771 + 0 + + + + + + 0 + + + 38191848-0d20-46ea-8f6e-6aabba05a962 + 100 + 2022-02-19 17:55:22.569 + 0 + true + + + Charge + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + The Charge indicates a type of Charge (Handling, Shipping, Restocking) + + 10 + ECA14 + Additional document charges + -1 + 100 + 2022-02-19 17:55:22.568 + + C_Charge_ID + + + 54848 + 200 + 18 + + 0 + + 968 + 99772 + 0 + + + + + + bad883c0-5dda-441b-b4f0-926e53cc124f + 100 + 2022-02-19 17:55:23.842 + Charge + false + true + 100 + 2022-02-19 17:55:23.842 + 0 + es_MX + 99772 + 0 + + + + + 01d50a37-0f9b-4c55-90a2-eec4c72ee2c6 + 100 + 2022-02-19 17:55:44.948 + + 0 + 0 + + + Charge + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Charge indicates a type of Charge (Handling, Shipping, Restocking) + ECA14 + + 10 + Additional document charges + + 100 + 2022-02-19 17:55:44.948 + + 55110 + + + 0 + + 102055 + + + + 99772 + 0 + + + + + 92995c60-03f5-468d-be6f-b20ac28853f0 + 100 + 2022-02-19 17:55:45.914 + Charge + false + true + The Charge indicates a type of Charge (Handling, Shipping, Restocking) + Additional document charges + 100 + 2022-02-19 17:55:45.914 + 0 + es_MX + 102055 + 0 + + + + + 5e87717a-e252-4b7e-b748-ec7601cc16b4 + 100 + 2022-02-19 17:55:46.141 + + 0 + 0 + + + Target Document Type + false + false + false + + false + false + false + false + true + true + true + true + true + + + You can convert document types (e.g. from Offer to Order or Invoice). The conversion is then reflected in the current type. This processing is initiated by selecting the appropriate Document Action. + ECA14 + + 10 + Target document type for conversing documents + + 100 + 2022-02-19 17:55:46.141 + + 55110 + + + 0 + + 102056 + + + + 99771 + 0 + + + + + 4ed37525-0b0f-4d73-bf7f-4da054067324 + 100 + 2022-02-19 17:55:47.039 + Target Document Type + false + true + You can convert document types (e.g. from Offer to Order or Invoice). The conversion is then reflected in the current type. This processing is initiated by selecting the appropriate Document Action. + Target document type for conversing documents + 100 + 2022-02-19 17:55:47.039 + 0 + es_MX + 102056 + 0 + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 170 + + + + + 180 + + + + + true + + + + + 1954fcb5-6fab-4eef-ac30-8f1b6c54facf + 100 + 2022-02-19 17:58:52.92 + Doc Type Invoice + + + + + Document Type for Credit Memo + true + The Document Type for Invoice indicates the document type that will be used when an invoice is generated from this sales document. This field will display only when the base document type is Sales Order. + 22 + ECA14 + Document type used for invoices generated from this sales document + 100 + 2022-02-19 17:58:52.919 + C_DocTypeCreditMemo_ID + 170 + 18 + 0 + 61980 + 0 + + + + + a3fa7274-4b16-41b1-b85b-d71ad64237fe + 100 + 2022-02-19 17:58:53.722 + Doc Type Invoice + + + + + Document Type for Credit Memo + false + true + The Document Type for Invoice indicates the document type that will be used when an invoice is generated from this sales document. This field will display only when the base document type is Sales Order. + Document type used for invoices generated from this sales document + 100 + 2022-02-19 17:58:53.722 + 0 + es_MX + 61980 + 0 + + + + + Tipo de Documento para Nota de Crédito + Tipo de Documento para Nota de Crédito + Tipo de documento utilizado para generar la Nota de Crédito + es_MX + 61980 + + + + + El Tipo de documento para nota de crédito indica el tipo de documento que será usado cuando una factura se genera desde este documento de venta. Este campo se desplegará solamente cuando el tipo de documento base sea orden de venta + es_MX + 61980 + + + + + + 0 + + + 58afd3c0-e296-4ed8-8caa-147de7f8a078 + 100 + 2022-02-19 17:59:49.404 + 0 + true + + + Document Type for Credit Memo + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + The Document Type for Invoice indicates the document type that will be used when an invoice is generated from this sales document. This field will display only when the base document type is Sales Order. + + 10 + ECA14 + Document type used for invoices generated from this sales document + + 100 + 2022-02-19 17:59:49.404 + + C_DocTypeCreditMemo_ID + + 52904 + 54848 + 170 + 18 + + 0 + + 61980 + 99773 + 0 + + + + + + cc0940cc-23e5-41a4-8618-5a6a4620771c + 100 + 2022-02-19 17:59:50.292 + Document Type for Credit Memo + false + true + 100 + 2022-02-19 17:59:50.292 + 0 + es_MX + 99773 + 0 + + + + + -1 + + + + + 149 + + + + + eba36546-7b11-4351-baca-8229e5d513a6 + 100 + 2022-02-19 18:00:24.621 + + 0 + 0 + + + Document Type for Credit Memo + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Document Type for Invoice indicates the document type that will be used when an invoice is generated from this sales document. This field will display only when the base document type is Sales Order. + ECA14 + + 10 + Document type used for invoices generated from this sales document + + 100 + 2022-02-19 18:00:24.621 + + 55110 + + + 0 + + 102057 + + + + 99773 + 0 + + + + + ac08942c-4a87-4482-a045-a58258cb8b67 + 100 + 2022-02-19 18:00:25.641 + Document Type for Credit Memo + false + true + The Document Type for Invoice indicates the document type that will be used when an invoice is generated from this sales document. This field will display only when the base document type is Sales Order. + Document type used for invoices generated from this sales document + 100 + 2022-02-19 18:00:25.641 + 0 + es_MX + 102057 + 0 + + + + + 190 + + + + diff --git a/pos/xml/migration/09700_Add_Payment_Reference_support_for_POS.xml b/pos/xml/migration/09700_Add_Payment_Reference_support_for_POS.xml new file mode 100644 index 0000000000..d1d57b0f38 --- /dev/null +++ b/pos/xml/migration/09700_Add_Payment_Reference_support_for_POS.xml @@ -0,0 +1,200 @@ + + + + + + 793b2ac8-7f78-4fd8-8cef-caab9e937d0c + 100 + 2022-02-22 14:12:33.765 + Payment Reference + + + + + Payment Reference + true + + 1 + ECA14 + Payment Reference used for POS + 100 + 2022-02-22 14:12:33.765 + IsPaymentReference + + 20 + 0 + 61982 + 0 + + + + + 10561ccf-413a-45da-96db-a435c85bbcde + 100 + 2022-02-22 14:12:35.155 + Payment Reference + + + + + Payment Reference + false + true + + Payment Reference used for POS + 100 + 2022-02-22 14:12:35.155 + 0 + es_MX + 61982 + 0 + + + + + Referencia de Pago + Referencia de Pago + Referencia de Pago usada en el PDV + es_MX + 61982 + + + + + + 0 + + + 334b1ac2-c0c7-40e6-a215-fd58d8136dee + 100 + 2022-02-22 14:13:22.11 + 0 + true + + + Payment Reference + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 1 + ECA14 + Payment Reference used for POS + N + 100 + 2022-02-22 14:13:22.109 + + IsPaymentReference + + + 54848 + + 20 + + 0 + + 61982 + 99776 + 0 + + + + + + beb819e8-b214-432d-9713-348f0fae61f2 + 100 + 2022-02-22 14:13:23.209 + Payment Reference + false + true + 100 + 2022-02-22 14:13:23.209 + 0 + es_MX + 99776 + 0 + + + + + d0283330-e575-49de-924d-739204f149ed + 100 + 2022-02-22 14:14:05.572 + 0 + 200 + 200 + 0 + + Payment Reference + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Payment Reference used for POS + + 100 + 2022-02-22 14:14:05.571 + + 55110 + + + 0 + + 102061 + + + + 99776 + 0 + + + + + e0045a99-b5fe-4c9f-a1f5-57754c2ff9bf + 100 + 2022-02-22 14:14:06.924 + Payment Reference + false + true + + Payment Reference used for POS + 100 + 2022-02-22 14:14:06.924 + 0 + es_MX + 102061 + 0 + + + + diff --git a/pos/xml/migration/09710_Add_Processed_field_to_payment_reference.xml b/pos/xml/migration/09710_Add_Processed_field_to_payment_reference.xml new file mode 100644 index 0000000000..247a62c134 --- /dev/null +++ b/pos/xml/migration/09710_Add_Processed_field_to_payment_reference.xml @@ -0,0 +1,469 @@ + + + + + + c546938f-c9ad-4827-b052-36ceddc3f2f9 + 100 + 2022-02-22 16:06:28.003 + Auto Created Reference + + + + + Auto Created Reference + true + + 1 + ECA14 + Reference created automatically + 100 + 2022-02-22 16:06:28.003 + IsAutoCreatedReference + + 20 + 0 + 61983 + 0 + + + + + 90bbd6ef-6f44-44c4-b25b-fc51e057cdae + 100 + 2022-02-22 16:06:29.224 + Auto Created Reference + + + + + Auto Created Reference + false + true + + Reference created automatically + 100 + 2022-02-22 16:06:29.224 + 0 + es_MX + 61983 + 0 + + + + + Referencia Creada Automatically + Referencia Creada Automatically + Referencia Creada Automatically desde otro proceso + es_MX + 61983 + + + + + + 0 + + + 7452afdf-e757-47e6-8db2-175b893df4d2 + 100 + 2022-02-22 16:07:53.596 + 0 + true + + + Auto Created Reference + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 1 + ECA14 + Reference created automatically + N + 100 + 2022-02-22 16:07:53.596 + + IsAutoCreatedReference + + + 54874 + + 20 + + 0 + + 61983 + 99777 + 0 + + + + + + ef8e5f3f-18b6-450f-8441-45b22d45395e + 100 + 2022-02-22 16:07:54.986 + Auto Created Reference + false + true + 100 + 2022-02-22 16:07:54.986 + 0 + es_MX + 99777 + 0 + + + + + + 0 + + + 1b5bfd62-60dc-43e4-a84b-34ee0175b7cf + 100 + 2022-02-22 16:08:03.796 + 0 + true + + + Processed + + true + false + N + false + false + false + false + false + false + N + false + false + true + false + true + + The Processed checkbox indicates that a document has been processed. + + 1 + ECA14 + The document has been processed + N + 100 + 2022-02-22 16:08:03.795 + + Processed + + + 54874 + + 20 + + 0 + + 1047 + 99778 + 0 + + + + + + 51012534-bd99-4fee-ba5e-a4bb15198953 + 100 + 2022-02-22 16:08:05.042 + Processed + false + true + 100 + 2022-02-22 16:08:05.042 + 0 + es_MX + 99778 + 0 + + + + + 23d71cc8-59d1-4af0-99c9-7ac0ef4fa851 + 100 + 2022-02-22 16:08:23.426 + + 0 + 0 + + + Auto Created Reference + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 1 + Reference created automatically + + 100 + 2022-02-22 16:08:23.426 + + 55132 + + + 0 + + 102062 + + + + 99777 + 0 + + + + + a6b46fa8-b146-4215-8288-32d90b7b1318 + 100 + 2022-02-22 16:08:24.505 + Auto Created Reference + false + true + + Reference created automatically + 100 + 2022-02-22 16:08:24.505 + 0 + es_MX + 102062 + 0 + + + + + 10ebd6e6-c2f8-4557-bd41-a09c11597c64 + 100 + 2022-02-22 16:08:24.643 + + 0 + 0 + + + Processed + false + false + false + + false + false + false + false + true + true + true + false + true + + + The Processed checkbox indicates that a document has been processed. + ECA14 + + 1 + The document has been processed + + 100 + 2022-02-22 16:08:24.643 + + 55132 + + + 0 + + 102063 + + + + 99778 + 0 + + + + + 053f4817-f00e-424c-9fec-8cac74e0b0aa + 100 + 2022-02-22 16:08:25.754 + Processed + false + true + The Processed checkbox indicates that a document has been processed. + The document has been processed + 100 + 2022-02-22 16:08:25.754 + 0 + es_MX + 102063 + 0 + + + + + 09dc0c2e-3189-4e95-8150-3601fe9b3b32 + 100 + 2022-02-22 16:08:40.802 + + 0 + 0 + + + Auto Created Reference + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 1 + Reference created automatically + + 100 + 2022-02-22 16:08:40.802 + + 55133 + + + 0 + + 102064 + + + + 99777 + 0 + + + + + 411b9149-fb35-44af-be8b-9e55f1eebabe + 100 + 2022-02-22 16:08:41.775 + Auto Created Reference + false + true + + Reference created automatically + 100 + 2022-02-22 16:08:41.775 + 0 + es_MX + 102064 + 0 + + + + + a1327408-5d64-4686-8a1f-7956af85b3e6 + 100 + 2022-02-22 16:08:41.897 + + 0 + 0 + + + Processed + false + false + false + + false + false + false + false + true + true + true + false + true + + + The Processed checkbox indicates that a document has been processed. + ECA14 + + 1 + The document has been processed + + 100 + 2022-02-22 16:08:41.897 + + 55133 + + + 0 + + 102065 + + + + 99778 + 0 + + + + + 1c6fdbb5-0204-4afb-b87b-23737fdca693 + 100 + 2022-02-22 16:08:42.884 + Processed + false + true + The Processed checkbox indicates that a document has been processed. + The document has been processed + 100 + 2022-02-22 16:08:42.884 + 0 + es_MX + 102065 + 0 + + + + diff --git a/pos/xml/migration/09720_Add_Default_Cash_Closing_for_POS.xml b/pos/xml/migration/09720_Add_Default_Cash_Closing_for_POS.xml new file mode 100644 index 0000000000..f84b1d07f1 --- /dev/null +++ b/pos/xml/migration/09720_Add_Default_Cash_Closing_for_POS.xml @@ -0,0 +1,200 @@ + + + + + + f93c68ee-4469-494b-8dbf-e4e2dbab7342 + 100 + 170 + 100 + ECA14 + 0 + 0 + 61988 + 18 + 10 + + + Cash Closing Document Type + + + + POSCashClosingDocumentType_ID + 2022-02-28 12:08:01.009 + Cash Closing Document Type for Cash or bank + Cash Closing Document Type + true + 2022-02-28 12:08:01.009 + + + + + 21c71b8e-0dfb-42a4-a750-55018d6f4ccf + 61988 + 100 + 100 + 0 + 0 + + + Cash Closing Document Type + false + Cash Closing Document Type for Cash or bank + Cash Closing Document Type + + + es_MX + 2022-02-28 12:08:03.062 + true + + 2022-02-28 12:08:03.062 + + + + + 61988 + Tipo de Documento de Cierre de Caja + Tipo de Documento de Cierre de Caja o Estado de Cuenta + Tipo de Documento de Cierre de Caja + es_MX + + + + + + true + + f1a6ae1b-6957-4453-a54e-99bc3c0b663a + 100 + 18 + 10 + 52547 + 170 + 61988 + 100 + 748 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + + POSCashClosingDocumentType_ID + + 0 + + + + false + N + true + false + + -1 + false + false + Cash Closing Document Type + false + 99804 + + 2022-02-28 12:08:56.788 + + 2022-02-28 12:08:56.788 + + true + Cash Closing Document Type for Cash or bank + + + + + 733354d5-0b12-4941-acc9-f361223f943d + es_MX + 100 + 100 + 0 + 0 + Cash Closing Document Type + false + 99804 + 2022-02-28 12:08:57.762 + true + 2022-02-28 12:08:57.762 + + + + + b56fbfc1-864b-49fc-929d-436e5a90f55f + + 676 + 0 + 560 + + 99804 + + 560 + 100 + 100 + ECA14 + 102067 + 0 + 0 + false + + + + false + false + true + 0 + + + + + + true + 0 + false + true + Cash Closing Document Type for Cash or bank + true + false + + true + + 2022-02-28 12:09:10.296 + + false + 2022-02-28 12:09:10.296 + false + Cash Closing Document Type + + + + + 710e2d7a-4c14-41e5-a5d9-ac6b50b31f80 + es_MX + 100 + 100 + 102067 + 0 + + Cash Closing Document Type + false + Cash Closing Document Type for Cash or bank + 0 + 2022-02-28 12:09:11.372 + 2022-02-28 12:09:11.372 + true + + + + diff --git a/pos/xml/migration/09730_Add_Is_Allows_Apply_Discount.xml b/pos/xml/migration/09730_Add_Is_Allows_Apply_Discount.xml new file mode 100644 index 0000000000..6c3edc406f --- /dev/null +++ b/pos/xml/migration/09730_Add_Is_Allows_Apply_Discount.xml @@ -0,0 +1,556 @@ + + + + + + 61c243fb-602b-4e36-b074-12e6ee3042b2 + 100 + + 100 + ECA14 + 0 + 0 + 62007 + 20 + 1 + + + Allows Apply Discount + + + Allows apply discount for this POS + IsAllowsApplyDiscount + 2022-03-08 19:05:45.875 + Allows Apply Discount for this POS Terminal + Allows Apply Discount + true + 2022-03-08 19:05:45.875 + + + + + 3bac9b4a-1647-4519-a159-2da5aba3e328 + 62007 + 100 + 100 + 0 + 0 + + + Allows Apply Discount + false + Allows Apply Discount for this POS Terminal + Allows Apply Discount + Allows apply discount for this POS + + es_MX + 2022-03-08 19:05:47.013 + true + + 2022-03-08 19:05:47.013 + + + + + 62007 + Permitir Aplicar Descuento + Permitir Aplicar Descuento para este Terminal PDV + Permitir Aplicar Descuento + Permite Aplicar Descuento en el Terminal + es_MX + + + + + + true + + 17a71758-50c3-491e-bf14-803411dc77f9 + 100 + 20 + 1 + + + 62007 + 100 + 748 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + Allows apply discount for this POS + IsAllowsApplyDiscount + + 0 + + + + false + N + false + false + + N + false + false + Allows Apply Discount + false + 99850 + + 2022-03-08 19:09:01.764 + + 2022-03-08 19:09:01.764 + + true + Allows Apply Discount for this POS Terminal + + + + + 5ebd1929-becf-454e-940c-ec6167d02864 + es_MX + 100 + 100 + 0 + 0 + Allows Apply Discount + false + 99850 + 2022-03-08 19:09:02.696 + true + 2022-03-08 19:09:02.696 + + + + + 74db6834-a70e-4164-8c7e-fd54d34e50f6 + + 676 + 0 + 570 + + 99850 + + 570 + 100 + 100 + ECA14 + 102051 + 0 + 0 + false + + + + false + false + true + 0 + + + + + Allows apply discount for this POS + true + 0 + false + true + Allows Apply Discount for this POS Terminal + true + false + + true + + 2022-03-08 19:09:42.549 + + false + 2022-03-08 19:09:42.549 + false + Allows Apply Discount + + + + + 2befe810-16fd-4030-963c-4820f1753224 + es_MX + 100 + 100 + 102051 + 0 + Allows apply discount for this POS + Allows Apply Discount + false + Allows Apply Discount for this POS Terminal + 0 + 2022-03-08 19:09:43.982 + 2022-03-08 19:09:43.982 + true + + + + + + true + + 6417070e-91c3-4a3f-986f-e5274b475b05 + 100 + 20 + 1 + + + 62007 + 100 + 54872 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + Allows apply discount for this POS + IsAllowsApplyDiscount + + 0 + + + + false + N + false + false + + N + false + false + Allows Apply Discount + false + 99851 + + 2022-03-08 19:11:16.307 + + 2022-03-08 19:11:16.307 + + true + Allows Apply Discount for this POS Terminal + + + + + 9fca355b-81b3-4b91-9251-863d150e5534 + es_MX + 100 + 100 + 0 + 0 + Allows Apply Discount + false + 99851 + 2022-03-08 19:11:27.417 + true + 2022-03-08 19:11:27.417 + + + + + + true + + 31519e9b-c13a-4995-9623-3ff996705fa1 + 100 + 12 + 0 + + + 61788 + 100 + 54872 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + If this field is zero then not have a maxumumdaily refund + MaximumDailyRefundAllowed + + 0 + + + + false + N + false + false + + 0 + false + false + Maximum Daily Refund Allowed + false + 99852 + + 2022-03-08 19:13:48.787 + + 2022-03-08 19:13:48.787 + + true + Set the maximum daily refund allowed for this tender type using the POS currency + + + + + 6ec830f0-a9fc-40d2-8eda-663aad3c2855 + es_MX + 100 + 100 + 0 + 0 + Maximum Daily Refund Allowed + false + 99852 + 2022-03-08 19:13:49.829 + true + 2022-03-08 19:13:49.829 + + + + + + true + + 6adb622e-21e6-4fe0-bacd-0912f762ba8e + 100 + 22 + 0 + + + 61894 + 100 + 54872 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + The Discount indicates the discount applied or taken as a percentage. + MaximumDiscountAllowed + + 0 + + + + false + N + false + false + + 0 + false + false + Maximum Discount % + false + 99853 + + 2022-03-08 19:15:37.852 + + 2022-03-08 19:15:37.852 + + true + Discount in percent + + + + + f6261ab2-21b8-4f0f-9f16-1d4de8c17da3 + es_MX + 100 + 100 + 0 + 0 + Maximum Discount % + false + 99853 + 2022-03-08 19:15:38.888 + true + 2022-03-08 19:15:38.888 + + + + + + true + + c1e0b0c2-42dd-429b-84e6-a4216cc67328 + 100 + 12 + 0 + + + 61784 + 100 + 54872 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + If this field is zero then not have a maxumum refund + MaximumRefundAllowed + + 0 + + + + false + N + false + false + + 0 + false + false + Maximum Refund Allowed + false + 99854 + + 2022-03-08 19:17:03.756 + + 2022-03-08 19:17:03.756 + + true + Set the maximum refund allowed for this tender type using the POS currency + + + + + 3d122d64-f614-431d-bfc7-d375d368c4bc + es_MX + 100 + 100 + 0 + 0 + Maximum Refund Allowed + false + 99854 + 2022-03-08 19:17:04.857 + true + 2022-03-08 19:17:04.857 + + + + + + true + + ef1a6af4-63de-4c10-a0a1-1317d41f5d00 + 100 + 12 + 0 + + + 61893 + 100 + 54872 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + + WriteOffAmtTolerance + + 0 + + + + false + N + false + false + + 0 + false + false + Tolerance for write-off per Document + false + 99855 + + 2022-03-08 19:24:17.564 + + 2022-03-08 19:24:17.564 + + true + Tolerance amount to be written off in invoice currency + + + + + 5c0cc8e2-e079-4315-8dc5-cf5a3bbf4688 + es_MX + 100 + 100 + 0 + 0 + Tolerance for write-off per Document + false + 99855 + 2022-03-08 19:24:18.624 + true + 2022-03-08 19:24:18.624 + + + + diff --git a/pos/xml/migration/09740_Add_default_discount_charge.xml b/pos/xml/migration/09740_Add_default_discount_charge.xml new file mode 100644 index 0000000000..916f827bda --- /dev/null +++ b/pos/xml/migration/09740_Add_default_discount_charge.xml @@ -0,0 +1,135 @@ + + + + + + ad400400-f4cc-4a2a-b1b9-6bc9804039cc + 100 + 200 + 100 + ECA14 + 0 + 0 + 62009 + 18 + 10 + + + Default Discount Charge + + + + DefaultDiscountCharge_ID + 2022-03-08 20:42:25.941 + Default Discount Charge for POS + Default Discount Charge + true + 2022-03-08 20:42:25.941 + + + + + b40618f5-81b7-4a9c-876c-765817effa51 + 62009 + 100 + 100 + 0 + 0 + + + Default Discount Charge + false + Default Discount Charge for POS + Default Discount Charge + + + es_MX + 2022-03-08 20:42:26.928 + true + + 2022-03-08 20:42:26.928 + + + + + Cargo Predeterminado para Descuento + 62009 + Cargo Predeterminado para Descuento en el Terminal PDV + Cargo Predeterminado para Descuento + Use este cargo para definir la linea de descuento en la orden de venta, tome en cuenta que el despuento aplicado dependerá del máximo permitido en el terminal + es_MX + + + + + + true + + 1cd7346f-2573-4ec7-9225-70f835ce76f1 + 100 + 18 + 10 + + 200 + 62009 + 100 + 748 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + + DefaultDiscountCharge_ID + + 0 + + + + false + N + false + false + + -1 + false + false + Default Discount Charge + false + 99857 + + 2022-03-08 20:43:43.712 + + 2022-03-08 20:43:43.712 + + true + Default Discount Charge for POS + + + + + 58e73fe7-42c9-4100-b394-4bfcf6e2a1d6 + es_MX + 100 + 100 + 0 + 0 + Default Discount Charge + false + 99857 + 2022-03-08 20:43:44.849 + true + 2022-03-08 20:43:44.849 + + + + diff --git a/pos/xml/migration/09745_ECA14_Delete_Wrong_IDs.xml b/pos/xml/migration/09745_ECA14_Delete_Wrong_IDs.xml new file mode 100644 index 0000000000..38a48af4e2 --- /dev/null +++ b/pos/xml/migration/09745_ECA14_Delete_Wrong_IDs.xml @@ -0,0 +1,8 @@ + + + + + DELETE FROM AD_Field WHERE AD_Column_ID IN(99850, 99851, 99852, 99853, 99854, 99855) + + + diff --git a/pos/xml/migration/09750_Add_Field_for_Discount.xml b/pos/xml/migration/09750_Add_Field_for_Discount.xml new file mode 100644 index 0000000000..606c34cf5e --- /dev/null +++ b/pos/xml/migration/09750_Add_Field_for_Discount.xml @@ -0,0 +1,461 @@ + + + + + + e0e7c538-e796-46c0-8d20-d0e7c8bf0556 + 100 + 100 + 53722 + ECA14 + 0 + 0 + + POS.MaximumDiscountAllowedExceeded + I + 2022-03-14 19:22:27.931 + Maximum Discount Allowed Exceeded + 2022-03-14 19:22:27.931 + true + + + + + c886e142-72f8-4b9d-b324-63a39e34dc84 + 100 + 53722 + es_MX + 100 + 0 + 0 + + Maximum Discount Allowed Exceeded + false + true + 2022-03-14 19:22:29.299 + 2022-03-14 19:22:29.299 + + + + + 53722 + es_MX + Descuento Máximo Permitido Excedido + + + + + aed30268-9289-4197-a7d4-7cc0e44afae4 + + 676 + 0 + 570 + + 99850 + + 570 + 100 + 100 + ECA14 + 102075 + 0 + 0 + false + + + + false + false + true + 0 + + + + + Allows apply discount for this POS + true + 0 + false + true + Allows Apply Discount for this POS Terminal + true + false + + true + + 2022-03-14 19:26:14.956 + + false + 2022-03-14 19:26:14.956 + false + Allows Apply Discount + + + + + 0b9851b9-4fc4-47ff-8902-bbc500dfeedc + es_MX + 100 + 100 + 102075 + 0 + Allows apply discount for this POS + Allows Apply Discount + false + Allows Apply Discount for this POS Terminal + 0 + 2022-03-14 19:26:15.945 + 2022-03-14 19:26:15.945 + true + + + + + c09d80a7-c004-4b4c-9f97-9b1b6f4c40b0 + es_MX + 100 + 100 + 102076 + 0 + The Discount indicates the discount applied or taken as a percentage. + Maximum Discount % + false + Discount in percent + 0 + 2022-03-14 19:26:25.883 + 2022-03-14 19:26:25.883 + true + + + + + 95b30681-05e8-4996-8fc7-a12e5c3a9b34 + + 55130 + 1 + 0 + + 99851 + + 0 + 100 + 100 + ECA14 + 102077 + 0 + 0 + false + + + + false + false + true + + + + + + Allows apply discount for this POS + true + + false + true + Allows Apply Discount for this POS Terminal + true + false + + true + + 2022-03-14 19:26:55.029 + + false + 2022-03-14 19:26:55.029 + false + Allows Apply Discount + + + + + 66b9c01b-3a54-4de8-8095-be8b6a8256e8 + es_MX + 100 + 100 + 102077 + 0 + Allows apply discount for this POS + Allows Apply Discount + false + Allows Apply Discount for this POS Terminal + 0 + 2022-03-14 19:26:55.842 + 2022-03-14 19:26:55.842 + true + + + + + bb0d00fc-0ba8-457d-8306-8a8716bd1728 + + 55130 + 0 + 0 + + 99852 + + 0 + 100 + 100 + ECA14 + 102078 + 0 + 0 + false + + + + false + false + true + + + + + + If this field is zero then not have a maxumumdaily refund + true + + false + true + Set the maximum daily refund allowed for this tender type using the POS currency + true + false + + true + + 2022-03-14 19:26:55.948 + + false + 2022-03-14 19:26:55.948 + false + Maximum Daily Refund Allowed + + + + + dee7a3d1-7f87-40ab-b078-595f61d815a9 + es_MX + 100 + 100 + 102078 + 0 + If this field is zero then not have a maxumumdaily refund + Maximum Daily Refund Allowed + false + Set the maximum daily refund allowed for this tender type using the POS currency + 0 + 2022-03-14 19:26:57.152 + 2022-03-14 19:26:57.152 + true + + + + + 91e4718a-2b95-476c-8f0c-b9bb7528becd + + 55130 + 0 + 0 + + 99853 + + 0 + 100 + 100 + ECA14 + 102079 + 0 + 0 + false + + + + false + false + true + + + + + + The Discount indicates the discount applied or taken as a percentage. + true + + false + true + Discount in percent + true + false + + true + + 2022-03-14 19:26:57.355 + + false + 2022-03-14 19:26:57.355 + false + Maximum Discount % + + + + + 5324bb02-277f-49f0-a4cb-2e891f5ff20d + es_MX + 100 + 100 + 102079 + 0 + The Discount indicates the discount applied or taken as a percentage. + Maximum Discount % + false + Discount in percent + 0 + 2022-03-14 19:26:58.084 + 2022-03-14 19:26:58.084 + true + + + + + ddd54bf7-8853-4a15-8f3c-115ead2dd026 + + 55130 + 0 + 0 + + 99854 + + 0 + 100 + 100 + ECA14 + 102080 + 0 + 0 + false + + + + false + false + true + + + + + + If this field is zero then not have a maxumum refund + true + + false + true + Set the maximum refund allowed for this tender type using the POS currency + true + false + + true + + 2022-03-14 19:26:58.184 + + false + 2022-03-14 19:26:58.184 + false + Maximum Refund Allowed + + + + + 4e40e993-ce44-4c51-9067-12266c799037 + es_MX + 100 + 100 + 102080 + 0 + If this field is zero then not have a maxumum refund + Maximum Refund Allowed + false + Set the maximum refund allowed for this tender type using the POS currency + 0 + 2022-03-14 19:26:58.834 + 2022-03-14 19:26:58.834 + true + + + + + 709688b5-ff75-424e-b4ff-f2fcebfe74dc + + 55130 + 0 + 0 + + 99855 + + 0 + 100 + 100 + ECA14 + 102081 + 0 + 0 + false + + + + false + false + true + + + + + + + true + + false + true + Tolerance amount to be written off in invoice currency + true + false + + true + + 2022-03-14 19:26:58.934 + + false + 2022-03-14 19:26:58.934 + false + Tolerance for write-off per Document + + + + + bd7a3574-62c7-446f-ab0d-4d8ce073b478 + es_MX + 100 + 100 + 102081 + 0 + + Tolerance for write-off per Document + false + Tolerance amount to be written off in invoice currency + 0 + 2022-03-14 19:27:00.281 + 2022-03-14 19:27:00.281 + true + + + + diff --git a/pos/xml/migration/09760_Add_Discount_Field_to_Order.xml b/pos/xml/migration/09760_Add_Discount_Field_to_Order.xml new file mode 100644 index 0000000000..ef80eaa218 --- /dev/null +++ b/pos/xml/migration/09760_Add_Discount_Field_to_Order.xml @@ -0,0 +1,213 @@ + + + + + + + true + + 0e0ce2b5-df67-4310-a97a-c196445748b7 + 100 + 22 + 0 + + + 1712 + 100 + 259 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + The Discount indicates the discount applied or taken as a percentage. + FlatDiscount + + 0 + + + + false + N + false + false + + + false + false + Flat Discount % + false + 99859 + + 2022-03-14 19:29:29.685 + + 2022-03-14 19:29:29.685 + + true + Discount in percent + + + + + 3a304c09-1c13-4bdb-a675-26300abe0980 + es_MX + 100 + 100 + 0 + 0 + Discount % + false + 99859 + 2022-03-14 19:29:30.812 + true + 2022-03-14 19:29:30.812 + + + + + d0b7eab1-6877-4b36-8308-84dfeb709ffe + + 186 + 0 + 660 + + 99859 + + 660 + 100 + 100 + ECA14 + 102082 + 0 + 0 + false + + + + false + false + true + 0 + + + + + The Discount indicates the discount applied or taken as a percentage. + true + 0 + false + true + Discount in percent + true + false + + true + + 2022-03-14 19:29:55.529 + + false + 2022-03-14 19:29:55.529 + false + Discount % + + + + + aefa4144-04b4-4e40-8bbc-48b002a70b6a + es_MX + 100 + 100 + 102082 + 0 + The Discount indicates the discount applied or taken as a percentage. + Discount % + false + Discount in percent + 0 + 2022-03-14 19:29:56.522 + 2022-03-14 19:29:56.522 + true + + + + + true + + + + + ef0002f9-cba5-477a-a8fe-494220a563ef + + 294 + 0 + 560 + + 99859 + + 560 + 100 + 100 + ECA14 + 102083 + 0 + 0 + false + + + + false + false + true + 0 + + + + + The Discount indicates the discount applied or taken as a percentage. + true + 0 + false + true + Discount in percent + true + false + + true + + 2022-03-14 19:30:40.817 + + false + 2022-03-14 19:30:40.817 + true + Discount % + + + + + fb5a3c32-1e37-4540-8732-733866104f10 + es_MX + 100 + 100 + 102083 + 0 + The Discount indicates the discount applied or taken as a percentage. + Discount % + false + Discount in percent + 0 + 2022-03-14 19:30:42.157 + 2022-03-14 19:30:42.157 + true + + + + diff --git a/pos/xml/migration/09780_ECA14_Update_Reports_Reference.xml b/pos/xml/migration/09780_ECA14_Update_Reports_Reference.xml new file mode 100644 index 0000000000..3f8c98eafd --- /dev/null +++ b/pos/xml/migration/09780_ECA14_Update_Reports_Reference.xml @@ -0,0 +1,55 @@ + + + + + + http://viewer.report/ECA14/inf_POS_Sales_Detail_And_Collection.jasper + + + + + http://viewer.report/ECA14/inf_POS_Sales_Detail_And_Refund_Op.jasper + + + + + http://viewer.report/ECA14/inf_ProductLabel.jasper + + + + + http://viewer.report/ECA14/inf_ProductLabel_Barcode.jasper + + + + + http://viewer.report/ECA14/inf_ProductLabel_Little.jasper + + + + + http://viewer.report/ECA14/inf_Product_Catalog.jasper + + + + + http://viewer.report/ECA14/inf_Product_Catalog_Order.jasper + + + + + http://viewer.report/ECA14/inf_Product_Catalog_Order.jasper + + + + + http://viewer.report/ECA14/inf_WithdrawalReceipt.jasper + + + + + http://viewer.report/ECA14/rpt_VendorProductPriceList.jasper + + + + diff --git a/pos/xml/migration/09790_ECA14_Add_Return_Order_Document_Type.xml b/pos/xml/migration/09790_ECA14_Add_Return_Order_Document_Type.xml new file mode 100644 index 0000000000..f964000642 --- /dev/null +++ b/pos/xml/migration/09790_ECA14_Add_Return_Order_Document_Type.xml @@ -0,0 +1,942 @@ + + + + + + f6a76fe6-34c6-4bff-a033-56b80391e942 + 100 + 2022-08-19 16:44:31.391 + Allows Create Customer + + + + + Allows Create Customer + true + Allows create a customer based on POS definition + 1 + ECA14 + Allows create a Customer from POS + 100 + 2022-08-19 16:44:31.391 + IsAllowsCreateCustomer + + 20 + 0 + 62048 + 0 + + + + + 3d3346de-e161-4f6a-9f7a-bf2b0cc865b2 + 100 + 2022-08-19 16:44:33.042 + Allows Create Customer + + + + + Allows Create Customer + false + true + Allows create a customer based on POS definition + Allows create a Customer from POS + 100 + 2022-08-19 16:44:33.042 + 0 + es_MX + 62048 + 0 + + + + + Permitir Crear Cliente + Permitir Crear Cliente + Permite crear cliente basado en la definición del Punto de Ventas + Permitir Crear Cliente desde el Punto de Ventas + es_MX + 62048 + + + + + d9f61ade-ec8e-4d20-8f7c-80b12fe66247 + 100 + 2022-08-19 16:45:52.549 + Allows Print Document + + + + + Allows Print Document + true + Allows create a print document based on POS definition + 1 + U + Allows print document from POS + 100 + 2022-08-19 16:45:52.549 + IsAllowsPrintDocument + + 20 + 0 + 62049 + 0 + + + + + bc245aeb-3b55-41b1-b0a7-21a909766320 + 100 + 2022-08-19 16:45:53.432 + Allows Print Document + + + + + Allows Print Document + false + true + Allows create a print document based on POS definition + Allows print document from POS + 100 + 2022-08-19 16:45:53.432 + 0 + es_MX + 62049 + 0 + + + + + Permitir Imprimir Documento + Permitir Imprimir Documento + Permite imprimir documentos desde la definición del Punto de Ventas + Permitir Imprimir Documento desde el Punto de Ventas + es_MX + 62049 + + + + + + 0 + + + f09cd12c-fc31-443a-977a-bfa812bfa598 + 100 + 2022-08-19 17:24:54.055 + 0 + true + + + Allows Create Customer + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + Allows create a customer based on POS definition + + 1 + ECA14 + Allows create a Customer from POS + N + 100 + 2022-08-19 17:24:54.055 + + IsAllowsCreateCustomer + + + 748 + + 20 + + 0 + + 62048 + 100053 + 0 + + + + + + b44d6bb3-bdc6-4f45-9bd9-d4cbc7b640f3 + 100 + 2022-08-19 17:24:55.212 + Allows Create Customer + false + true + 100 + 2022-08-19 17:24:55.212 + 0 + es_MX + 100053 + 0 + + + + + ECA14 + + + + + + 0 + + + 949722d0-472e-48ad-b098-fbad5a92dd51 + 100 + 2022-08-19 17:25:23.693 + 0 + true + + + Allows Print Document + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + Allows create a print document based on POS definition + + 1 + ECA14 + Allows print document from POS + N + 100 + 2022-08-19 17:25:23.693 + + IsAllowsPrintDocument + + + 748 + + 20 + + 0 + + 62049 + 100054 + 0 + + + + + + c56823c7-ca02-4a29-bf35-ba2e262a13c1 + 100 + 2022-08-19 17:25:24.834 + Allows Print Document + false + true + 100 + 2022-08-19 17:25:24.834 + 0 + es_MX + 100054 + 0 + + + + + + 0 + + + 8ea8ad84-f9fa-4e1b-b026-670a8f8476ef + 100 + 2022-08-19 17:26:00.164 + 0 + true + + + Allows Create Customer + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + Allows create a customer based on POS definition + + 1 + ECA14 + Allows create a Customer from POS + N + 100 + 2022-08-19 17:26:00.163 + + IsAllowsCreateCustomer + + + 54872 + + 20 + + 0 + + 62048 + 100055 + 0 + + + + + + 284d50a5-e1ad-43c5-aee0-4ee18b844d8d + 100 + 2022-08-19 17:26:01.091 + Allows Create Customer + false + true + 100 + 2022-08-19 17:26:01.091 + 0 + es_MX + 100055 + 0 + + + + + + 0 + + + ffe3e391-c583-4cf9-a61f-f446811eb5f6 + 100 + 2022-08-19 17:26:13.837 + 0 + true + + + Allows Print Document + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + Allows create a print document based on POS definition + + 1 + ECA14 + Allows print document from POS + N + 100 + 2022-08-19 17:26:13.837 + + IsAllowsPrintDocument + + + 54872 + + 20 + + 0 + + 62049 + 100056 + 0 + + + + + + 32724c74-eb62-44f4-a3f7-9d9c3453907d + 100 + 2022-08-19 17:26:15.052 + Allows Print Document + false + true + 100 + 2022-08-19 17:26:15.052 + 0 + es_MX + 100056 + 0 + + + + + dace4c3f-ce39-4e98-ac0b-aa0954ec6d9d + 100 + 2022-08-19 17:26:45.055 + 0 + 580 + 580 + 0 + + Allows Create Customer + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows create a customer based on POS definition + ECA14 + + 0 + Allows create a Customer from POS + + 100 + 2022-08-19 17:26:45.055 + + 676 + + + 0 + + 102230 + + + + 100053 + 0 + + + + + 96173248-bca6-4078-8b72-6e29f1189c8b + 100 + 2022-08-19 17:26:46.036 + Allows Create Customer + false + true + Allows create a customer based on POS definition + Allows create a Customer from POS + 100 + 2022-08-19 17:26:46.036 + 0 + es_MX + 102230 + 0 + + + + + 2bdcd613-528d-422e-9bc4-2f76f498cde5 + 100 + 2022-08-19 17:26:57.413 + 0 + 590 + 590 + 0 + + Allows Print Document + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows create a print document based on POS definition + ECA14 + + 0 + Allows print document from POS + + 100 + 2022-08-19 17:26:57.413 + + 676 + + + 0 + + 102231 + + + + 100054 + 0 + + + + + 4bf5e755-42f8-4711-90b1-fd2db509fb5a + 100 + 2022-08-19 17:26:58.488 + Allows Print Document + false + true + Allows create a print document based on POS definition + Allows print document from POS + 100 + 2022-08-19 17:26:58.488 + 0 + es_MX + 102231 + 0 + + + + + 621a4c6b-f8bb-463e-8c71-709a3cbdc9a2 + 100 + 2022-08-19 17:27:06.566 + 0 + 600 + 600 + 0 + + Default Discount Charge + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Default Discount Charge for POS + + 100 + 2022-08-19 17:27:06.566 + + 676 + + + 0 + + 102232 + + + + 99857 + 0 + + + + + 0b5b3011-2b70-4f88-89f1-bd1d1c0f08b3 + 100 + 2022-08-19 17:27:07.96 + Default Discount Charge + false + true + + Default Discount Charge for POS + 100 + 2022-08-19 17:27:07.96 + 0 + es_MX + 102232 + 0 + + + + + 48b6f9fb-5fcc-44f8-baa0-f2574ea6b72c + 100 + 2022-08-19 17:27:28.832 + 0 + 180 + 180 + 0 + + Allows Create Customer + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows create a customer based on POS definition + ECA14 + + 0 + Allows create a Customer from POS + + 100 + 2022-08-19 17:27:28.832 + + 55130 + + + 0 + + 102233 + + + + 100055 + 0 + + + + + 29b0f055-5c27-4e62-958b-dce0d9adba3e + 100 + 2022-08-19 17:27:29.865 + Allows Create Customer + false + true + Allows create a customer based on POS definition + Allows create a Customer from POS + 100 + 2022-08-19 17:27:29.865 + 0 + es_MX + 102233 + 0 + + + + + 7126cc93-86b7-48bf-b54f-aab14ca9e975 + 100 + 2022-08-19 17:27:34.77 + 0 + 190 + 190 + 0 + + Allows Print Document + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows create a print document based on POS definition + ECA14 + + 0 + Allows print document from POS + + 100 + 2022-08-19 17:27:34.769 + + 55130 + + + 0 + + 102234 + + + + 100056 + 0 + + + + + a93652b9-e36e-4bc0-b27d-6a93b2066f9c + 100 + 2022-08-19 17:27:35.691 + Allows Print Document + false + true + Allows create a print document based on POS definition + Allows print document from POS + 100 + 2022-08-19 17:27:35.691 + 0 + es_MX + 102234 + 0 + + + + + 7a922c29-6307-413a-8b62-e39e8c1d86a9 + 100 + 2022-08-19 17:46:54.685 + Return Document Type + + + + + Return Document Type + true + + 10 + ECA14 + Return Document Type for Cash or bank + 100 + 2022-08-19 17:46:54.685 + POSReturnDocumentType_ID + 170 + 18 + 0 + 62050 + 0 + + + + + cb3fde10-ca34-4c9c-8ebb-4b597d5b8784 + 100 + 2022-08-19 17:46:56.499 + Return Document Type + + + + + Return Document Type + false + true + + Return Document Type for Cash or bank + 100 + 2022-08-19 17:46:56.499 + 0 + es_MX + 62050 + 0 + + + + + Tipo de Documento para Devolución + Tipo de Documento para Devolución + Tipo de Documento para Devolución de Productos + es_MX + 62050 + + + + + + 0 + + + 6a688098-acf4-4c13-ad33-19ab07043dd0 + 100 + 2022-08-19 17:49:58.158 + 0 + true + + + Return Document Type + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Return Document Type for Cash or bank + -1 + 100 + 2022-08-19 17:49:58.158 + + POSReturnDocumentType_ID + + 52065 + 54850 + 170 + 18 + + 0 + + 62050 + 100057 + 0 + + + + + + aa38e094-d98d-4e4e-94fe-a5bb0b738936 + 100 + 2022-08-19 17:49:59.258 + Return Document Type + false + true + 100 + 2022-08-19 17:49:59.258 + 0 + es_MX + 100057 + 0 + + + + + 133 + + + + + e1be8a2c-e887-4018-bbf7-60cd0b8189dd + 100 + 2022-08-19 17:52:00.313 + 0 + 70 + 70 + 0 + + Return Document Type + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Return Document Type for Cash or bank + + 100 + 2022-08-19 17:52:00.312 + + 55112 + + + 0 + + 102235 + + + + 100057 + 0 + + + + + 38e1a0e9-b1a2-4373-8a53-0e756ef51c47 + 100 + 2022-08-19 17:52:01.696 + Return Document Type + false + true + + Return Document Type for Cash or bank + 100 + 2022-08-19 17:52:01.696 + 0 + es_MX + 102235 + 0 + + + + diff --git a/pos/xml/migration/09800_ECA14_Add_Reference_Payment_fields.xml b/pos/xml/migration/09800_ECA14_Add_Reference_Payment_fields.xml new file mode 100644 index 0000000000..0dafcd9d75 --- /dev/null +++ b/pos/xml/migration/09800_ECA14_Add_Reference_Payment_fields.xml @@ -0,0 +1,499 @@ + + + + + + + 0 + + + bb98be8b-31cd-466c-aea3-1b2d2bbc95b9 + 100 + 2022-08-23 09:55:53.945 + 0 + true + + + Name + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length. + + 255 + ECA14 + Alphanumeric identifier of the entity + + 100 + 2022-08-23 09:55:53.945 + + Name + + + 54848 + + 10 + + 0 + + 469 + 100058 + 0 + + + + + + 62ad0b85-06bb-4f11-b3fc-c19b5d4aeaaa + 100 + 2022-08-23 09:55:55.364 + Name + false + true + 100 + 2022-08-23 09:55:55.364 + 0 + es_MX + 100058 + 0 + + + + + e1bd34b9-1556-4fab-9b11-e6f6457b17ec + 100 + 2022-08-23 09:56:19.288 + 0 + 210 + 210 + 0 + + Name + false + false + false + + false + false + false + false + true + true + true + true + true + + + The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length. + ECA14 + + 0 + Alphanumeric identifier of the entity + + 100 + 2022-08-23 09:56:19.288 + + 55110 + + + 0 + + 102236 + + + + 100058 + 0 + + + + + a95f70ec-887f-449a-8ed6-5f9c75ad0a83 + 100 + 2022-08-23 09:56:20.653 + Name + false + true + The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length. + Alphanumeric identifier of the entity + 100 + 2022-08-23 09:56:20.653 + 0 + es_MX + 102236 + 0 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 170 + + + + + 180 + + + + + + 0 + + + 2cccceab-0e70-4a83-9c56-3f46a7ce3d15 + 100 + 2022-08-23 09:57:47.68 + 0 + true + + + Rate + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + The Rate indicates the percentage to be multiplied by the source to arrive at the tax or exchange amount. + + 0 + ECA14 + Rate or Tax or Exchange + + 100 + 2022-08-23 09:57:47.68 + + Rate + + + 54874 + + 22 + + 0 + + 534 + 100059 + 0 + + + + + + 662b95fa-5b26-47d3-9be4-2d2bc1cfc84f + 100 + 2022-08-23 09:57:48.772 + Rate + false + true + 100 + 2022-08-23 09:57:48.772 + 0 + es_MX + 100059 + 0 + + + + + + 0 + + + b2432bd2-d7e1-48b4-b977-2a6c455d1b9d + 100 + 2022-08-23 09:58:09.04 + 0 + true + + + Base + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 0 + ECA14 + Calculation Base + + 100 + 2022-08-23 09:58:09.04 + + Base + + + 54874 + + 22 + + 0 + + 2818 + 100060 + 0 + + + + + + b720d511-dde6-4556-b6bd-0703b2395705 + 100 + 2022-08-23 09:58:09.97 + Base + false + true + 100 + 2022-08-23 09:58:09.97 + 0 + es_MX + 100060 + 0 + + + + + + + + d117097c-f839-488b-87c4-1802e47d2370 + 100 + 2022-08-23 10:00:30.998 + + 0 + 0 + + + Base + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Calculation Base + + 100 + 2022-08-23 10:00:30.998 + + 55132 + + + 0 + + 102237 + + + + 100060 + 0 + + + + + 505a25db-c4f4-4d3f-a9ef-702639dc565e + 100 + 2022-08-23 10:00:32.018 + Base + false + true + + Calculation Base + 100 + 2022-08-23 10:00:32.018 + 0 + es_MX + 102237 + 0 + + + + + 930ffc54-5ac2-4919-ab41-1a2074d9f53a + 100 + 2022-08-23 10:00:32.108 + + 0 + 0 + + + Rate + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Rate indicates the percentage to be multiplied by the source to arrive at the tax or exchange amount. + ECA14 + + 0 + Rate or Tax or Exchange + + 100 + 2022-08-23 10:00:32.108 + + 55132 + + + 0 + + 102238 + + + + 100059 + 0 + + + + + ade6fad3-17f5-411c-a159-6d3d002aa0a9 + 100 + 2022-08-23 10:00:32.834 + Rate + false + true + The Rate indicates the percentage to be multiplied by the source to arrive at the tax or exchange amount. + Rate or Tax or Exchange + 100 + 2022-08-23 10:00:32.834 + 0 + es_MX + 102238 + 0 + + + + + 190 + + + + + 200 + + + + + 210 + + + + + 220 + + + + diff --git a/pos/xml/migration/09810_ECA14_Add_flag_for_complete_shipment.xml b/pos/xml/migration/09810_ECA14_Add_flag_for_complete_shipment.xml new file mode 100644 index 0000000000..85792d9bc7 --- /dev/null +++ b/pos/xml/migration/09810_ECA14_Add_flag_for_complete_shipment.xml @@ -0,0 +1,343 @@ + + + + + + 34393f7c-6ab1-41ba-af04-7d651bf9bd59 + 100 + 2022-08-23 11:08:01.28 + Allows Confirm Shipment by Order + + + + + Allows Confirm Shipment by Order + true + This flag determine if is allowed confirm a shipment from POS by each order + 1 + U + Allows Confirm Shipment from Order + 100 + 2022-08-23 11:08:01.28 + IsAllowsConfirmShipmentByOrder + + 20 + 0 + 62051 + 0 + + + + + 7d783125-300e-4a1d-94ce-18a8e322fb90 + 100 + 2022-08-23 11:08:02.586 + Allows Confirm Shipment by Order + + + + + Allows Confirm Shipment by Order + false + true + This flag determine if is allowed confirm a shipment from POS by each order + Allows Confirm Shipment from Order + 100 + 2022-08-23 11:08:02.586 + 0 + es_MX + 62051 + 0 + + + + + Permitir Confirmar Entrega por Documento + Permitir Confirmar Entrega por Documento + Ésta bander permite confirmar entregas en base al documento completo y no por líneas de la orden + Permitir Confirmar Entrega por Documento y no por línea + es_MX + 62051 + + + + + + 0 + + + 322fda4d-9015-4b0f-b63a-0019a71d95a2 + 100 + 2022-08-23 11:09:33.728 + 0 + true + + + Allows Confirm Shipment by Order + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + This flag determine if is allowed confirm a shipment from POS by each order + + 1 + U + Allows Confirm Shipment from Order + N + 100 + 2022-08-23 11:09:33.728 + + IsAllowsConfirmShipmentByOrder + + + 748 + + 20 + + 0 + + 62051 + 100061 + 0 + + + + + + b9274fc3-0dcf-4ffd-9110-571b15e137ce + 100 + 2022-08-23 11:09:34.955 + Allows Confirm Shipment by Order + false + true + 100 + 2022-08-23 11:09:34.955 + 0 + es_MX + 100061 + 0 + + + + + + 0 + + + 337b01ac-2ebe-47ae-87e9-0406ae3f5e9e + 100 + 2022-08-23 11:09:48.86 + 0 + true + + + Allows Confirm Shipment by Order + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + This flag determine if is allowed confirm a shipment from POS by each order + + 1 + ECA14 + Allows Confirm Shipment from Order + N + 100 + 2022-08-23 11:09:48.859 + + IsAllowsConfirmShipmentByOrder + + + 54872 + + 20 + + 0 + + 62051 + 100062 + 0 + + + + + + b8778842-fa2c-4772-91e8-9ac880ee3673 + 100 + 2022-08-23 11:09:50.398 + Allows Confirm Shipment by Order + false + true + 100 + 2022-08-23 11:09:50.398 + 0 + es_MX + 100062 + 0 + + + + + ECA14 + + + + + 780e833d-849c-4f14-8ee8-fd4c120b1003 + 100 + 2022-08-23 11:10:46.939 + 0 + 610 + 610 + 0 + + Allows Confirm Shipment by Order + false + false + false + + false + false + false + false + true + true + true + true + true + + + This flag determine if is allowed confirm a shipment from POS by each order + ECA14 + + 0 + Allows Confirm Shipment from Order + + 100 + 2022-08-23 11:10:46.938 + + 676 + + + 0 + + 102239 + + + + 100061 + 0 + + + + + f856114b-2273-45ac-a069-8db820cf78ab + 100 + 2022-08-23 11:10:48.038 + Allows Confirm Shipment by Order + false + true + This flag determine if is allowed confirm a shipment from POS by each order + Allows Confirm Shipment from Order + 100 + 2022-08-23 11:10:48.038 + 0 + es_MX + 102239 + 0 + + + + + b65cb6e5-fdca-476a-a0de-0706d4f9acb3 + 100 + 2022-08-23 11:11:03.993 + 0 + 200 + 200 + 0 + + Allows Confirm Shipment by Order + false + false + false + + false + false + false + false + true + true + true + true + true + + + This flag determine if is allowed confirm a shipment from POS by each order + ECA14 + + 0 + Allows Confirm Shipment from Order + + 100 + 2022-08-23 11:11:03.992 + + 55130 + + + 0 + + 102240 + + + + 100062 + 0 + + + + + 88e9da38-caa3-4c86-8d7a-d61055dc5c25 + 100 + 2022-08-23 11:11:05.318 + Allows Confirm Shipment by Order + false + true + This flag determine if is allowed confirm a shipment from POS by each order + Allows Confirm Shipment from Order + 100 + 2022-08-23 11:11:05.318 + 0 + es_MX + 102240 + 0 + + + + diff --git a/pos/xml/migration/09820_ECA14_Add_flag_for_IsDisplayedFromCollection.xml b/pos/xml/migration/09820_ECA14_Add_flag_for_IsDisplayedFromCollection.xml new file mode 100644 index 0000000000..c6c2b45478 --- /dev/null +++ b/pos/xml/migration/09820_ECA14_Add_flag_for_IsDisplayedFromCollection.xml @@ -0,0 +1,205 @@ + + + + + + 05c6757b-1e95-4e65-b950-0aa94d1fbf87 + 100 + 2022-08-23 11:58:56.463 + Display Payment Method + + + + + Display Payment Method + true + + 1 + ECA14 + Display Payment Method from POS + 100 + 2022-08-23 11:58:56.463 + IsDisplayedFromList + + 20 + 0 + 62052 + 0 + + + + + c6ea13e4-6240-4611-80ab-14eaae7bf5ea + 100 + 2022-08-23 11:58:57.666 + Display Payment Method + + + + + Display Payment Method + false + true + + Display Payment Method from POS + 100 + 2022-08-23 11:58:57.666 + 0 + es_MX + 62052 + 0 + + + + + Mostrar Método de Pago + Mostrar Método de Pago + Mostrar Método de Pago en la lista de POS + es_MX + 62052 + + + + + IsDisplayedFromCollection + + + + + + 0 + + + 1e10db90-3dab-4be5-ac68-f422d06bb46f + 100 + 2022-08-23 11:59:50.525 + 0 + true + + + Display Payment Method + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 1 + ECA14 + Display Payment Method from POS + Y + 100 + 2022-08-23 11:59:50.525 + + IsDisplayedFromCollection + + + 54848 + + 20 + + 0 + + 62052 + 100063 + 0 + + + + + + cc0045fb-2348-44de-a33d-4f0bfc00cd7d + 100 + 2022-08-23 11:59:52.007 + Display Payment Method + false + true + 100 + 2022-08-23 11:59:52.007 + 0 + es_MX + 100063 + 0 + + + + + 1811aca3-253b-4c5a-ae4f-4a817f60c02f + 100 + 2022-08-23 12:00:08.354 + 0 + 190 + 190 + 0 + + Display Payment Method + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Display Payment Method from POS + + 100 + 2022-08-23 12:00:08.354 + + 55110 + + + 0 + + 102241 + + + + 100063 + 0 + + + + + f3cb32c7-a3e3-4a6e-b7da-b7525f8a743f + 100 + 2022-08-23 12:00:09.487 + Display Payment Method + false + true + + Display Payment Method from POS + 100 + 2022-08-23 12:00:09.487 + 0 + es_MX + 102241 + 0 + + + + diff --git a/pos/xml/migration/09830_ECA14_Add_flag_for_IsAllowsPreviewDocument.xml b/pos/xml/migration/09830_ECA14_Add_flag_for_IsAllowsPreviewDocument.xml new file mode 100644 index 0000000000..760adb45b1 --- /dev/null +++ b/pos/xml/migration/09830_ECA14_Add_flag_for_IsAllowsPreviewDocument.xml @@ -0,0 +1,349 @@ + + + + + + 56c0b398-a001-4c98-9898-c099cde05f62 + 100 + 2022-08-23 17:18:21.649 + Allows Print Preview + + + + + Allows Print Preview + true + Allows create a print document based on POS definition + 1 + ECA14 + Allows print document with preview from POS + 100 + 2022-08-23 17:18:21.649 + IsAllowsPrintPreview + + 20 + 0 + 62053 + 0 + + + + + 7abaa629-a736-4816-9048-bb12641a0c48 + 100 + 2022-08-23 17:18:22.723 + Allows Print Preview + + + + + Allows Print Preview + false + true + Allows create a print document based on POS definition + Allows print document with preview from POS + 100 + 2022-08-23 17:18:22.723 + 0 + es_MX + 62053 + 0 + + + + + Permitir Vista Previa de Documento + Permitir Vista Previa de Documento + es_MX + 62053 + + + + + Permite previsualizar un documento desde el Punto de Ventas + Permitir Vista Previa de Documento desde el Punto de Ventas + es_MX + 62053 + + + + + IsAllowsPreviewDocument + + + + + + 0 + + + b401dea5-7efe-4090-9940-38cc247dc6d9 + 100 + 2022-08-23 17:20:56.85 + 0 + true + + + Allows Print Preview + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + Allows create a print document based on POS definition + + 1 + ECA14 + Allows print document with preview from POS + N + 100 + 2022-08-23 17:20:56.849 + + IsAllowsPreviewDocument + + + 748 + + 20 + + 0 + + 62053 + 100064 + 0 + + + + + + e7fc2992-c52f-42b5-9cf5-ab1def0fe34b + 100 + 2022-08-23 17:20:57.924 + Allows Print Preview + false + true + 100 + 2022-08-23 17:20:57.924 + 0 + es_MX + 100064 + 0 + + + + + + 0 + + + 3064df35-4217-4c33-a649-79777a96aa89 + 100 + 2022-08-23 17:21:20.421 + 0 + true + + + Allows Print Preview + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + Allows create a print document based on POS definition + + 1 + ECA14 + Allows print document with preview from POS + N + 100 + 2022-08-23 17:21:20.421 + + IsAllowsPreviewDocument + + + 54872 + + 20 + + 0 + + 62053 + 100065 + 0 + + + + + + 87db942e-17af-47ad-a168-400a55b7b1fe + 100 + 2022-08-23 17:21:21.715 + Allows Print Preview + false + true + 100 + 2022-08-23 17:21:21.715 + 0 + es_MX + 100065 + 0 + + + + + ec4909b0-4e56-4c76-be5c-1e7c7a97cd7c + 100 + 2022-08-23 17:22:31.291 + 0 + 620 + 620 + 0 + + Allows Print Preview + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows create a print document based on POS definition + ECA14 + + 0 + Allows print document with preview from POS + + 100 + 2022-08-23 17:22:31.291 + + 676 + + + 0 + + 102242 + + + + 100064 + 0 + + + + + f1253ea3-9264-4289-a0cc-3a91783ebcac + 100 + 2022-08-23 17:22:32.155 + Allows Print Preview + false + true + Allows create a print document based on POS definition + Allows print document with preview from POS + 100 + 2022-08-23 17:22:32.155 + 0 + es_MX + 102242 + 0 + + + + + 581f827a-8960-4447-bf5b-abddd7d75eb9 + 100 + 2022-08-23 17:22:39.794 + + 0 + 0 + + + Allows Print Preview + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows create a print document based on POS definition + ECA14 + + 1 + Allows print document with preview from POS + + 100 + 2022-08-23 17:22:39.794 + + 55130 + + + 0 + + 102243 + + + + 100065 + 0 + + + + + e3fcf02e-1912-45dc-8dfb-36531f31dd28 + 100 + 2022-08-23 17:22:40.555 + Allows Print Preview + false + true + Allows create a print document based on POS definition + Allows print document with preview from POS + 100 + 2022-08-23 17:22:40.555 + 0 + es_MX + 102243 + 0 + + + + diff --git a/pos/xml/migration/09840_ECA14_Add_Message_and_IsPOSManager_flag.xml b/pos/xml/migration/09840_ECA14_Add_Message_and_IsPOSManager_flag.xml new file mode 100644 index 0000000000..1ed3632154 --- /dev/null +++ b/pos/xml/migration/09840_ECA14_Add_Message_and_IsPOSManager_flag.xml @@ -0,0 +1,994 @@ + + + + + + c1bccdee-03ce-460d-9ede-4adfd334cc31 + 100 + 2022-08-25 14:52:02.439 + POS Manager + + + + + POS Manager + true + Use this field to determinate if a seller is a POS Manager + 1 + ECA14 + Allows validate PIN based on POS Manager + 100 + 2022-08-25 14:52:02.439 + IsAllowsPOSManager + + 20 + 0 + 62054 + 0 + + + + 596b12c1-2eb0-448b-8145-9b245a84447c + 100 + 2022-08-25 14:52:03.868 + POS Manager + + + + + POS Manager + false + true + Use this field to determinate if a seller is a POS Manager + Allows validate PIN based on POS Manager + 100 + 2022-08-25 14:52:03.868 + 0 + es_MX + 62054 + 0 + + + + + Supervisor de POS + Supervisor de POS + Use este campo para permitir aprobar basado en el PIN + Supervisor de POS que permite aprobar con PIN + es_MX + 62054 + + + + + + + 0 + + + 3a4db1c0-3a8e-434b-a2ad-df2b31f636a4 + 100 + 2022-08-25 14:53:33.917 + 0 + true + + + POS Manager + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + Use this field to determinate if a seller is a POS Manager + + 1 + ECA14 + Allows validate PIN based on POS Manager + N + 100 + 2022-08-25 14:53:33.916 + + IsAllowsPOSManager + + + 54872 + + 20 + + 0 + + 62054 + 100067 + 0 + + + + + + cecb0230-f8d0-453a-bee4-27dd7e57706b + 100 + 2022-08-25 14:53:34.913 + POS Manager + false + true + 100 + 2022-08-25 14:53:34.913 + 0 + es_MX + 100067 + 0 + + + + + 633b4d35-bf4e-4f58-b000-d064e366dd9f + 100 + 2022-08-25 14:53:57.898 + 0 + 210 + 210 + 0 + + POS Manager + false + false + false + + false + false + false + false + true + true + true + true + true + + + Use this field to determinate if a seller is a POS Manager + ECA14 + + 0 + Allows validate PIN based on POS Manager + + 100 + 2022-08-25 14:53:57.898 + + 55130 + + + 0 + + 102245 + + + + 100067 + 0 + + + + + ddc7007a-876f-4b58-bca8-1b5aac042145 + 100 + 2022-08-25 14:53:59.088 + POS Manager + false + true + Use this field to determinate if a seller is a POS Manager + Allows validate PIN based on POS Manager + 100 + 2022-08-25 14:53:59.088 + 0 + es_MX + 102245 + 0 + + + + + POS.AllocateSellerNotAllowed + 357b2e93-53ab-4ed1-8020-6bc4e435bc35 + 100 + 2022-08-25 14:59:02.598 + I + + Allocate seller not allowed for user + true + ECA14 + 100 + 2022-08-25 14:59:02.598 + 0 + 53734 + 0 + + + + + 0264cdcf-1810-4027-96b9-2f127540dc08 + 100 + 2022-08-25 14:59:03.41 + + Allocate seller not allowed for user + false + true + 100 + 2022-08-25 14:59:03.41 + 0 + 53734 + es_MX + 0 + + + + + POS.ApplyDiscountNotAllowed + cb442a0a-ce9d-41b4-b30c-9e60e67fd7c1 + 100 + 2022-08-25 15:00:12.052 + I + + Apply discount not allowed for user + true + ECA14 + 100 + 2022-08-25 15:00:12.052 + 0 + 53735 + 0 + + + + + 988cb5af-e9a0-4747-a935-c8364d111be6 + 100 + 2022-08-25 15:00:13.265 + + Apply discount not allowed for user + false + true + 100 + 2022-08-25 15:00:13.264 + 0 + 53735 + es_MX + 0 + + + + + POS.CashClosingNotAllowed + 766480a1-bf14-4b2b-940e-c8d0bacad43f + 100 + 2022-08-25 15:00:43.473 + I + + Cash closing not allowed for user + true + ECA14 + 100 + 2022-08-25 15:00:43.473 + 0 + 53736 + 0 + + + + + bec70597-a1d0-4023-a207-b4461877c055 + 100 + 2022-08-25 15:00:44.39 + + Cash closing not allowed for user + false + true + 100 + 2022-08-25 15:00:44.39 + 0 + 53736 + es_MX + 0 + + + + + POS.CashOpeningNotAllowed + 1e7a0e6d-da65-4abe-a187-1095ec0c4daa + 100 + 2022-08-25 15:01:06.353 + I + + Cash opening not allowed for user + true + ECA14 + 100 + 2022-08-25 15:01:06.353 + 0 + 53737 + 0 + + + + + 825a495c-ffbd-4870-a737-e47a1b957622 + 100 + 2022-08-25 15:01:07.202 + + Cash opening not allowed for user + false + true + 100 + 2022-08-25 15:01:07.202 + 0 + 53737 + es_MX + 0 + + + + + POS.CashWithdrawalNotAllowed + 525ed138-a1de-4318-bc52-2e9bace059c3 + 100 + 2022-08-25 15:01:33.746 + I + + Cash withdrawall not allowed for user + true + ECA14 + 100 + 2022-08-25 15:01:33.746 + 0 + 53738 + 0 + + + + + 45a00a8c-94c7-49c7-82f7-82895ffcf705 + 100 + 2022-08-25 15:01:34.733 + + Cash withdrawall not allowed for user + false + true + 100 + 2022-08-25 15:01:34.733 + 0 + 53738 + es_MX + 0 + + + + + POS.CollectOrderNotAllowed + 57a36fb9-7751-497c-b57e-4a46524e7e4b + 100 + 2022-08-25 15:02:07.044 + I + + Collect Order not allowed for user + true + ECA14 + 100 + 2022-08-25 15:02:07.044 + 0 + 53739 + 0 + + + + + 64680ba3-783b-49c6-b411-f7a1b0217d4b + 100 + 2022-08-25 15:02:07.91 + + Collect Order not allowed for user + false + true + 100 + 2022-08-25 15:02:07.91 + 0 + 53739 + es_MX + 0 + + + + + Cash Withdrawall not allowed for user + + + + + Cash Opening not allowed for user + + + + + Cash Closing not allowed for user + + + + + Apply Discount not allowed for user + + + + + Allocate Seller not allowed for user + + + + + POS.ConfirmShipmentNotAllowed + 9150ec72-c05b-4408-9e33-a1717cebeb6d + 100 + 2022-08-25 15:02:55.201 + I + + Confirm Shipment not allowed for user + true + ECA14 + 100 + 2022-08-25 15:02:55.201 + 0 + 53740 + 0 + + + + + 11dcfe41-b144-4e2c-a602-cffe472140e1 + 100 + 2022-08-25 15:02:56.16 + + Confirm Shipment not allowed for user + false + true + 100 + 2022-08-25 15:02:56.16 + 0 + 53740 + es_MX + 0 + + + + + POS.ConfirmShipmentByOrder + f125064d-b69f-44af-a758-68bc7b596d64 + 100 + 2022-08-25 15:03:20.089 + I + + Confirm Shipment by Order not allowed for user + true + ECA14 + 100 + 2022-08-25 15:03:20.088 + 0 + 53741 + 0 + + + + + 4fbb2df9-9d22-40d2-801b-075b704cdb7c + 100 + 2022-08-25 15:03:21.199 + + Confirm Shipment by Order not allowed for user + false + true + 100 + 2022-08-25 15:03:21.199 + 0 + 53741 + es_MX + 0 + + + + + POS.CreateCustomerNotAllowed + d5d83a4e-605c-4b41-9e23-fb5d11310e46 + 100 + 2022-08-25 15:03:47.257 + I + + Create Customer not allowed for user + true + ECA14 + 100 + 2022-08-25 15:03:47.257 + 0 + 53742 + 0 + + + + + eec22f65-bca2-4ed5-b293-368c5d88de59 + 100 + 2022-08-25 15:03:48.162 + + Create Customer not allowed for user + false + true + 100 + 2022-08-25 15:03:48.162 + 0 + 53742 + es_MX + 0 + + + + + POS.ConfirmShipmentByOrderNotAllowed + + + + + POS.CreateOrderNotAllowed + b5716cd5-bf3d-42fc-b184-f8865880f85d + 100 + 2022-08-25 15:04:15.895 + I + + Create Order not allowed for user + true + ECA14 + 100 + 2022-08-25 15:04:15.895 + 0 + 53743 + 0 + + + + + 2e598884-d828-407d-a8b1-d8e4e0a6f0eb + 100 + 2022-08-25 15:04:16.857 + + Create Order not allowed for user + false + true + 100 + 2022-08-25 15:04:16.857 + 0 + 53743 + es_MX + 0 + + + + + POS.ModifyDiscountAllowed + 64989f39-a473-4963-a1d1-2c7676650730 + 100 + 2022-08-25 15:04:38.851 + I + + Modify Discount not allowed for user + true + ECA14 + 100 + 2022-08-25 15:04:38.851 + 0 + 53744 + 0 + + + + + eee327d3-790f-46fb-9735-89860829a1d9 + 100 + 2022-08-25 15:04:39.806 + + Modify Discount not allowed for user + false + true + 100 + 2022-08-25 15:04:39.806 + 0 + 53744 + es_MX + 0 + + + + + POS.ModifyQuantityNotAllowed + bfe690f8-cd35-4022-9165-5a768a2c815a + 100 + 2022-08-25 15:05:05.769 + I + + Modify Quantity not allowed for user + true + ECA14 + 100 + 2022-08-25 15:05:05.769 + 0 + 53745 + 0 + + + + + 165f3697-4c91-4bf1-b347-39a668bae24f + 100 + 2022-08-25 15:05:06.944 + + Modify Quantity not allowed for user + false + true + 100 + 2022-08-25 15:05:06.944 + 0 + 53745 + es_MX + 0 + + + + + POS.PreviewDocumentNotAllowed + 741da6ba-cf48-4579-a688-c92b70714454 + 100 + 2022-08-25 15:05:30.081 + I + + Preview Document not allowed for user + true + ECA14 + 100 + 2022-08-25 15:05:30.081 + 0 + 53746 + 0 + + + + + 93f1eedb-568b-4efa-8443-7fd2dd7cfece + 100 + 2022-08-25 15:05:31.015 + + Preview Document not allowed for user + false + true + 100 + 2022-08-25 15:05:31.015 + 0 + 53746 + es_MX + 0 + + + + + POS.PrintDocumentNotAllowed + 9882736e-d760-444c-a0be-1c9dc884b5c7 + 100 + 2022-08-25 15:06:14.26 + I + + Print Document not allowed for user + true + ECA14 + 100 + 2022-08-25 15:06:14.26 + 0 + 53747 + 0 + + + + + ed5b60c6-5422-496e-9da3-f436f0a7036b + 100 + 2022-08-25 15:06:15.302 + + Print Document not allowed for user + false + true + 100 + 2022-08-25 15:06:15.302 + 0 + 53747 + es_MX + 0 + + + + + POS.ReturnOrderNotAllowed + 463193b8-347b-4b5b-a29e-77cef2c967f8 + 100 + 2022-08-25 15:06:45.868 + I + + Return Order not allowed for user + true + ECA14 + 100 + 2022-08-25 15:06:45.868 + 0 + 53748 + 0 + + + + + 3a13bad8-133a-4d1b-97ea-dfc1a7f70816 + 100 + 2022-08-25 15:06:46.911 + + Return Order not allowed for user + false + true + 100 + 2022-08-25 15:06:46.911 + 0 + 53748 + es_MX + 0 + + + + + POS.ModifyPriceNotAllowed + 0361e91d-09c0-4de9-850d-81b457c3163d + 100 + 2022-08-25 15:07:12.025 + I + + Modify Price not allowed for user + true + ECA14 + 100 + 2022-08-25 15:07:12.025 + 0 + 53749 + 0 + + + + + 55c70387-6082-44da-af06-29446bf2c1cd + 100 + 2022-08-25 15:07:12.988 + + Modify Price not allowed for user + false + true + 100 + 2022-08-25 15:07:12.988 + 0 + 53749 + es_MX + 0 + + + + + POS.RefundAmtToleranceExceeded + 50df9231-b991-453f-b01a-e57684e433df + 100 + 2022-08-25 15:08:37.027 + I + + Refund Amount Exceeded + true + ECA14 + 100 + 2022-08-25 15:08:37.027 + 0 + 53750 + 0 + + + + + c65e4a54-f62c-4327-8162-46a2d4d413be + 100 + 2022-08-25 15:08:38.205 + + Refund Amount Exceeded + false + true + 100 + 2022-08-25 15:08:38.205 + 0 + 53750 + es_MX + 0 + + + + + POS.DiscountAmtToleranceExceeded + cd67951e-f7ce-4058-82b4-a23d08fc75c6 + 100 + 2022-08-25 15:08:57.629 + I + + Discount Amount Exceeded + true + ECA14 + 100 + 2022-08-25 15:08:57.629 + 0 + 53751 + 0 + + + + + 0645396d-2167-4a50-8afd-ff26aefba2b1 + 100 + 2022-08-25 15:08:58.783 + + Discount Amount Exceeded + false + true + 100 + 2022-08-25 15:08:58.783 + 0 + 53751 + es_MX + 0 + + + + + Monto de Reembolso Excedido, por favor ajuste el documento con un monto menor + 53750 + es_MX + + + + + Monto de Descuento Excedido, por favor ajuste el documento con un monto menor + 53751 + es_MX + + + + + No está permitido Asignar Vendedor para su usuario + 53734 + es_MX + + + + + No está permitido "Aplicar Descuento" para su usuario + 53735 + es_MX + + + + + No está permitido "Asignar Vendedor" para su usuario + 53734 + es_MX + + + + + No está permitido "Cerrar Caja" para su usuario + 53736 + es_MX + + + + + No está permitido "Apertura de Caja" para su usuario + 53737 + es_MX + + + + + No está permitido "Retiro de Caja" para su usuario + 53738 + es_MX + + + + + No está permitido "Cobrar Orden de Venta" para su usuario + 53739 + es_MX + + + + + No está permitido "Confirmar Entrega" para su usuario + 53740 + es_MX + + + + + No está permitido "Confirmar Entrega Completa" para su usuario + 53741 + es_MX + + + + + No está permitido "Crear Cliente" para su usuario + 53742 + es_MX + + + + + No está permitido "Crear Orden de Venta" para su usuario + 53743 + es_MX + + + + + No está permitido "Modificar Descuento" para su usuario + 53744 + es_MX + + + + + No está permitido "Modificar Cantidades" para su usuario + 53745 + es_MX + + + + + No está permitido "Vista Previa de Documento" para su usuario + 53746 + es_MX + + + + + No está permitido "Imprimir Documento" para su usuario + 53747 + es_MX + + + + + No está permitido "Devolución de Orden" para su usuario + 53748 + es_MX + + + + + No está permitido "Modificar Precio" para su usuario + 53749 + es_MX + + + + diff --git a/pos/xml/migration/09850_ECA14_Add_Bank_Account_Reference.xml b/pos/xml/migration/09850_ECA14_Add_Bank_Account_Reference.xml new file mode 100644 index 0000000000..2fb69450e5 --- /dev/null +++ b/pos/xml/migration/09850_ECA14_Add_Bank_Account_Reference.xml @@ -0,0 +1,266 @@ + + + + + + dd37db6e-fec7-4519-8328-f9467bb80964 + 100 + 2022-08-30 15:32:52.221 + Reference Bank Account + + + + + Reference Bank Account + true + + 10 + ECA14 + Reference Bank Account for Deposit or withdrawal + 100 + 2022-08-30 15:32:52.221 + POSReferenceBankAccount_ID + 53283 + 18 + 0 + 62056 + 0 + + + + + bac9c646-fc9d-48f6-8daf-1d26bfb8bd41 + 100 + 2022-08-30 15:32:54.701 + Reference Bank Account + + + + + Reference Bank Account + false + true + + Reference Bank Account for Deposit or withdrawal + 100 + 2022-08-30 15:32:54.701 + 0 + es_MX + 62056 + 0 + + + + + Refencia de Cuenta Bancaria + Refencia de Cuenta Bancaria + Refencia de Cuenta Bancaria para depósito o retiro + es_MX + 62056 + + + + + + 0 + + + 609c0b2e-37f2-4b58-9d62-8b0704a34175 + 100 + 2022-08-30 15:33:50.506 + 0 + true + + + Reference Bank Account + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Reference Bank Account for Deposit or withdrawal + + 100 + 2022-08-30 15:33:50.506 + + POSReferenceBankAccount_ID + + + 335 + 53283 + 18 + + 0 + + 62056 + 100069 + 0 + + + + + + 29d1be4b-dccc-4d9e-a571-48ce4abbf73d + 100 + 2022-08-30 15:33:51.897 + Reference Bank Account + false + true + 100 + 2022-08-30 15:33:51.897 + 0 + es_MX + 100069 + 0 + + + + + 4e3c7193-58b3-43ab-8f50-de01f50c5c5a + 100 + 2022-08-30 15:34:52.512 + 0 + 810 + 810 + 0 + + Reference Bank Account + false + true + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Reference Bank Account for Deposit or withdrawal + + 100 + 2022-08-30 15:34:52.512 + + 330 + + + 0 + + 102247 + + + + 100069 + 0 + + + + + 1c80a604-898c-488b-9541-9efa3e4495b5 + 100 + 2022-08-30 15:34:53.698 + Reference Bank Account + false + true + + Reference Bank Account for Deposit or withdrawal + 100 + 2022-08-30 15:34:53.698 + 0 + es_MX + 102247 + 0 + + + + + dbc4118a-bf06-4013-84f6-afd9d4726cf8 + 100 + 2022-08-30 15:35:14.502 + 0 + 790 + 790 + 0 + + Reference Bank Account + false + true + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Reference Bank Account for Deposit or withdrawal + + 100 + 2022-08-30 15:35:14.501 + + 54419 + + + 0 + + 102248 + + + + 100069 + 0 + + + + + 4ff3e7e7-457b-43b2-8ce4-f765ad8151c7 + 100 + 2022-08-30 15:35:15.453 + Reference Bank Account + false + true + + Reference Bank Account for Deposit or withdrawal + 100 + 2022-08-30 15:35:15.453 + 0 + es_MX + 102248 + 0 + + + + diff --git a/pos/xml/migration/09860_ECA14_Add_Cash_Allocation_tab.xml b/pos/xml/migration/09860_ECA14_Add_Cash_Allocation_tab.xml new file mode 100644 index 0000000000..7f5cd14af5 --- /dev/null +++ b/pos/xml/migration/09860_ECA14_Add_Cash_Allocation_tab.xml @@ -0,0 +1,3323 @@ + + + + + + adf7a9fd-edf0-4c8e-988c-6f96a730edf8 + 100 + 2022-08-30 20:19:39.802 + Deposit Document Type + + + + + Deposit Document Type + true + + 10 + ECA14 + Deposit Document Type for Cash or bank + 100 + 2022-08-30 20:19:39.801 + POSDepositDocumentType_ID + 170 + 18 + 0 + 62057 + 0 + + + + + e03a37cd-996f-46ac-a1ba-5bfc085935de + 100 + 2022-08-30 20:19:40.789 + Deposit Document Type + + + + + Deposit Document Type + false + true + + Deposit Document Type for Cash or bank + 100 + 2022-08-30 20:19:40.789 + 0 + es_MX + 62057 + 0 + + + + + Tipo de Documento de Ingreso + Tipo de Documento de Ingreso + Tipo de Documento de Ingreso de Caja + es_MX + 62057 + + + + + + 0 + + + 3c4a8ece-ecc9-4453-83af-2ad7ff540f72 + 100 + 2022-08-30 20:20:58.798 + 0 + true + + + Deposit Document Type + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Deposit Document Type for Cash or bank + + 100 + 2022-08-30 20:20:58.797 + + POSDepositDocumentType_ID + + + 748 + 170 + 18 + + 0 + + 62057 + 100070 + 0 + + + + + + a182bd04-e902-4f9b-baab-3c0a0cce00f6 + 100 + 2022-08-30 20:21:00.316 + Deposit Document Type + false + true + 100 + 2022-08-30 20:21:00.316 + 0 + es_MX + 100070 + 0 + + + + + 52458 + + + + + -1 + + + + + 8f4ce324-6abf-44f3-9a1c-18c603ec2fa1 + 100 + 2022-08-30 20:23:12.02 + C_POSCashAllocation + true + L + + + POS Cash Allocation + 0 + false + false + false + false + false + true + false + true + true + + + ECA14 + Cash allocated for POS terminal + 100 + 2022-08-30 20:23:12.02 + + 338 + + 54903 + 0 + + 0 + 0 + 2 + + + + + aba8666c-4d9a-442a-975c-dde4e396b897 + 100 + 2022-08-30 20:23:12.942 + POS Cash Allocation + false + true + 100 + 2022-08-30 20:23:12.942 + 54903 + 0 + es_MX + 0 + + + + + d276af6b-87a4-4ba3-8ee1-d986ff604cc5 + 100 + 2022-08-30 20:23:13.158 + POS Cash Allocation + + + + + POS Cash Allocation + true + + + ECA14 + + 100 + 2022-08-30 20:23:13.158 + C_POSCashAllocation_ID + + + 0 + 62058 + 0 + + + + + b2d7328b-9684-4712-b6ef-8356ae138a0a + 100 + 2022-08-30 20:23:14.084 + POS Cash Allocation + + + + + POS Cash Allocation + false + true + + + 100 + 2022-08-30 20:23:14.084 + 0 + es_MX + 62058 + 0 + + + + + + 1 + + + 514a8a64-b519-4e3a-b0b3-c31f91de884b + 100 + 2022-08-30 20:23:14.213 + + true + + + POS Cash Allocation + + false + false + + false + false + false + true + true + false + N + false + false + true + false + true + + + + 10 + ECA14 + + + 100 + 2022-08-30 20:23:14.213 + + C_POSCashAllocation_ID + + + 54903 + + 13 + + 0 + + 62058 + 100071 + 0 + + + + + + 5646a2fa-1405-44fa-a461-0f17b7cca9d1 + 100 + 2022-08-30 20:23:15.462 + POS Cash Allocation + false + true + 100 + 2022-08-30 20:23:15.462 + 0 + es_MX + 100071 + 0 + + + + + + 1 + + + ceca9445-da5f-4c15-82da-e7314a4acc41 + 100 + 2022-08-30 20:23:15.573 + + true + + + Client + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + 10 + ECA14 + Client/Tenant for this installation. + @#AD_Client_ID@ + 100 + 2022-08-30 20:23:15.573 + + AD_Client_ID + + 129 + 54903 + + 19 + + 0 + + 102 + 100072 + 0 + + + + + + 24984f41-084f-4e0e-be23-f8acb6d0e331 + 100 + 2022-08-30 20:23:16.534 + Client + false + true + 100 + 2022-08-30 20:23:16.534 + 0 + es_MX + 100072 + 0 + + + + + + 1 + + + ce8a9f17-3247-4860-b17c-74f02f5bc29c + 100 + 2022-08-30 20:23:16.611 + + true + + + Organization + + true + false + + false + false + false + true + false + false + N + false + false + true + true + true + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + 10 + ECA14 + Organizational entity within client + @#AD_Org_ID@ + 100 + 2022-08-30 20:23:16.611 + + AD_Org_ID + + 104 + 54903 + + 19 + + 0 + + 113 + 100073 + 0 + + + + + + b8711b6e-b9ee-480f-b506-4a20bb5eee90 + 100 + 2022-08-30 20:23:17.931 + Organization + false + true + 100 + 2022-08-30 20:23:17.931 + 0 + es_MX + 100073 + 0 + + + + + + 1 + + + f57308ce-3501-4396-b373-d02aa245712c + 100 + 2022-08-30 20:23:18.009 + + true + + + Active + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + 1 + ECA14 + The record is active in the system + Y + 100 + 2022-08-30 20:23:18.009 + + IsActive + + + 54903 + + 20 + + 0 + + 348 + 100074 + 0 + + + + + + 73222c14-de58-4d3f-b028-2b79d972eadf + 100 + 2022-08-30 20:23:19.139 + Active + false + true + 100 + 2022-08-30 20:23:19.139 + 0 + es_MX + 100074 + 0 + + + + + + 1 + + + 82eb7998-7678-4e9d-9a48-0b0fe6f84e26 + 100 + 2022-08-30 20:23:19.238 + + true + + + Created + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Created field indicates the date that this record was created. + + 0 + ECA14 + Date this record was created + + 100 + 2022-08-30 20:23:19.238 + + Created + + + 54903 + + 16 + + 0 + + 245 + 100075 + 0 + + + + + + c1dbaa56-b169-4856-88f8-ee6b49092797 + 100 + 2022-08-30 20:23:20.388 + Created + false + true + 100 + 2022-08-30 20:23:20.388 + 0 + es_MX + 100075 + 0 + + + + + + 1 + + + 7ac951a3-06da-4219-83b3-8b6bdf2f0d57 + 100 + 2022-08-30 20:23:20.47 + + true + + + Updated + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Updated field indicates the date that this record was updated. + + 0 + ECA14 + Date this record was updated + + 100 + 2022-08-30 20:23:20.469 + + Updated + + + 54903 + + 16 + + 0 + + 607 + 100076 + 0 + + + + + + f3b94bae-9070-4849-9124-40940a5ce4f3 + 100 + 2022-08-30 20:23:21.45 + Updated + false + true + 100 + 2022-08-30 20:23:21.45 + 0 + es_MX + 100076 + 0 + + + + + + 1 + + + 477038fd-a6a0-4f1e-883e-7bcc4ff684ef + 100 + 2022-08-30 20:23:21.563 + + true + + + Created By + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Created By field indicates the user who created this record. + + 10 + ECA14 + User who created this records + + 100 + 2022-08-30 20:23:21.563 + + CreatedBy + + + 54903 + 110 + 18 + + 0 + + 246 + 100077 + 0 + + + + + + 4891d440-3b04-4ed1-840c-573e6da8c918 + 100 + 2022-08-30 20:23:22.867 + Created By + false + true + 100 + 2022-08-30 20:23:22.867 + 0 + es_MX + 100077 + 0 + + + + + + 1 + + + 4ecc6807-da09-40c9-821e-934173de9dfd + 100 + 2022-08-30 20:23:22.945 + + true + + + Updated By + + true + false + + false + false + false + true + false + false + N + false + false + true + false + true + + The Updated By field indicates the user who updated this record. + + 10 + ECA14 + User who updated this records + + 100 + 2022-08-30 20:23:22.945 + + UpdatedBy + + + 54903 + 110 + 18 + + 0 + + 608 + 100078 + 0 + + + + + + 52ee2dea-7f13-4425-b7de-5efd3aece550 + 100 + 2022-08-30 20:23:24.166 + Updated By + false + true + 100 + 2022-08-30 20:23:24.166 + 0 + es_MX + 100078 + 0 + + + + + + 1 + + + cabddf87-a43e-4e09-956b-4fd83f7fe9cb + 100 + 2022-08-30 20:23:24.251 + + true + + + Immutable Universally Unique Identifier + + true + false + + false + false + false + false + false + false + N + false + false + true + false + true + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + 36 + ECA14 + Immutable Universally Unique Identifier + + 100 + 2022-08-30 20:23:24.251 + + UUID + + + 54903 + + 10 + + 0 + + 59595 + 100079 + 0 + + + + + + 86f3b7e5-b589-448b-9fa2-52b443948a8d + 100 + 2022-08-30 20:23:25.323 + Immutable Universally Unique Identifier + false + true + 100 + 2022-08-30 20:23:25.323 + 0 + es_MX + 100079 + 0 + + + + + + ad972b23-834a-4ed9-8419-2f6d657e3bfa + 100 + 2022-08-30 20:23:25.422 + + 1000000 + false + + C_POSCashAllocation + true + true + false + true + 1 + Table C_POSCashAllocation + + + 50000 + 1000000 + 100 + 2022-08-30 20:23:25.422 + 55425 + 0 + 0 + + + + + Asignación de Cajas + 54903 + es_MX + + + + + 10 + 19 + + + + + Asignación de Caja + Asignación de Caja + Asignación de Caja en el Punto de Ventas + es_MX + 62058 + + + + + + 0 + + + 4d73777d-7c06-4ba5-ac82-0e9ec8c03f19 + 100 + 2022-08-30 20:24:55.041 + 1 + true + + + POS Terminal + + true + false + N + true + false + false + true + false + true + N + false + false + true + true + true + + The POS Terminal defines the defaults and functions available for the POS Form + + 10 + ECA14 + Point of Sales Terminal + + 100 + 2022-08-30 20:24:55.041 + + C_POS_ID + + + 54903 + + 19 + + 0 + + 2581 + 100080 + 0 + + + + + + 371bf2ad-7514-4432-a41d-08e2c2b53109 + 100 + 2022-08-30 20:24:56.13 + POS Terminal + false + true + 100 + 2022-08-30 20:24:56.13 + 0 + es_MX + 100080 + 0 + + + + + + 0 + + + 6ee8636b-751b-4807-9c33-786b8dc1f405 + 100 + 2022-08-30 20:25:17.919 + 0 + true + + + POS Required PIN + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 1 + ECA14 + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + N + 100 + 2022-08-30 20:25:17.918 + + IsPOSRequiredPIN + + + 54903 + + 20 + + 0 + + 58376 + 100081 + 0 + + + + + + 88852445-7b37-4c23-9e23-162187d1bbcb + 100 + 2022-08-30 20:25:18.78 + POS Required PIN + false + true + 100 + 2022-08-30 20:25:18.78 + 0 + es_MX + 100081 + 0 + + + + + + 0 + + + 8d027e73-74e2-4800-989b-64dc41957a63 + 100 + 2022-08-30 20:25:55.486 + 2 + true + + + Bank Account + + true + false + N + true + false + false + true + false + true + N + false + false + true + true + true + + The Bank Account identifies an account at this Bank. + + 10 + ECA14 + Account at the Bank + -1 + 100 + 2022-08-30 20:25:55.486 + + C_BankAccount_ID + + + 54903 + + 19 + + 0 + + 836 + 100082 + 0 + + + + + + 9939dc99-c875-46bf-8a19-fe83f0f1a30e + 100 + 2022-08-30 20:25:57.127 + Bank Account + false + true + 100 + 2022-08-30 20:25:57.127 + 0 + es_MX + 100082 + 0 + + + + + + 0 + + + b7662e11-076b-4642-9f4a-80302e9d33a7 + 100 + 2022-08-30 20:26:52.113 + 0 + true + + + Sequence + + true + false + N + false + false + false + false + false + false + N + false + false + true + false + true + + The Sequence indicates the order of records + + 10 + ECA14 + Method of ordering records; lowest number comes first + @SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM C_POSCashAllocation WHERE C_POS_ID=@C_POS_ID@ + 100 + 2022-08-30 20:26:52.113 + + SeqNo + + + 54903 + + 11 + + 0 + + 566 + 100083 + 0 + + + + + + 15d115ef-43d4-4fb8-b454-3cbe67fe32e9 + 100 + 2022-08-30 20:26:53.695 + Sequence + false + true + 100 + 2022-08-30 20:26:53.695 + 0 + es_MX + 100083 + 0 + + + + + + 57748125-9e46-4ba4-a017-0c732dbd5f1f + 100 + 2022-08-30 20:27:31.478 + 1 + 90 + + false + + + Cash Allocation + false + false + false + false + true + false + false + true + + N + Allocated Cash for POS + false + ECA14 + + Cash Allocation for POS + 100 + 2022-08-30 20:27:31.478 + + 338 + 54847 + 55151 + + 0 + + + + + + 0 + + + + + ba97833b-62b9-4bf3-a7e3-328d1702fe3a + 100 + 2022-08-30 20:27:32.848 + Cash Allocation + false + true + Allocated Cash for POS + Cash Allocation for POS + 100 + 2022-08-30 20:27:32.848 + + 55151 + 0 + es_MX + 0 + + + + + Asignación de Cajas + Asignación de Cajas para el PDV + 55151 + es_MX + + + + + Permite asignar los cajas disponibles para seleccionar en el Punto de Venta + 55151 + es_MX + + + + + 2d127f37-5a9f-4fb4-b8ef-6f458c3528e5 + 100 + 2022-08-30 20:28:24.92 + + 0 + 0 + + + Active + false + false + false + + false + false + false + false + true + true + true + false + true + + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + ECA14 + + 1 + The record is active in the system + + 100 + 2022-08-30 20:28:24.92 + + 55151 + + + 0 + + 102249 + + + + 98970 + 0 + + + + + 748745a9-84db-4be2-a3c6-2d884a86f42d + 100 + 2022-08-30 20:28:25.892 + Active + false + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + The record is active in the system + 100 + 2022-08-30 20:28:25.892 + 0 + es_MX + 102249 + 0 + + + + + 7d65b689-5710-45c4-9d30-6cd2b5cdbad4 + 100 + 2022-08-30 20:28:26.01 + + 0 + 0 + + + Client + false + false + false + + false + false + false + false + true + true + true + false + true + + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + ECA14 + + 10 + Client/Tenant for this installation. + + 100 + 2022-08-30 20:28:26.01 + + 55151 + + + 0 + + 102250 + + + + 98968 + 0 + + + + + c0f9e0af-0374-47de-bd96-39d8718a477b + 100 + 2022-08-30 20:28:27.296 + Client + false + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + Client/Tenant for this installation. + 100 + 2022-08-30 20:28:27.296 + 0 + es_MX + 102250 + 0 + + + + + c592b812-e5c1-4c6d-be5e-c906af8ad95c + 100 + 2022-08-30 20:28:27.385 + + 0 + 0 + + + Immutable Universally Unique Identifier + false + false + false + + false + false + false + false + true + false + true + false + true + + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + ECA14 + + 36 + Immutable Universally Unique Identifier + + 100 + 2022-08-30 20:28:27.385 + + 55151 + + + 0 + + 102251 + + + + 98975 + 0 + + + + + e197615d-12c4-4e19-a592-3e5e11999d3d + 100 + 2022-08-30 20:28:28.6 + Immutable Universally Unique Identifier + false + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + Immutable Universally Unique Identifier + 100 + 2022-08-30 20:28:28.6 + 0 + es_MX + 102251 + 0 + + + + + be4736da-55a1-4861-a8c2-6e3683d4cb86 + 100 + 2022-08-30 20:28:28.678 + + 0 + 0 + + + Organization + false + false + false + + false + false + false + false + true + true + true + true + true + + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + ECA14 + + 10 + Organizational entity within client + + 100 + 2022-08-30 20:28:28.678 + + 55151 + + + 0 + + 102252 + + + + 98969 + 0 + + + + + 98f4a16f-abc3-4d7f-9fc0-af05cd3297cd + 100 + 2022-08-30 20:28:29.629 + Organization + false + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + Organizational entity within client + 100 + 2022-08-30 20:28:29.629 + 0 + es_MX + 102252 + 0 + + + + + 640a3137-acb6-4d92-98aa-e99a9db6d51b + 100 + 2022-08-30 20:28:29.703 + + 0 + 0 + + + POS Required PIN + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 1 + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + + 100 + 2022-08-30 20:28:29.703 + + 55151 + + + 0 + + 102253 + + + + 99039 + 0 + + + + + c960032c-dd45-4fc3-ac74-61aa7ae893ec + 100 + 2022-08-30 20:28:30.801 + POS Required PIN + false + true + + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + 100 + 2022-08-30 20:28:30.801 + 0 + es_MX + 102253 + 0 + + + + + d99f7a8a-7030-460d-b1e0-2e3c0418055b + 100 + 2022-08-30 20:28:30.909 + + 0 + 0 + + + POS Terminal + false + false + false + + false + false + false + false + true + true + true + true + true + + + The POS Terminal defines the defaults and functions available for the POS Form + ECA14 + + 10 + Point of Sales Terminal + + 100 + 2022-08-30 20:28:30.909 + + 55151 + + + 0 + + 102254 + + + + 98976 + 0 + + + + + cdc20dc1-9d7a-4a3f-9710-a1e8205a23a8 + 100 + 2022-08-30 20:28:32.185 + POS Terminal + false + true + The POS Terminal defines the defaults and functions available for the POS Form + Point of Sales Terminal + 100 + 2022-08-30 20:28:32.185 + 0 + es_MX + 102254 + 0 + + + + + 8ef5155d-6a57-4fca-a082-fe3c462e500f + 100 + 2022-08-30 20:28:32.27 + + 0 + 0 + + + POS Warehouse Allocation + false + false + false + + false + false + false + false + true + false + true + false + true + + + + ECA14 + + 10 + All Allocated Warehouses for POS + + 100 + 2022-08-30 20:28:32.27 + + 55151 + + + 0 + + 102255 + + + + 98967 + 0 + + + + + 62f72c2c-5642-469c-9c3e-bfe51ab420b9 + 100 + 2022-08-30 20:28:33.237 + POS Warehouse Allocation + false + true + + All Allocated Warehouses for POS + 100 + 2022-08-30 20:28:33.237 + 0 + es_MX + 102255 + 0 + + + + + adeaa1e8-0e35-48e0-a5d3-e02ec8c96366 + 100 + 2022-08-30 20:28:33.34 + + 0 + 0 + + + Sequence + false + false + false + + false + false + false + false + true + true + true + false + true + + + The Sequence indicates the order of records + ECA14 + + 10 + Method of ordering records; lowest number comes first + + 100 + 2022-08-30 20:28:33.34 + + 55151 + + + 0 + + 102256 + + + + 99443 + 0 + + + + + 0fcfb15f-9d73-4423-85b0-bccfd6fa6d0c + 100 + 2022-08-30 20:28:34.491 + Sequence + false + true + The Sequence indicates the order of records + Method of ordering records; lowest number comes first + 100 + 2022-08-30 20:28:34.491 + 0 + es_MX + 102256 + 0 + + + + + a4b15c40-735a-4e2c-a5fd-585cccffbdc4 + 100 + 2022-08-30 20:28:34.657 + + 0 + 0 + + + Warehouse + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Warehouse identifies a unique Warehouse where products are stored or Services are provided. + ECA14 + + 10 + Storage Warehouse and Service Point + + 100 + 2022-08-30 20:28:34.657 + + 55151 + + + 0 + + 102257 + + + + 98977 + 0 + + + + + 46d01763-2f93-40df-9b81-35357ce27f04 + 100 + 2022-08-30 20:28:35.793 + Warehouse + false + true + The Warehouse identifies a unique Warehouse where products are stored or Services are provided. + Storage Warehouse and Service Point + 100 + 2022-08-30 20:28:35.793 + 0 + es_MX + 102257 + 0 + + + + + 98976 + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 80 + true + + + + + 90 + true + + + + + + + + + + + + + + + + es_MX + 102249 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + es_MX + 102250 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + es_MX + 102252 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + es_MX + 102253 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + es_MX + 102254 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + es_MX + 102256 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + es_MX + 102257 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + es_MX + 102251 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + es_MX + 102255 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 54903 + + + + + + 0d64d449-15c2-404d-8331-a7a64420633f + 100 + 2022-08-30 20:30:09.267 + + 0 + 0 + + + Active + false + false + false + + false + false + false + false + true + true + true + false + true + + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + ECA14 + + 1 + The record is active in the system + + 100 + 2022-08-30 20:30:09.267 + + 55151 + + + 0 + + 102258 + + + + 100074 + 0 + + + + + b083bc5e-f949-4a24-b913-9b87b48c79c3 + 100 + 2022-08-30 20:30:10.301 + Active + false + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + The record is active in the system + 100 + 2022-08-30 20:30:10.301 + 0 + es_MX + 102258 + 0 + + + + + a9e63a14-5ece-47cf-b61e-b7e41817cd9b + 100 + 2022-08-30 20:30:10.406 + + 0 + 0 + + + Bank Account + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Bank Account identifies an account at this Bank. + ECA14 + + 10 + Account at the Bank + + 100 + 2022-08-30 20:30:10.406 + + 55151 + + + 0 + + 102259 + + + + 100082 + 0 + + + + + 9ab9e260-dbcd-42e8-be12-2a4107033648 + 100 + 2022-08-30 20:30:11.831 + Bank Account + false + true + The Bank Account identifies an account at this Bank. + Account at the Bank + 100 + 2022-08-30 20:30:11.831 + 0 + es_MX + 102259 + 0 + + + + + f8d4c465-e8c6-419d-b0b4-47d408b32bfa + 100 + 2022-08-30 20:30:11.967 + + 0 + 0 + + + Client + false + false + false + + false + false + false + false + true + true + true + false + true + + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + ECA14 + + 10 + Client/Tenant for this installation. + + 100 + 2022-08-30 20:30:11.967 + + 55151 + + + 0 + + 102260 + + + + 100072 + 0 + + + + + 888d4918-6b80-4ec0-a01d-770cd42dec6e + 100 + 2022-08-30 20:30:13.19 + Client + false + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + Client/Tenant for this installation. + 100 + 2022-08-30 20:30:13.19 + 0 + es_MX + 102260 + 0 + + + + + af714f19-88e1-4ef7-acb3-cdbbba791c98 + 100 + 2022-08-30 20:30:13.267 + + 0 + 0 + + + Immutable Universally Unique Identifier + false + false + false + + false + false + false + false + true + false + true + false + true + + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + ECA14 + + 36 + Immutable Universally Unique Identifier + + 100 + 2022-08-30 20:30:13.267 + + 55151 + + + 0 + + 102261 + + + + 100079 + 0 + + + + + 55eeb37c-b67c-4de3-905f-5044fbe7ef7d + 100 + 2022-08-30 20:30:14.576 + Immutable Universally Unique Identifier + false + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + Immutable Universally Unique Identifier + 100 + 2022-08-30 20:30:14.576 + 0 + es_MX + 102261 + 0 + + + + + 727ec3ba-9b84-4900-a224-3d31b214169e + 100 + 2022-08-30 20:30:14.663 + + 0 + 0 + + + Organization + false + false + false + + false + false + false + false + true + true + true + true + true + + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + ECA14 + + 10 + Organizational entity within client + + 100 + 2022-08-30 20:30:14.663 + + 55151 + + + 0 + + 102262 + + + + 100073 + 0 + + + + + bbfc4feb-f706-4407-bb0f-d5d6d974e953 + 100 + 2022-08-30 20:30:15.968 + Organization + false + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + Organizational entity within client + 100 + 2022-08-30 20:30:15.968 + 0 + es_MX + 102262 + 0 + + + + + ca932a35-2506-4b61-813a-5944c68e413b + 100 + 2022-08-30 20:30:16.128 + + 0 + 0 + + + POS Cash Allocation + false + false + false + + false + false + false + false + true + false + true + false + true + + + + ECA14 + + 10 + + + 100 + 2022-08-30 20:30:16.128 + + 55151 + + + 0 + + 102263 + + + + 100071 + 0 + + + + + 08c2e64b-a99c-45cd-89b2-00f7399cbff9 + 100 + 2022-08-30 20:30:17.279 + POS Cash Allocation + false + true + + + 100 + 2022-08-30 20:30:17.279 + 0 + es_MX + 102263 + 0 + + + + + 44fccd84-9753-456a-a461-b8927679265f + 100 + 2022-08-30 20:30:17.371 + + 0 + 0 + + + POS Required PIN + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 1 + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + + 100 + 2022-08-30 20:30:17.371 + + 55151 + + + 0 + + 102264 + + + + 100081 + 0 + + + + + 6f04f622-2000-4951-8c65-fea2695e5a01 + 100 + 2022-08-30 20:30:18.675 + POS Required PIN + false + true + + Indicates that a Supervisor Pin is mandatory to execute some tasks e.g. (Change Price , Offer Discount , Delete POS Line) + 100 + 2022-08-30 20:30:18.675 + 0 + es_MX + 102264 + 0 + + + + + 0a073d1f-24e6-4aeb-9b13-4328ccc2e0ef + 100 + 2022-08-30 20:30:18.771 + + 0 + 0 + + + POS Terminal + false + false + false + + false + false + false + false + true + true + true + true + true + + + The POS Terminal defines the defaults and functions available for the POS Form + ECA14 + + 10 + Point of Sales Terminal + + 100 + 2022-08-30 20:30:18.771 + + 55151 + + + 0 + + 102265 + + + + 100080 + 0 + + + + + 7f9ba6d9-9ddd-4f1f-a004-48b3272e999c + 100 + 2022-08-30 20:30:19.851 + POS Terminal + false + true + The POS Terminal defines the defaults and functions available for the POS Form + Point of Sales Terminal + 100 + 2022-08-30 20:30:19.851 + 0 + es_MX + 102265 + 0 + + + + + 6e7da9ce-0ea2-411b-ab85-ca07351dfe20 + 100 + 2022-08-30 20:30:19.93 + + 0 + 0 + + + Sequence + false + false + false + + false + false + false + false + true + true + true + false + true + + + The Sequence indicates the order of records + ECA14 + + 10 + Method of ordering records; lowest number comes first + + 100 + 2022-08-30 20:30:19.93 + + 55151 + + + 0 + + 102266 + + + + 100083 + 0 + + + + + 1ec60100-0317-46fc-8562-69d8dc36226c + 100 + 2022-08-30 20:30:21.1 + Sequence + false + true + The Sequence indicates the order of records + Method of ordering records; lowest number comes first + 100 + 2022-08-30 20:30:21.1 + 0 + es_MX + 102266 + 0 + + + + + 100080 + + + + + 70 + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 180 + + + + + 190 + + + + + 70 + + + + + 80 + + + + + 230 + + + + + 260 + + + + + 270 + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + true + + + + + true + + + + + true + + + + diff --git a/pos/xml/migration/09870_ECA14_Add_Default_Deposit_Document_Type.xml b/pos/xml/migration/09870_ECA14_Add_Default_Deposit_Document_Type.xml new file mode 100644 index 0000000000..a5eea0a231 --- /dev/null +++ b/pos/xml/migration/09870_ECA14_Add_Default_Deposit_Document_Type.xml @@ -0,0 +1,71 @@ + + + + + + f856121f-1e9b-4b81-aa44-5e549e7de66e + 100 + 2022-08-30 21:43:18.291 + 0 + 630 + 630 + 0 + + Deposit Document Type + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Deposit Document Type for Cash or bank + + 100 + 2022-08-30 21:43:18.29 + + 676 + + + 0 + + 102267 + + + + 100070 + 0 + + + + + dda5c35f-a09b-4811-bc85-1588c6d395c2 + 100 + 2022-08-30 21:43:20.514 + Deposit Document Type + false + true + + Deposit Document Type for Cash or bank + 100 + 2022-08-30 21:43:20.514 + 0 + es_MX + 102267 + 0 + + + + diff --git a/pos/xml/migration/09880_ECA14_Add_Flag_for_keep_payment_reference_after_process.xml b/pos/xml/migration/09880_ECA14_Add_Flag_for_keep_payment_reference_after_process.xml new file mode 100644 index 0000000000..ed00d586b0 --- /dev/null +++ b/pos/xml/migration/09880_ECA14_Add_Flag_for_keep_payment_reference_after_process.xml @@ -0,0 +1,200 @@ + + + + + + e5d0502d-a0de-42df-8cb2-602235737497 + 100 + 2022-09-05 09:43:16.739 + Keep reference After Process Order + + + + + Keep reference After Process Order + true + + 1 + ECA14 + Keep reference After Process Order from POS + 100 + 2022-09-05 09:43:16.739 + IsKeepReferenceAfterProcess + + 20 + 0 + 62059 + 0 + + + + + 5bd9c3b6-cb7d-4705-a16b-f613d83d524f + 100 + 2022-09-05 09:43:17.877 + Keep reference After Process Order + + + + + Keep reference After Process Order + false + true + + Keep reference After Process Order from POS + 100 + 2022-09-05 09:43:17.877 + 0 + es_MX + 62059 + 0 + + + + + Mantener Referencia después de Procesar + Mantener Referencia después de Procesar + Mantener Referencia después de Procesar orden de Venta desde el Terminal + es_MX + 62059 + + + + + + 0 + + + 7f31952e-3f74-45ae-a9a7-199435a9ce82 + 100 + 2022-09-05 09:45:31.603 + 0 + true + + + Keep reference After Process Order + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 1 + ECA14 + Keep reference After Process Order from POS + N + 100 + 2022-09-05 09:45:31.603 + + IsKeepReferenceAfterProcess + + + 54874 + + 20 + + 0 + + 62059 + 100084 + 0 + + + + + + db5b28cf-9e1b-40ba-833f-6e9d49ee0ac2 + 100 + 2022-09-05 09:45:32.692 + Keep reference After Process Order + false + true + 100 + 2022-09-05 09:45:32.692 + 0 + es_MX + 100084 + 0 + + + + + 7c348d92-9ab1-446f-a4d2-fa5e8ae4431c + 100 + 2022-09-05 09:45:48.224 + 0 + 230 + 230 + 0 + + Keep reference After Process Order + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Keep reference After Process Order from POS + + 100 + 2022-09-05 09:45:48.223 + + 55132 + + + 0 + + 102270 + + + + 100084 + 0 + + + + + c512fc44-59cb-43dd-93da-8267e3503807 + 100 + 2022-09-05 09:45:49.368 + Keep reference After Process Order + false + true + + Keep reference After Process Order from POS + 100 + 2022-09-05 09:45:49.368 + 0 + es_MX + 102270 + 0 + + + + diff --git a/pos/xml/migration/09890_ECA14_Add_Flag_for_keep_price_from_customer_definition.xml b/pos/xml/migration/09890_ECA14_Add_Flag_for_keep_price_from_customer_definition.xml new file mode 100644 index 0000000000..9c213e69a5 --- /dev/null +++ b/pos/xml/migration/09890_ECA14_Add_Flag_for_keep_price_from_customer_definition.xml @@ -0,0 +1,201 @@ + + + + + + bb01e705-8bd2-4867-82a8-8fcdadfdb802 + 100 + 2022-09-05 18:26:03.788 + Keep Price from Customer + + + + + Keep Price from Customer + true + This flag allows keep prices from customer definition instead the price list from POS + 1 + ECA14 + Keep Price from Customer when ia create a sales order from POS + 100 + 2022-09-05 18:26:03.788 + IsKeepPriceFromCustomer + + 20 + 0 + 62061 + 0 + + + + + 47e9698e-b558-44ae-8a43-501f8b70938a + 100 + 2022-09-05 18:26:04.766 + Keep Price from Customer + + + + + Keep Price from Customer + false + true + This flag allows keep prices from customer definition instead the price list from POS + Keep Price from Customer when ia create a sales order from POS + 100 + 2022-09-05 18:26:04.766 + 0 + es_MX + 62061 + 0 + + + + + Mantener Precio Asignado al Cliente + Mantener Precio Asignado al Cliente + Esta bandera permite mantener el precio de la lista de precios del cliente sin importar la lista de precios seleccionada en el terminal PDV + Mantiene la lista de precios asignada al cliente cuando se le realiza una orden de venta desde el PDV + es_MX + 62061 + + + + + + 0 + + + df609bbf-f251-41a9-b70e-23415008bfb1 + 100 + 2022-09-05 18:27:43.052 + 0 + true + + + Keep Price from Customer + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + This flag allows keep prices from customer definition instead the price list from POS + + 1 + ECA14 + Keep Price from Customer when ia create a sales order from POS + N + 100 + 2022-09-05 18:27:43.052 + + IsKeepPriceFromCustomer + + + 748 + + 20 + + 0 + + 62061 + 100109 + 0 + + + + + + d594a1b2-8fe1-4827-a1d4-b502c5ec79f5 + 100 + 2022-09-05 18:27:44.307 + Keep Price from Customer + false + true + 100 + 2022-09-05 18:27:44.307 + 0 + es_MX + 100109 + 0 + + + + + 18fd0ce7-e18b-441b-968c-2b3eeb8b8760 + 100 + 2022-09-05 18:27:58.915 + 0 + 640 + 640 + 0 + + Keep Price from Customer + false + false + false + + false + false + false + false + true + true + true + true + true + + + This flag allows keep prices from customer definition instead the price list from POS + ECA14 + + 0 + Keep Price from Customer when ia create a sales order from POS + + 100 + 2022-09-05 18:27:58.915 + + 676 + + + 0 + + 102294 + + + + 100109 + 0 + + + + + e6b1a2fd-6627-4eb0-b5f6-99a78bdd11e7 + 100 + 2022-09-05 18:27:59.873 + Keep Price from Customer + false + true + This flag allows keep prices from customer definition instead the price list from POS + Keep Price from Customer when ia create a sales order from POS + 100 + 2022-09-05 18:27:59.873 + 0 + es_MX + 102294 + 0 + + + + diff --git a/pos/xml/migration/09900_ECA14_Add_some_fields_of_control.xml b/pos/xml/migration/09900_ECA14_Add_some_fields_of_control.xml new file mode 100644 index 0000000000..e336781e83 --- /dev/null +++ b/pos/xml/migration/09900_ECA14_Add_some_fields_of_control.xml @@ -0,0 +1,1181 @@ + + + + + + + 0 + + + ce2c7fd9-a761-4fee-8830-0cd1da7a656f + 100 + 2022-10-27 23:45:14.835 + 0 + true + + + Confidential Info + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + When entering/updating Requests over the web, the user can mark his info as confidential + + 1 + ECA14 + Can enter confidential information + N + 100 + 2022-10-27 23:45:14.834 + + IsConfidentialInfo + + + 748 + + 20 + + 0 + + 2794 + 100261 + 0 + + + + + + a37494e3-2721-45a6-b4e5-15303201b6b9 + 100 + 2022-10-27 23:45:16.447 + Confidential Info + false + true + 100 + 2022-10-27 23:45:16.447 + 0 + es_MX + 100261 + 0 + + + + + f92ac30a-87ff-4d8d-90be-1f2bf2472b6d + 100 + 2022-10-27 23:45:29.559 + 0 + 650 + 650 + 0 + + Confidential Info + false + false + false + + false + false + false + false + true + true + true + true + true + + + When entering/updating Requests over the web, the user can mark his info as confidential + ECA14 + + 0 + Can enter confidential information + + 100 + 2022-10-27 23:45:29.558 + + 676 + + + 0 + + 102477 + + + + 100261 + 0 + + + + + 6a9f064b-38c0-4c33-b809-afc727dff988 + 100 + 2022-10-27 23:45:30.561 + Confidential Info + false + true + When entering/updating Requests over the web, the user can mark his info as confidential + Can enter confidential information + 100 + 2022-10-27 23:45:30.561 + 0 + es_MX + 102477 + 0 + + + + + 9cc32d14-9795-4d27-bc7a-fdfaf85b77f9 + 100 + 2022-10-27 23:47:47.22 + Currency for write-off per Document + + + + + Currency for write-off per Document + true + + 10 + ECA14 + Currency amount to be written off in invoice currency + 100 + 2022-10-27 23:47:47.22 + WriteOffAmtCurrency_ID + 112 + 18 + 0 + 62094 + 0 + + + + + 645f411a-91d8-4096-9ea4-b1ea38a468d6 + 100 + 2022-10-27 23:47:48.215 + Currency for write-off per Document + + + + + Currency for write-off per Document + false + true + + Currency amount to be written off in invoice currency + 100 + 2022-10-27 23:47:48.215 + 0 + es_MX + 62094 + 0 + + + + + Moneda para Monto de Ajuste + Moneda para Monto de Ajuste + Moneda para Monto de Ajuste de documentos + es_MX + 62094 + + + + + + 0 + + + 4667a015-80ff-490f-a9f3-a1212c38500e + 100 + 2022-10-27 23:48:49.733 + 0 + true + + + Currency for write-off per Document + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Currency amount to be written off in invoice currency + -1 + 100 + 2022-10-27 23:48:49.732 + + WriteOffAmtCurrency_ID + + + 748 + 112 + 18 + + 0 + + 62094 + 100262 + 0 + + + + + + a49d28ab-2d89-4d0a-a0d9-dd0d36ea1866 + 100 + 2022-10-27 23:48:50.686 + Currency for write-off per Document + false + true + 100 + 2022-10-27 23:48:50.686 + 0 + es_MX + 100262 + 0 + + + + + accc3741-a82a-40f6-8389-1774f1d30479 + 100 + 2022-10-27 23:49:01.759 + 0 + 660 + 660 + 0 + + Currency for write-off per Document + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Currency amount to be written off in invoice currency + + 100 + 2022-10-27 23:49:01.758 + + 676 + + + 0 + + 102478 + + + + 100262 + 0 + + + + + 0db50be6-cab5-42fb-a63a-a7215675289e + 100 + 2022-10-27 23:49:02.931 + Currency for write-off per Document + false + true + + Currency amount to be written off in invoice currency + 100 + 2022-10-27 23:49:02.931 + 0 + es_MX + 102478 + 0 + + + + + + 0 + + + 61cb34aa-c6a4-4301-9c1d-25457e948672 + 100 + 2022-10-27 23:49:29.442 + 0 + true + + + Currency for write-off per Document + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Currency amount to be written off in invoice currency + -1 + 100 + 2022-10-27 23:49:29.442 + + WriteOffAmtCurrency_ID + + + 54872 + 112 + 18 + + 0 + + 62094 + 100263 + 0 + + + + + + e38c9fa0-5595-4ced-bd6b-f349280321e0 + 100 + 2022-10-27 23:49:30.422 + Currency for write-off per Document + false + true + 100 + 2022-10-27 23:49:30.422 + 0 + es_MX + 100263 + 0 + + + + + 3758c551-fe3f-481b-9cbd-93ce72a778d6 + 100 + 2022-10-27 23:49:40.688 + 0 + 280 + 280 + 0 + + Currency for write-off per Document + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Currency amount to be written off in invoice currency + + 100 + 2022-10-27 23:49:40.688 + + 55130 + + + 0 + + 102479 + + + + 100263 + 0 + + + + + 2600fe1d-5d5f-4bfa-9702-e48cbe894f91 + 100 + 2022-10-27 23:49:41.543 + Currency for write-off per Document + false + true + + Currency amount to be written off in invoice currency + 100 + 2022-10-27 23:49:41.543 + 0 + es_MX + 102479 + 0 + + + + + 40c1d214-b825-412e-b62c-ecbf4bf01365 + 100 + 2022-10-27 23:51:36.886 + Tolerance for write-off % + + + + + Tolerance for write-off % + true + + 10 + ECA14 + Tolerance amount to be written off in invoice currency + 100 + 2022-10-27 23:51:36.886 + WriteOffPercentageTolerance + + 12 + 0 + 62095 + 0 + + + + + 94e8fe1d-8c4b-4414-be49-263b16b7c5c2 + 100 + 2022-10-27 23:51:37.833 + Tolerance for write-off % + + + + + Tolerance for write-off % + false + true + + Tolerance amount to be written off in invoice currency + 100 + 2022-10-27 23:51:37.833 + 0 + es_MX + 62095 + 0 + + + + + % de Tolerancia para Ajuste + % de Tolerancia para Ajuste + % de Tolerancia para Ajuste de Documentos + es_MX + 62095 + + + + + + 0 + + + e97ea467-c228-4e8a-a4d8-9aa0a2de0e79 + 100 + 2022-10-27 23:52:33.815 + 0 + true + + + Tolerance for write-off % + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Tolerance amount to be written off in invoice currency + 0 + 100 + 2022-10-27 23:52:33.815 + + WriteOffPercentageTolerance + + + 54872 + + 12 + + 0 + + 62095 + 100264 + 0 + + + + + + 9c0319c0-7df5-4928-8c80-7506cae705f2 + 100 + 2022-10-27 23:52:34.813 + Tolerance for write-off % + false + true + 100 + 2022-10-27 23:52:34.813 + 0 + es_MX + 100264 + 0 + + + + + 36d594f7-b210-4eaa-92a2-81a9d9eaf218 + 100 + 2022-10-27 23:52:40.487 + 0 + 290 + 290 + 0 + + Tolerance for write-off % + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Tolerance amount to be written off in invoice currency + + 100 + 2022-10-27 23:52:40.487 + + 55130 + + + 0 + + 102480 + + + + 100264 + 0 + + + + + 432a7548-92af-4a4e-a365-dc85c5da1381 + 100 + 2022-10-27 23:52:41.599 + Tolerance for write-off % + false + true + + Tolerance amount to be written off in invoice currency + 100 + 2022-10-27 23:52:41.599 + 0 + es_MX + 102480 + 0 + + + + + + 0 + + + cdd0d25b-a8f3-4488-a6d2-2d2ae68bfe1e + 100 + 2022-10-27 23:52:52.22 + 0 + true + + + Tolerance for write-off % + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Tolerance amount to be written off in invoice currency + 0 + 100 + 2022-10-27 23:52:52.219 + + WriteOffPercentageTolerance + + + 748 + + 12 + + 0 + + 62095 + 100265 + 0 + + + + + + 283add33-42d2-4450-870b-8ff039805d43 + 100 + 2022-10-27 23:52:53.016 + Tolerance for write-off % + false + true + 100 + 2022-10-27 23:52:53.016 + 0 + es_MX + 100265 + 0 + + + + + 2beabf07-bbe2-41b6-b55e-b05b78540f8c + 100 + 2022-10-27 23:53:00.88 + 0 + 670 + 670 + 0 + + Tolerance for write-off % + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Tolerance amount to be written off in invoice currency + + 100 + 2022-10-27 23:53:00.88 + + 676 + + + 0 + + 102481 + + + + 100265 + 0 + + + + + 391286a8-ad91-485b-b0d2-6ab829f0f060 + 100 + 2022-10-27 23:53:01.617 + Tolerance for write-off % + false + true + + Tolerance amount to be written off in invoice currency + 100 + 2022-10-27 23:53:01.617 + 0 + es_MX + 102481 + 0 + + + + + 28ad2301-318b-4a46-baab-90361d3f9837 + 100 + 2022-10-27 23:54:20.009 + Allows Modify Customer + + + + + Allows Modify Customer + true + Allows modify a customer based on POS definition + 1 + ECA14 + Allows Modify Customer from POS + 100 + 2022-10-27 23:54:20.009 + IsAllowsModifyCustomer + + 20 + 0 + 62096 + 0 + + + + + f0be81c8-9807-4a25-8d1e-db2ea3e4563b + 100 + 2022-10-27 23:54:20.868 + Allows Modify Customer + + + + + Allows Modify Customer + false + true + Allows modify a customer based on POS definition + Allows Modify Customer from POS + 100 + 2022-10-27 23:54:20.868 + 0 + es_MX + 62096 + 0 + + + + + Permitir Modificar Cliente + Permitir Modificar Cliente + Permite modificar los datos del cliente en el Terminal PDV + Permitir Modificar Cliente desde el Terminal PDV + es_MX + 62096 + + + + + + 0 + + + 7fea8967-184e-4299-a31e-46563987bf5c + 100 + 2022-10-27 23:55:20.555 + 0 + true + + + Allows Modify Customer + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + Allows modify a customer based on POS definition + + 1 + ECA14 + Allows Modify Customer from POS + Y + 100 + 2022-10-27 23:55:20.555 + + IsAllowsModifyCustomer + + + 748 + + 20 + + 0 + + 62096 + 100266 + 0 + + + + + + ffa59346-1631-4926-8918-8fd02b7b462f + 100 + 2022-10-27 23:55:21.827 + Allows Modify Customer + false + true + 100 + 2022-10-27 23:55:21.827 + 0 + es_MX + 100266 + 0 + + + + + 8972acca-09c4-4d85-ac39-61209383190a + 100 + 2022-10-27 23:55:28.61 + 0 + 680 + 680 + 0 + + Allows Modify Customer + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows modify a customer based on POS definition + ECA14 + + 0 + Allows Modify Customer from POS + + 100 + 2022-10-27 23:55:28.61 + + 676 + + + 0 + + 102482 + + + + 100266 + 0 + + + + + 157ee4ff-b2dc-45ce-846d-646fb6aef708 + 100 + 2022-10-27 23:55:29.615 + Allows Modify Customer + false + true + Allows modify a customer based on POS definition + Allows Modify Customer from POS + 100 + 2022-10-27 23:55:29.615 + 0 + es_MX + 102482 + 0 + + + + + + 0 + + + 5a487526-99f2-49b9-a3f8-7413a1516f2c + 100 + 2022-10-27 23:55:44.14 + 0 + true + + + Allows Modify Customer + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + Allows modify a customer based on POS definition + + 1 + ECA14 + Allows Modify Customer from POS + Y + 100 + 2022-10-27 23:55:44.14 + + IsAllowsModifyCustomer + + + 54872 + + 20 + + 0 + + 62096 + 100267 + 0 + + + + + + 09979c4b-47d2-43ff-832f-e48ef28e6bde + 100 + 2022-10-27 23:55:45.162 + Allows Modify Customer + false + true + 100 + 2022-10-27 23:55:45.161 + 0 + es_MX + 100267 + 0 + + + + + 059eb7b1-f3b3-4fc3-bb23-694d6344f74b + 100 + 2022-10-27 23:55:52.728 + 0 + 300 + 300 + 0 + + Allows Modify Customer + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows modify a customer based on POS definition + ECA14 + + 0 + Allows Modify Customer from POS + + 100 + 2022-10-27 23:55:52.728 + + 55130 + + + 0 + + 102483 + + + + 100267 + 0 + + + + + e7c45e1c-50cc-4178-a1b9-88a699ec1bf7 + 100 + 2022-10-27 23:55:53.903 + Allows Modify Customer + false + true + Allows modify a customer based on POS definition + Allows Modify Customer from POS + 100 + 2022-10-27 23:55:53.903 + 0 + es_MX + 102483 + 0 + + + + + POS.ModifyCustomerNotAllowed + 71b3a717-19cd-4ddf-9a0f-71408c17a3b1 + 100 + 2022-10-28 00:20:43.952 + I + + Modify Customer not allowed for user + true + ECA14 + 100 + 2022-10-28 00:20:43.952 + 0 + 53752 + 0 + + + + + 443f1c95-6805-4382-8908-c1e140f1c195 + 100 + 2022-10-28 00:20:45.022 + + Modify Customer not allowed for user + false + true + 100 + 2022-10-28 00:20:45.022 + 0 + 53752 + es_MX + 0 + + + + + No está permitido "Modificar Cliente" para su usuario + 53752 + es_MX + + + + diff --git a/pos/xml/migration/09910_ECA14_Add_source_payment_method_for_reference.xml b/pos/xml/migration/09910_ECA14_Add_source_payment_method_for_reference.xml new file mode 100644 index 0000000000..dedad07edc --- /dev/null +++ b/pos/xml/migration/09910_ECA14_Add_source_payment_method_for_reference.xml @@ -0,0 +1,262 @@ + + + + + + + T + a4faec68-f651-48dd-827c-4330630fbcf4 + 100 + 2022-10-28 07:54:47.777 + Source Payment Method reference + false + true + + ECA14 + + 100 + 2022-10-28 07:54:47.777 + 54298 + 0 + 0 + + + + + 331cc42e-4b5d-4b6d-a1c0-31f8ed705f36 + 100 + 2022-10-28 07:54:49.389 + Source Payment Method reference + false + true + + + 100 + 2022-10-28 07:54:49.389 + 54298 + 0 + es_MX + 0 + + + + + + 73b8a763-99f1-449d-b2e0-62b044b70bba + 100 + 2022-10-28 07:55:14.982 + + true + false + false + true + ECA14 + + 100 + 2022-10-28 07:55:14.982 + + 54777 + 54298 + 0 + 97137 + 97131 + 0 + + + + + 7f9f1f3b-5bb3-4aec-8df8-5573da71c78e + 100 + 2022-10-28 07:55:23.711 + Source Payment Method + + + + + Source Payment Method + true + + 10 + ECA14 + Source Payment Method of Reference + 100 + 2022-10-28 07:55:23.711 + POS_SourcePaymentMethod_ID + 54298 + 18 + 0 + 62097 + 0 + + + + + dc7c6281-f9cd-4cc0-9810-5e9d34b7d3c4 + 100 + 2022-10-28 07:55:24.68 + Source Payment Method + + + + + Source Payment Method + false + true + + Source Payment Method of Reference + 100 + 2022-10-28 07:55:24.68 + 0 + es_MX + 62097 + 0 + + + + + Método de Pago Orígen + Método de Pago Orígen + Método de Pago Orígen para la referencia de pagos + es_MX + 62097 + + + + + + 0 + + + 9f37c7ea-60e1-48fb-a9aa-eacdf5c32c04 + 100 + 2022-10-28 07:56:05.104 + 0 + true + + + Source Payment Method + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 10 + ECA14 + Source Payment Method of Reference + + 100 + 2022-10-28 07:56:05.104 + + POS_SourcePaymentMethod_ID + + + 54874 + 54298 + 18 + + 0 + + 62097 + 100268 + 0 + + + + + + f105dad0-bc12-49e0-af0b-abba8fa5b571 + 100 + 2022-10-28 07:56:06.446 + Source Payment Method + false + true + 100 + 2022-10-28 07:56:06.446 + 0 + es_MX + 100268 + 0 + + + + + e42791fb-1c3d-4817-bf34-d24f0377f604 + 100 + 2022-10-28 07:56:21.427 + 0 + 240 + 240 + 0 + + Source Payment Method + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Source Payment Method of Reference + + 100 + 2022-10-28 07:56:21.426 + + 55132 + + + 0 + + 102484 + + + + 100268 + 0 + + + + + 009a6bb8-1828-471e-844d-b7bb5be9c1a0 + 100 + 2022-10-28 07:56:22.322 + Source Payment Method + false + true + + Source Payment Method of Reference + 100 + 2022-10-28 07:56:22.322 + 0 + es_MX + 102484 + 0 + + + + diff --git a/pos/xml/migration/09920_ECA14_Add_Line_discount_field.xml b/pos/xml/migration/09920_ECA14_Add_Line_discount_field.xml new file mode 100644 index 0000000000..13a7662700 --- /dev/null +++ b/pos/xml/migration/09920_ECA14_Add_Line_discount_field.xml @@ -0,0 +1,280 @@ + + + + + + Allows Apply Discount (By Document) + Allows Apply Discount (By Document) + + + + + Allows Apply Discount (By Document) + + + + + Allows Apply Discount (By Document) + + + + + Permitir Aplicar Descuento (Por Documento) + Permitir Aplicar Descuento (Por Documento) + es_MX + 62007 + + + + + Allows Modify Discount (By Line) + Allows Modify Discount (By Line) + + + + + Allows Modify Discount (By Line) + + + + + Allows Modify Discount (By Line) + + + + + Permitir Modificar Descuento (Por Linea) + Permitir Modificar Descuento (Por Linea) + es_MX + 61911 + + + + + f6fe1f92-04c9-4cbd-8eaa-ac7275220774 + 100 + 2022-11-01 18:58:08.639 + Maximum Document Discount % + + + + + Maximum Document Discount % + true + The Discount indicates the discount applied or taken as a percentage. + 22 + ECA14 + Discount in percent + 100 + 2022-11-01 18:58:08.639 + MaximumDocumentDiscountAllowed + + 22 + 0 + 62098 + 0 + + + + + 6b0971f6-f434-44ce-a484-a6dea81e7a73 + 100 + 2022-11-01 18:58:10.14 + Maximum Document Discount % + + + + + Maximum Document Discount % + false + true + The Discount indicates the discount applied or taken as a percentage. + Discount in percent + 100 + 2022-11-01 18:58:10.14 + 0 + es_MX + 62098 + 0 + + + + + Maximum Line Discount % + Maximum Line Discount % + MaximumLineDiscountAllowed + + + + + % Descuento Máximo por Linea + % Descuento Máximo por Linea + Establece un máximo de descuento por linea para las órdenes de ventas + % Descuento Máximo por Linea para aplicar + es_MX + 62098 + + + + + + 0 + + + ed419df1-e897-4f1f-bcf8-704f674cff62 + 100 + 2022-11-01 18:59:26.189 + 0 + true + + + Maximum Line Discount % + + true + false + N + false + false + false + false + false + false + N + false + false + true + true + true + + The Discount indicates the discount applied or taken as a percentage. + + 22 + ECA14 + Discount in percent + 0 + 100 + 2022-11-01 18:59:26.189 + + MaximumLineDiscountAllowed + + + 54872 + + 22 + + 0 + + 62098 + 100270 + 0 + + + + + + 5ff39083-c894-45fe-872d-a084a5f4d97b + 100 + 2022-11-01 18:59:27.251 + Maximum Line Discount % + false + true + 100 + 2022-11-01 18:59:27.251 + 0 + es_MX + 100270 + 0 + + + + + 06a25379-02fa-471c-b4df-6c80fa6e504a + 100 + 2022-11-01 19:00:44.978 + 0 + 310 + 310 + 0 + + Maximum Line Discount % + false + false + false + + false + false + false + false + true + true + true + true + true + + + The Discount indicates the discount applied or taken as a percentage. + ECA14 + + 0 + Discount in percent + + 100 + 2022-11-01 19:00:44.978 + + 55130 + + + 0 + + 102486 + + + + 100270 + 0 + + + + + 383c3a6a-ee6f-482a-b34a-9549c4896821 + 100 + 2022-11-01 19:00:45.795 + Maximum Line Discount % + false + true + The Discount indicates the discount applied or taken as a percentage. + Discount in percent + 100 + 2022-11-01 19:00:45.795 + 0 + es_MX + 102486 + 0 + + + + + Apply Discount by document not allowed for user + + + + + No está permitido "Aplicar Descuento por Documento" para su usuario + 53735 + es_MX + + + + + Modify Discount by line not allowed for user + + + + + No está permitido "Modificar Descuento de Linea" para su usuario + 53744 + es_MX + + + + diff --git a/pos/xml/migration/09930_ECA14_Add_error_message_for_Template_customer.xml b/pos/xml/migration/09930_ECA14_Add_error_message_for_Template_customer.xml new file mode 100644 index 0000000000..652c1e61b8 --- /dev/null +++ b/pos/xml/migration/09930_ECA14_Add_error_message_for_Template_customer.xml @@ -0,0 +1,47 @@ + + + + + + POS.ModifyTemplateCustomerNotAllowed + ced01cc0-4da8-49a4-af4a-bba813248646 + 100 + 2022-11-02 11:02:40.593 + I + + Modify Template Customer not allowed for user + true + ECA14 + 100 + 2022-11-02 11:02:40.593 + 0 + 53753 + 0 + + + + + b790f730-f670-4aee-98e5-3a0c64610034 + 100 + 2022-11-02 11:02:42.37 + + Modify Template Customer not allowed for user + false + true + 100 + 2022-11-02 11:02:42.37 + 0 + 53753 + es_MX + 0 + + + + + No está permitido "Modificar Cliente Plantilla" + 53753 + es_MX + + + + diff --git a/pos/xml/migration/09940_ECA14_Add_POS_reference_to_Cash_Closing.xml b/pos/xml/migration/09940_ECA14_Add_POS_reference_to_Cash_Closing.xml new file mode 100644 index 0000000000..567af69038 --- /dev/null +++ b/pos/xml/migration/09940_ECA14_Add_POS_reference_to_Cash_Closing.xml @@ -0,0 +1,208 @@ + + + + + + + 0 + + + a622359a-7010-4908-89bc-86927f7a6ed7 + 100 + 2022-11-04 09:46:09.535 + 0 + true + + + POS Terminal + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + The POS Terminal defines the defaults and functions available for the POS Form + + 22 + ECA14 + Point of Sales Terminal + + 100 + 2022-11-04 09:46:09.534 + + C_POS_ID + + + 392 + + 19 + + 0 + + 2581 + 100278 + 0 + + + + + + ba0d971e-0679-4edd-bc38-e39e396d54c3 + 100 + 2022-11-04 09:46:10.921 + POS Terminal + false + true + 100 + 2022-11-04 09:46:10.921 + 0 + es_MX + 100278 + 0 + + + + + e99ca265-f440-48a6-b1a0-d001da51156b + 100 + 2022-11-04 09:46:25.417 + 0 + 220 + 220 + 0 + + POS Terminal + false + false + false + + false + false + false + false + true + true + true + true + true + + + The POS Terminal defines the defaults and functions available for the POS Form + ECA14 + + 0 + Point of Sales Terminal + + 100 + 2022-11-04 09:46:25.417 + + 328 + + + 0 + + 102492 + + + + 100278 + 0 + + + + + c69734b2-1882-40b2-b5b8-6193b39a1cbc + 100 + 2022-11-04 09:46:26.719 + POS Terminal + false + true + The POS Terminal defines the defaults and functions available for the POS Form + Point of Sales Terminal + 100 + 2022-11-04 09:46:26.719 + 0 + es_MX + 102492 + 0 + + + + + ae286bb5-21d8-4f39-807d-eeedf4d6c668 + 100 + 2022-11-04 09:46:40.671 + 0 + 220 + 220 + 0 + + POS Terminal + false + false + false + + false + false + false + false + true + true + true + true + true + + + The POS Terminal defines the defaults and functions available for the POS Form + ECA14 + + 0 + Point of Sales Terminal + + 100 + 2022-11-04 09:46:40.671 + + 54420 + + + 0 + + 102493 + + + + 100278 + 0 + + + + + b7c5aaff-7a37-4788-b10b-393134ef8d39 + 100 + 2022-11-04 09:46:41.732 + POS Terminal + false + true + The POS Terminal defines the defaults and functions available for the POS Form + Point of Sales Terminal + 100 + 2022-11-04 09:46:41.732 + 0 + es_MX + 102493 + 0 + + + + diff --git a/pos/xml/migration/09950_ECA14_Add_Validation_for_Cash_Closing.xml b/pos/xml/migration/09950_ECA14_Add_Validation_for_Cash_Closing.xml new file mode 100644 index 0000000000..a5f8bcb9ac --- /dev/null +++ b/pos/xml/migration/09950_ECA14_Add_Validation_for_Cash_Closing.xml @@ -0,0 +1,479 @@ + + + + + + 1e7344be-45d6-4a54-937f-6ab6acdeb038 + 100 + 2022-11-28 15:31:49.095 + Validate Cash Opening (From POS) + + + + + Validate Cash Opening (From POS) + true + + 1 + ECA14 + Make a validation for Cash Opening for this POS + 100 + 2022-11-28 15:31:49.095 + IsValidatePOSCashOpening + + 20 + 0 + 62111 + 0 + + + + + 932ae0b1-f43e-4edb-ae0b-a79798ab3437 + 100 + 2022-11-28 15:31:50.726 + Validate Cash Opening (From POS) + + + + + Validate Cash Opening (From POS) + false + true + + Make a validation for Cash Opening for this POS + 100 + 2022-11-28 15:31:50.726 + 0 + es_MX + 62111 + 0 + + + + + Validar Apertura de Caja (Desde el PDV) + Validar Apertura de Caja (Desde el PDV) + Realiza una validación de apertura de caja para éste Terminal + es_MX + 62111 + + + + + 91add046-2b44-4943-afca-ac49b6c4a91c + 100 + 2022-11-28 15:33:56.553 + Validate Previous Cash Closing (From POS) + + + + + Validate Previous Cash Closing (From POS) + true + + 1 + ECA14 + Make a validation for this Terminal before create translation + 100 + 2022-11-28 15:33:56.553 + IsValidatePOSPreviousCash + + 20 + 0 + 62112 + 0 + + + + + 86076017-bcf7-4462-8b61-39cd1c2b4732 + 100 + 2022-11-28 15:33:57.41 + Validate Previous Cash Closing (From POS) + + + + + Validate Previous Cash Closing (From POS) + false + true + + Make a validation for this Terminal before create translation + 100 + 2022-11-28 15:33:57.41 + 0 + es_MX + 62112 + 0 + + + + + Valida el Cierre de Caja Anterior (Desde el PDV) + Valida el Cierre de Caja Anterior (Desde el PDV) + Realiza una validación del Cierre de Caja anterior y si existe un cierre pendiente retorna un error + es_MX + 62112 + + + + + POS.PreviousCashClosingOpened + 33e15030-0989-4a1e-ae39-fdfc4af7e22a + 100 + 2022-11-28 15:39:21.291 + E + + Previous Cash Closing Opened, you must close it before start a new transaction + true + ECA14 + 100 + 2022-11-28 15:39:21.291 + 0 + 53754 + 0 + + + + + 17c21881-1c16-4eda-b44b-f6698b967e1b + 100 + 2022-11-28 15:39:22.076 + + Previous Cash Closing Opened, you must close it before start a new transaction + false + true + 100 + 2022-11-28 15:39:22.076 + 0 + 53754 + es_MX + 0 + + + + + Aún se encuentra un cierre de caja pendiente por procesar, tiene que cerrar el mismo antes de iniciar una transacción + 53754 + es_MX + + + + + POS.CashClosingNotFound + 53ed265f-789b-4aff-ae3a-32a06b69cc9d + 100 + 2022-11-28 15:43:23.834 + E + + Cash Closing Not Found, you must create a Cash Opening before start a new transaction + true + ECA14 + 100 + 2022-11-28 15:43:23.834 + 0 + 53755 + 0 + + + + + a46b7dd9-c3d0-46af-8f77-f8a21316de29 + 100 + 2022-11-28 15:43:24.734 + + Cash Closing Not Found, you must create a Cash Opening before start a new transaction + false + true + 100 + 2022-11-28 15:43:24.734 + 0 + 53755 + es_MX + 0 + + + + + No se encontró un Cierre de Caja en curso, tiene que crear el mismo antes de iniciar una transacción + 53755 + es_MX + + + + + + 0 + + + ef43d826-6577-42a3-9a83-762d9c60e5fc + 100 + 2022-11-28 15:50:11.397 + 0 + true + + + Validate Cash Opening (From POS) + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 1 + ECA14 + Make a validation for Cash Opening for this POS + N + 100 + 2022-11-28 15:50:11.397 + + IsValidatePOSCashOpening + + + 748 + + 20 + + 0 + + 62111 + 100292 + 0 + + + + + + 20e4b805-0806-438d-b32f-8763a696b311 + 100 + 2022-11-28 15:50:12.634 + Validate Cash Opening (From POS) + false + true + 100 + 2022-11-28 15:50:12.634 + 0 + es_MX + 100292 + 0 + + + + + + 0 + + + 4fc9c16a-5cf5-4f2b-9eef-b9e20a22ba77 + 100 + 2022-11-28 15:50:30.658 + 0 + true + + + Validate Previous Cash Closing (From POS) + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + + + 1 + ECA14 + Make a validation for this Terminal before create translation + N + 100 + 2022-11-28 15:50:30.658 + + IsValidatePOSPreviousCash + + + 748 + + 20 + + 0 + + 62112 + 100293 + 0 + + + + + + e5b921b7-7063-494e-a70d-1795ec099e28 + 100 + 2022-11-28 15:50:31.644 + Validate Previous Cash Closing (From POS) + false + true + 100 + 2022-11-28 15:50:31.644 + 0 + es_MX + 100293 + 0 + + + + + 54221052-4c49-40c9-9a62-33d93ff12d01 + 100 + 2022-11-28 15:50:47.486 + 0 + 690 + 690 + 0 + + Validate Cash Opening (From POS) + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Make a validation for Cash Opening for this POS + + 100 + 2022-11-28 15:50:47.485 + + 676 + + + 0 + + 102508 + + + + 100292 + 0 + + + + + be3525a2-c7d2-4cd8-a793-e24f44abf6c9 + 100 + 2022-11-28 15:50:48.394 + Validate Cash Opening (From POS) + false + true + + Make a validation for Cash Opening for this POS + 100 + 2022-11-28 15:50:48.394 + 0 + es_MX + 102508 + 0 + + + + + 1497ca14-c518-498d-b295-1a12146b88b9 + 100 + 2022-11-28 15:50:51.067 + 0 + 700 + 700 + 0 + + Validate Previous Cash Closing (From POS) + false + false + false + + false + false + false + false + true + true + true + true + true + + + + ECA14 + + 0 + Make a validation for this Terminal before create translation + + 100 + 2022-11-28 15:50:51.066 + + 676 + + + 0 + + 102509 + + + + 100293 + 0 + + + + + 51c3fe3d-7e95-4a36-8449-6330716fecd8 + 100 + 2022-11-28 15:50:52.371 + Validate Previous Cash Closing (From POS) + false + true + + Make a validation for this Terminal before create translation + 100 + 2022-11-28 15:50:52.371 + 0 + es_MX + 102509 + 0 + + + + diff --git a/pos/xml/migration/09960_ECA14_POS_Command_Shortcut_Tab.xml b/pos/xml/migration/09960_ECA14_POS_Command_Shortcut_Tab.xml new file mode 100644 index 0000000000..c65c5dc41e --- /dev/null +++ b/pos/xml/migration/09960_ECA14_POS_Command_Shortcut_Tab.xml @@ -0,0 +1,1686 @@ + + + + + + 0 + 62146 + 0 + 10 + + ECA14_Command + 2023-04-15 16:26:42.061 + 100 + POS command to execute + ECA14 + 60 + + true + Command + + + + + Command + 30738c75-1a24-45dd-9db5-277e42333da4 + 2023-04-15 16:26:42.061 + 100 + + + + + 0 + 62146 + es_MX + 0 + 2023-04-15 16:26:48.403 + 100 + Comando a ejecutar en el PDV + + true + false + Comando + + + + + Comando + 1b485a0b-3ece-4981-ba58-c4bd9a2425a6 + 2023-04-15 16:26:48.403 + 100 + + + + + 0 + 62147 + 0 + 10 + + ECA14_Shortcut + 2023-04-15 16:27:39.439 + 100 + Shortcut Key Set + ECA14 + 60 + + true + Shortcut + + + + + Shortcut + 2a93a76e-927e-4167-9b50-a64309b75d8b + 2023-04-15 16:27:39.439 + 100 + + + + + 0 + 62147 + es_MX + 0 + 2023-04-15 16:27:46.286 + 100 + Conjunto de Atajos del Teclado + + true + false + Atajo + + + + + Atajo + 4e199e00-a017-4121-bd47-2e931d081eeb + 2023-04-15 16:27:46.286 + 100 + + + + + 0 + 0 + + 0 + 54920 + + + 2 + N + 2023-04-15 16:29:57.57 + 100 + + ECA14 + + N + true + true + false + true + false + false + false + false + false + 0 + POS Command Shortcut + + + L + true + C_POSCommandShortcut + 038aa2c0-903f-48c1-aae9-b765ee3f07f2 + 2023-04-15 16:29:57.57 + 100 + + + + + 0 + es_MX + 0 + 54920 + 2023-04-15 16:30:03.643 + 100 + true + false + POS Command Shortcut + c58f56a6-a116-4769-80bb-caf3ac6ddce7 + 2023-04-15 16:30:03.643 + 100 + + + + + 0 + 62148 + 0 + + + C_POSCommandShortcut_ID + 2023-04-15 16:30:03.687 + 100 + + ECA14 + + + true + POS Command Shortcut + + + + + POS Command Shortcut + ead9a5bc-7565-4237-9e63-39657b398055 + 2023-04-15 16:30:03.687 + 100 + + + + + 0 + 62148 + es_MX + 0 + 2023-04-15 16:30:04.553 + 100 + + + true + false + POS Command Shortcut + + + + + POS Command Shortcut + 0bc3df34-dff3-43aa-870b-128ff1932e1d + 2023-04-15 16:30:04.553 + 100 + + + + + + 0 + 100441 + 62148 + + 0 + + 13 + + 54920 + + + C_POSCommandShortcut_ID + + 2023-04-15 16:30:04.608 + 100 + + + ECA14 + 22 + + + + true + false + true + false + false + N + false + true + true + false + false + false + + false + false + + POS Command Shortcut + + + true + + 80347a3a-27ba-4511-8f08-59e8ec9d9b8a + 2023-04-15 16:30:04.608 + 100 + + + + 1 + + + + + 0 + 100441 + es_MX + 0 + 2023-04-15 16:30:06.425 + 100 + true + false + POS Command Shortcut + 7f9f2ba8-d7cc-44eb-8773-31cae0816069 + 2023-04-15 16:30:06.425 + 100 + + + + + + 0 + 100442 + 102 + + 0 + + 19 + + 54920 + 129 + + AD_Client_ID + + 2023-04-15 16:30:06.463 + 100 + @AD_Client_ID@ + Client/Tenant for this installation. + ECA14 + 22 + + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + true + false + true + false + false + N + false + false + true + false + false + false + + false + false + + Client + + + true + + f9e3f14a-d6a8-4fc9-b3bc-b445d6aa6385 + 2023-04-15 16:30:06.463 + 100 + + + + 1 + + + + + 0 + 100442 + es_MX + 0 + 2023-04-15 16:30:08.359 + 100 + true + false + Client + 3b8d8d96-e2d1-4164-9544-b672e6465f09 + 2023-04-15 16:30:08.359 + 100 + + + + + + 0 + 100443 + 113 + + 0 + + 19 + + 54920 + 104 + + AD_Org_ID + + 2023-04-15 16:30:08.393 + 100 + @AD_Org_ID@ + Organizational entity within client + ECA14 + 22 + + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + true + true + true + false + false + N + false + false + true + false + false + false + + false + false + + Organization + + + true + + 8af6bec1-fea7-47e9-be99-4ba648115109 + 2023-04-15 16:30:08.393 + 100 + + + + 1 + + + + + 0 + 100443 + es_MX + 0 + 2023-04-15 16:30:09.386 + 100 + true + false + Organization + bcf93fb7-87fd-4bda-bae2-810e63162205 + 2023-04-15 16:30:09.386 + 100 + + + + + + 0 + 100444 + 348 + + 0 + + 20 + + 54920 + + + IsActive + + 2023-04-15 16:30:09.422 + 100 + Y + The record is active in the system + ECA14 + 1 + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + true + false + true + false + false + N + false + false + true + false + false + false + + false + true + + Active + + + true + + a5b87620-1578-4307-9c36-b58dddaeefb5 + 2023-04-15 16:30:09.422 + 100 + + + + 1 + + + + + 0 + 100444 + es_MX + 0 + 2023-04-15 16:30:10.33 + 100 + true + false + Active + 3c035c5c-5e45-4f33-9548-a961cc8c94ef + 2023-04-15 16:30:10.33 + 100 + + + + + + 0 + 100445 + 245 + + 0 + + 16 + + 54920 + + + Created + + 2023-04-15 16:30:10.368 + 100 + + Date this record was created + ECA14 + 7 + + The Created field indicates the date that this record was created. + + true + false + true + false + false + N + false + false + true + false + false + false + + false + true + + Created + + + true + + a382877c-7329-4283-bf5c-c26de4eed4fa + 2023-04-15 16:30:10.368 + 100 + + + + 1 + + + + + 0 + 100445 + es_MX + 0 + 2023-04-15 16:30:11.232 + 100 + true + false + Created + 192c07f2-bfc5-4f8c-b7e5-97ff39dcd1b4 + 2023-04-15 16:30:11.232 + 100 + + + + + + 0 + 100446 + 607 + + 0 + + 16 + + 54920 + + + Updated + + 2023-04-15 16:30:11.267 + 100 + + Date this record was updated + ECA14 + 7 + + The Updated field indicates the date that this record was updated. + + true + false + true + false + false + N + false + false + true + false + false + false + + false + true + + Updated + + + true + + 901d241c-0e35-491b-9d9e-2b03e3ed804b + 2023-04-15 16:30:11.267 + 100 + + + + 1 + + + + + 0 + 100446 + es_MX + 0 + 2023-04-15 16:30:12.084 + 100 + true + false + Updated + bd14ed14-0b7b-4a97-943b-25c3ac16d071 + 2023-04-15 16:30:12.084 + 100 + + + + + + 0 + 100447 + 246 + + 0 + + 18 + 110 + 54920 + + + CreatedBy + + 2023-04-15 16:30:12.119 + 100 + + User who created this records + ECA14 + 22 + + The Created By field indicates the user who created this record. + + true + false + true + false + false + N + false + false + true + false + false + false + + false + true + + Created By + + + true + + 6c8a96b2-f1d5-4f53-a1d7-74747554e492 + 2023-04-15 16:30:12.119 + 100 + + + + 1 + + + + + 0 + 100447 + es_MX + 0 + 2023-04-15 16:30:12.766 + 100 + true + false + Created By + 332c85e9-26e4-47fa-bd88-b2fb252880bb + 2023-04-15 16:30:12.766 + 100 + + + + + + 0 + 100448 + 608 + + 0 + + 18 + 110 + 54920 + + + UpdatedBy + + 2023-04-15 16:30:12.801 + 100 + + User who updated this records + ECA14 + 22 + + The Updated By field indicates the user who updated this record. + + true + false + true + false + false + N + false + false + true + false + false + false + + false + true + + Updated By + + + true + + 9207664f-f5cb-4d15-8e3d-7d97a818f859 + 2023-04-15 16:30:12.801 + 100 + + + + 1 + + + + + 0 + 100448 + es_MX + 0 + 2023-04-15 16:30:13.51 + 100 + true + false + Updated By + ff379ab9-79df-43bc-8adf-282f93624612 + 2023-04-15 16:30:13.51 + 100 + + + + + + 0 + 100449 + 59595 + + 0 + + 10 + + 54920 + + + UUID + + 2023-04-15 16:30:13.559 + 100 + + Immutable Universally Unique Identifier + ECA14 + 36 + + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + true + false + true + false + false + N + false + false + false + false + false + false + + false + true + + Immutable Universally Unique Identifier + + + true + + 39df45f3-71cc-4b02-ae2a-4d50dd72f623 + 2023-04-15 16:30:13.559 + 100 + + + + 1 + + + + + 0 + 100449 + es_MX + 0 + 2023-04-15 16:30:14.235 + 100 + true + false + Immutable Universally Unique Identifier + e1f3abb0-274a-4aff-8934-fa6c3a285b30 + 2023-04-15 16:30:14.235 + 100 + + + + + 0 + 0 + 55451 + 2023-04-15 16:30:14.275 + 100 + 1000000 + 50000 + + + Table C_POSCommandShortcut + 1 + true + false + true + true + Atajo de Comandos PDV + + false + 1000000 + + 2fd112c2-4005-4663-891a-18d12bed3e6d + 2023-04-15 16:30:14.275 + 100 + + + + + + + 0 + 100450 + 2581 + + 0 + + 19 + + 54920 + + + C_POS_ID + + 2023-04-15 16:33:18.285 + 100 + + Point of Sales Terminal + ECA14 + 22 + + The POS Terminal defines the defaults and functions available for the POS Form + + true + true + true + false + false + N + true + false + true + true + false + false + N + false + false + + POS Terminal + + + true + 10 + ecfdd929-9d7e-4497-a6d7-d27478117e63 + 2023-04-15 16:33:18.285 + 100 + + + + 0 + + + + + 0 + 100450 + es_MX + 0 + 2023-04-15 16:33:24.009 + 100 + true + false + POS Terminal + 411ecfce-47ac-40e7-a571-3fe4875345d8 + 2023-04-15 16:33:24.009 + 100 + + + + + + 0 + 100451 + 62146 + + 0 + + 10 + + 54920 + + + ECA14_Command + + 2023-04-15 16:36:03.462 + 100 + + POS command to execute + ECA14 + 60 + + + + true + true + true + false + false + N + true + false + true + false + false + true + N + false + true + + Command + + + true + 20 + e7b84484-be48-4c2a-9e46-215f3b381e4b + 2023-04-15 16:36:03.462 + 100 + + + + 0 + + + + + 0 + 100451 + es_MX + 0 + 2023-04-15 16:36:04.488 + 100 + true + false + Comando + 3847ebf4-2546-47b1-965c-4d3a96185300 + 2023-04-15 16:36:04.488 + 100 + + + + + + 0 + 100452 + 62147 + + 0 + + 10 + + 54920 + + + ECA14_Shortcut + + 2023-04-15 16:38:28.825 + 100 + + Shortcut Key Set + ECA14 + 60 + + + + true + true + true + false + false + N + true + false + true + false + false + true + N + false + true + + Shortcut + + + true + 30 + 67096910-e756-4340-88ef-dc53188ed803 + 2023-04-15 16:38:28.826 + 100 + + + + 0 + + + + + 0 + 100452 + es_MX + 0 + 2023-04-15 16:38:30.415 + 100 + true + false + Atajo + 775d1173-d8f5-4410-a2a3-430a14343150 + 2023-04-15 16:38:30.415 + 100 + + + + + 0 + + + 100450 + + + 0 + + 55175 + 54920 + 338 + + 2023-04-15 16:49:00.836 + 100 + Command Shortcut for POS + + ECA14 + false + + N + + true + false + false + true + false + false + false + false + Command Shortcut + + + false + + 100 + 1 + f95dcc24-b920-4b3a-9910-90da7e0d4b71 + 2023-04-15 16:49:00.836 + 100 + + + + + + 0 + es_MX + 0 + 55175 + + 2023-04-15 16:49:06.453 + 100 + Atajo de teclas para ejecutar comandos en el PDV + + true + false + Atajo de Comandos + 3345bb23-7c9c-4110-851d-4376a3c90157 + 2023-04-15 16:49:06.453 + 100 + + + + + 0 + 100444 + + + + 102645 + + 0 + + + 55175 + + 2023-04-15 16:49:37.985 + 100 + + The record is active in the system + 1 + + ECA14 + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + + true + false + true + true + true + false + false + false + false + + false + false + true + Active + + + 40 + 0 + + ad9f63cb-6cce-48a7-8d01-33a77b3cbb0a + 2023-04-15 16:49:37.985 + 100 + + + + + 0 + 102645 + es_MX + 0 + 2023-04-15 16:49:44.422 + 100 + The record is active in the system + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + true + false + Active + 19c1cafa-077c-4e90-ace5-425f40fc0104 + 2023-04-15 16:49:44.422 + 100 + + + + + 0 + 100442 + + + + 102646 + + 0 + + + 55175 + + 2023-04-15 16:49:44.476 + 100 + + Client/Tenant for this installation. + 22 + + ECA14 + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + + true + false + true + true + true + false + false + false + false + + false + true + false + Client + + + 10 + 0 + + 861f30e1-55d0-4095-acc0-c13dd7bda1c2 + 2023-04-15 16:49:44.476 + 100 + + + + + 0 + 102646 + es_MX + 0 + 2023-04-15 16:49:45.115 + 100 + Client/Tenant for this installation. + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + true + false + Client + 7b69bf44-00f7-486d-b65e-0abfc6d7c6cc + 2023-04-15 16:49:45.115 + 100 + + + + + 0 + 100451 + + + + 102647 + + 0 + + + 55175 + + 2023-04-15 16:49:45.153 + 100 + + POS command to execute + 29 + + ECA14 + + + + true + true + true + true + true + false + false + false + false + + false + false + false + Command + + + 50 + 0 + + c5ae7e24-0d99-45be-9d1d-72dac54758d8 + 2023-04-15 16:49:45.153 + 100 + + + + + 0 + 102647 + es_MX + 0 + 2023-04-15 16:49:45.842 + 100 + Comando a ejecutar en el PDV + + true + false + Comando + b53195ec-518a-4ffd-a86b-c22203847806 + 2023-04-15 16:49:45.842 + 100 + + + + + 0 + 100449 + + + + 102648 + + 0 + + + 55175 + + 2023-04-15 16:49:45.886 + 100 + + Immutable Universally Unique Identifier + 36 + + ECA14 + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + + true + false + true + false + true + false + false + false + false + + false + false + false + Immutable Universally Unique Identifier + + + 0 + 0 + + 9e426dcc-e00e-4bc7-a551-e861379f74a4 + 2023-04-15 16:49:45.886 + 100 + + + + + 0 + 102648 + es_MX + 0 + 2023-04-15 16:49:46.553 + 100 + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + true + false + Immutable Universally Unique Identifier + 088067ab-7ad5-4392-990e-67abf0e412e2 + 2023-04-15 16:49:46.553 + 100 + + + + + 0 + 100443 + + + + 102649 + + 0 + + + 55175 + + 2023-04-15 16:49:46.601 + 100 + + Organizational entity within client + 22 + + ECA14 + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + + true + true + true + true + true + false + false + false + false + + false + true + true + Organization + + + 20 + 0 + + eb1fdb6e-d4d8-4833-8ad4-a9ceb11ee2a9 + 2023-04-15 16:49:46.601 + 100 + + + + + 0 + 102649 + es_MX + 0 + 2023-04-15 16:49:48.366 + 100 + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + false + Organization + 942ecabb-4470-40c8-996b-197499a4c996 + 2023-04-15 16:49:48.366 + 100 + + + + + 0 + 100441 + + + + 102650 + + 0 + + + 55175 + + 2023-04-15 16:49:48.404 + 100 + + + 22 + + ECA14 + + + + true + false + true + false + true + false + false + false + false + + false + false + false + POS Command Shortcut + + + 0 + 0 + + fb251a73-98c9-4731-87d5-94496fca6007 + 2023-04-15 16:49:48.404 + 100 + + + + + 0 + 102650 + es_MX + 0 + 2023-04-15 16:49:49.132 + 100 + + + true + false + POS Command Shortcut + b19371e4-3a47-49d9-a79b-b3fab75f0e7d + 2023-04-15 16:49:49.132 + 100 + + + + + 0 + 100450 + + + + 102651 + + 0 + + + 55175 + + 2023-04-15 16:49:49.173 + 100 + + Point of Sales Terminal + 22 + + ECA14 + The POS Terminal defines the defaults and functions available for the POS Form + + + true + true + true + true + true + false + false + false + false + + false + true + false + POS Terminal + + + 30 + 0 + + 203ffc64-6934-4338-aba1-a864006d553b + 2023-04-15 16:49:49.173 + 100 + + + + + 0 + 102651 + es_MX + 0 + 2023-04-15 16:49:49.735 + 100 + Point of Sales Terminal + The POS Terminal defines the defaults and functions available for the POS Form + true + false + POS Terminal + 380c37ce-39af-4f93-b1b6-ee4a152a6063 + 2023-04-15 16:49:49.735 + 100 + + + + + 0 + 100452 + + + + 102652 + + 0 + + + 55175 + + 2023-04-15 16:49:49.772 + 100 + + Shortcut Key Set + 29 + + ECA14 + + + + true + true + true + true + true + false + false + false + false + + false + false + true + Shortcut + + + 60 + 0 + + 904f9bf4-cbd9-4230-b5a4-95455bb5771c + 2023-04-15 16:49:49.772 + 100 + + + + + 0 + 102652 + es_MX + 0 + 2023-04-15 16:49:50.422 + 100 + Conjunto de Atajos del Teclado + + true + false + Atajo + 1ebfe355-01df-49fa-a78e-e2f9bc51d2f4 + 2023-04-15 16:49:50.422 + 100 + + + + diff --git a/pos/xml/migration/09970_ECA14_Add_Return_References.xml b/pos/xml/migration/09970_ECA14_Add_Return_References.xml new file mode 100644 index 0000000000..0cf4dcc37b --- /dev/null +++ b/pos/xml/migration/09970_ECA14_Add_Return_References.xml @@ -0,0 +1,868 @@ + + + + + + 3144e8e6-9a8f-47df-9f75-9e211e29c50e + 100 + 2023-08-29 20:17:06.798 + Source RMA + + + + + Source RMA + true + This field is used for get reference of source RMA + 10 + ECA14 + Return Reference for new Order + 100 + 2023-08-29 20:17:06.798 + ECA14_Source_RMA_ID + 54230 + 30 + 0 + 62208 + 0 + + + + + cf888724-fc37-4ca4-8960-d90e3874e16c + 100 + 2023-08-29 20:17:08.787 + Source RMA + + + + + Source RMA + false + true + This field is used for get reference of source RMA + Return Reference for new Order + 100 + 2023-08-29 20:17:08.787 + 0 + es_MX + 62208 + 0 + + + + + ADM Orígen + ADM Orígen + Éste campo muestra la Autorización de Devolución Orígen de la Orden de Ventas + ADM Orígen para la Orden de Venta Creada + es_MX + 62208 + + + + + 463b8573-2bd2-4aa3-bb7e-8c72d1f7f71c + 100 + 2023-08-29 20:18:29.439 + Source RMA Line + + + + + Source RMA Line + true + This field is used for get reference of source RMA Line + 10 + ECA14 + Return Reference for new Order Line + 100 + 2023-08-29 20:18:29.439 + ECA14_Source_RMALine_ID + 54233 + 30 + 0 + 62209 + 0 + + + + + af261acd-3f12-4ad6-ab0c-4314816fa6f5 + 100 + 2023-08-29 20:18:30.534 + Source RMA Line + + + + + Source RMA Line + false + true + This field is used for get reference of source RMA Line + Return Reference for new Order Line + 100 + 2023-08-29 20:18:30.534 + 0 + es_MX + 62209 + 0 + + + + + ADM Orígen de La Línea de Orden + ADM Orígen de La Línea de Orden + Éste campo muestra la Línea Autorización de Devolución que dio Orígen a la línea de orden de ventas + ADM Orígen de La Línea de Orden creada + es_MX + 62209 + + + + + b1729099-6ade-42af-aa11-5f2fab9cf225 + 100 + 2023-08-29 20:22:15.842 + Invoice Reference for Document + + + + + Invoice Reference for Document + true + This field is used for get reference of invoice on payment and payment reference + 10 + ECA14 + Invoice Reference for Payment and Payment Reference + 100 + 2023-08-29 20:22:15.842 + ECA14_Invoice_Reference_ID + 336 + 30 + 0 + 62210 + 0 + + + + + 3ef9e600-0d8e-4a0f-84f1-d14ee1cf3931 + 100 + 2023-08-29 20:22:16.667 + Invoice Reference for Document + + + + + Invoice Reference for Document + false + true + This field is used for get reference of invoice on payment and payment reference + Invoice Reference for Payment and Payment Reference + 100 + 2023-08-29 20:22:16.667 + 0 + es_MX + 62210 + 0 + + + + + Referencia de Documento por Cobrar + Referencia de Documento por Cobrar + Éste campo es usado como referencia de documento por cobrar en Cobros y Referencia de Cobros + Referencia de Documento por Cobrar en Pagos y Referencias de Pagos + es_MX + 62210 + + + + + + 0 + + + 974c6d2c-88ed-4b5c-b783-294bacfe7b0a + 100 + 2023-08-29 20:23:57.608 + 0 + true + -1 + + Source RMA + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + This field is used for get reference of source RMA + + 10 + ECA14 + Return Reference for new Order + + 100 + 2023-08-29 20:23:57.608 + + ECA14_Source_RMA_ID + + + 259 + 54230 + 30 + + 0 + + 62208 + 100783 + 0 + + + + + + 40882e63-76df-42ea-9b23-e1ce01ca60da + 100 + 2023-08-29 20:23:58.934 + Source RMA + false + true + 100 + 2023-08-29 20:23:58.934 + 0 + es_MX + 100783 + 0 + + + + + + 0 + + + 81448130-5053-4dbf-b02c-2ab536f75180 + 100 + 2023-08-29 20:24:21.699 + 0 + true + - + + Source RMA Line + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + This field is used for get reference of source RMA Line + + 10 + ECA14 + Return Reference for new Order Line + -1 + 100 + 2023-08-29 20:24:21.699 + + ECA14_Source_RMALine_ID + + + 260 + 54233 + 30 + + 0 + + 62209 + 100784 + 0 + + + + + + 7c941c0f-8b8b-4b35-ba7b-97f871266da0 + 100 + 2023-08-29 20:24:22.647 + Source RMA Line + false + true + 100 + 2023-08-29 20:24:22.647 + 0 + es_MX + 100784 + 0 + + + + + + -1 + + + + + + 0 + + + 6722d7bb-84f0-4931-a7b0-bdbec19bf8cb + 100 + 2023-08-29 20:25:05.971 + 0 + true + + + Invoice Reference for Document + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + This field is used for get reference of invoice on payment and payment reference + + 10 + ECA14 + Invoice Reference for Payment and Payment Reference + -1 + 100 + 2023-08-29 20:25:05.97 + + ECA14_Invoice_Reference_ID + + + 335 + 336 + 30 + + 0 + + 62210 + 100785 + 0 + + + + + + 94483c38-c61d-4309-aa1b-21b4105b589a + 100 + 2023-08-29 20:25:07.236 + Invoice Reference for Document + false + true + 100 + 2023-08-29 20:25:07.236 + 0 + es_MX + 100785 + 0 + + + + + + 0 + + + 96be168f-04c6-4e3e-8c1e-05fe3a5da587 + 100 + 2023-08-29 20:25:31.748 + 0 + true + + + Invoice Reference for Document + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + This field is used for get reference of invoice on payment and payment reference + + 10 + ECA14 + Invoice Reference for Payment and Payment Reference + -1 + 100 + 2023-08-29 20:25:31.748 + + ECA14_Invoice_Reference_ID + + + 54874 + 336 + 30 + + 0 + + 62210 + 100786 + 0 + + + + + + 5daa5298-643d-443f-9444-c82826d40796 + 100 + 2023-08-29 20:25:33.15 + Invoice Reference for Document + false + true + 100 + 2023-08-29 20:25:33.15 + 0 + es_MX + 100786 + 0 + + + + + fe96ba16-0a0b-4c60-b70b-d7febc8c710c + 100 + 2023-08-29 20:25:54.864 + 0 + 250 + 250 + 0 + + Invoice Reference for Document + false + false + false + + false + false + false + false + true + true + true + true + true + + + This field is used for get reference of invoice on payment and payment reference + ECA14 + + 0 + Invoice Reference for Payment and Payment Reference + + 100 + 2023-08-29 20:25:54.864 + + 55132 + + + 0 + + 103381 + + + + 100786 + 0 + + + + + 2298d474-c46b-486a-9454-cc04f7d22f8a + 100 + 2023-08-29 20:25:56.313 + Invoice Reference for Document + false + true + This field is used for get reference of invoice on payment and payment reference + Invoice Reference for Payment and Payment Reference + 100 + 2023-08-29 20:25:56.313 + 0 + es_MX + 103381 + 0 + + + + + d518d66e-836e-417f-bf9f-f72ac5779382 + 100 + 2023-08-29 20:26:28.438 + 0 + 190 + 190 + 0 + + Invoice Reference for Document + false + false + false + + false + false + false + false + true + true + true + true + true + + + This field is used for get reference of invoice on payment and payment reference + ECA14 + + 0 + Invoice Reference for Payment and Payment Reference + + 100 + 2023-08-29 20:26:28.437 + + 55133 + + + 0 + + 103382 + + + + 100786 + 0 + + + + + d30c7ca9-8b75-4067-bd42-b35acca45f01 + 100 + 2023-08-29 20:26:29.782 + Invoice Reference for Document + false + true + This field is used for get reference of invoice on payment and payment reference + Invoice Reference for Payment and Payment Reference + 100 + 2023-08-29 20:26:29.782 + 0 + es_MX + 103382 + 0 + + + + + 68cf0c6d-8ce1-4f73-b8f3-016d7d9e93ae + 100 + 2023-08-29 20:26:57.792 + 0 + 670 + 670 + 0 + + Source RMA + false + true + false + + false + false + false + false + true + true + true + true + true + + + This field is used for get reference of source RMA + ECA14 + + 0 + Return Reference for new Order + + 100 + 2023-08-29 20:26:57.792 + + 186 + + + 0 + + 103383 + + + + 100783 + 0 + + + + + 9e724d3c-3323-4c2a-8372-43cf01a79fd7 + 100 + 2023-08-29 20:26:59.127 + Source RMA + false + true + This field is used for get reference of source RMA + Return Reference for new Order + 100 + 2023-08-29 20:26:59.127 + 0 + es_MX + 103383 + 0 + + + + + e2ad4816-196c-4106-b694-46a0720a12ec + 100 + 2023-08-29 20:27:12.928 + 0 + 460 + 460 + 0 + + Source RMA Line + false + true + false + + false + false + false + false + true + true + true + true + true + + + This field is used for get reference of source RMA Line + ECA14 + + 0 + Return Reference for new Order Line + + 100 + 2023-08-29 20:27:12.928 + + 187 + + + 0 + + 103384 + + + + 100784 + 0 + + + + + 6492fd67-7c01-482d-b113-3e4dd798b937 + 100 + 2023-08-29 20:27:14.269 + Source RMA Line + false + true + This field is used for get reference of source RMA Line + Return Reference for new Order Line + 100 + 2023-08-29 20:27:14.269 + 0 + es_MX + 103384 + 0 + + + + + bb47f6a9-0aef-48b0-b556-5f4dd601c2f5 + 100 + 2023-08-29 20:27:30.917 + 0 + 800 + 800 + 0 + + Invoice Reference for Document + false + true + false + + false + false + false + false + true + true + true + true + true + + + This field is used for get reference of invoice on payment and payment reference + ECA14 + + 0 + Invoice Reference for Payment and Payment Reference + + 100 + 2023-08-29 20:27:30.917 + + 54419 + + + 0 + + 103385 + + + + 100785 + 0 + + + + + c518df85-f2e5-47a3-8c2e-29868be87fcb + 100 + 2023-08-29 20:27:32.069 + Invoice Reference for Document + false + true + This field is used for get reference of invoice on payment and payment reference + Invoice Reference for Payment and Payment Reference + 100 + 2023-08-29 20:27:32.069 + 0 + es_MX + 103385 + 0 + + + + + 0be58389-c808-4f88-8d8c-9c7fe7e3cf53 + 100 + 2023-08-29 20:27:51.432 + 0 + 820 + 820 + 0 + + Invoice Reference for Document + false + true + false + + false + false + false + false + true + true + true + true + true + + + This field is used for get reference of invoice on payment and payment reference + ECA14 + + 0 + Invoice Reference for Payment and Payment Reference + + 100 + 2023-08-29 20:27:51.432 + + 330 + + + 0 + + 103386 + + + + 100785 + 0 + + + + + 9b94c8ef-78e2-4ece-9603-b392f4bbbb27 + 100 + 2023-08-29 20:27:52.728 + Invoice Reference for Document + false + true + This field is used for get reference of invoice on payment and payment reference + Invoice Reference for Payment and Payment Reference + 100 + 2023-08-29 20:27:52.728 + 0 + es_MX + 103386 + 0 + + + + diff --git a/pos/xml/migration/09980_ECA14_Add_WriteOff_by_Percent.xml b/pos/xml/migration/09980_ECA14_Add_WriteOff_by_Percent.xml new file mode 100644 index 0000000000..1d826b7492 --- /dev/null +++ b/pos/xml/migration/09980_ECA14_Add_WriteOff_by_Percent.xml @@ -0,0 +1,402 @@ + + + + + + 0230ae94-85d7-434b-af55-a48c125ee44c + 100 + 2023-09-01 11:38:36.238 + Allows Detailed Cash Closing + + + + + Allows Detailed Cash Closing + true + Allows cash closing for this cash detailed + 1 + ECA14 + Allows Detailed Cash Closing + 100 + 2023-09-01 11:38:36.238 + IsAllowsDetailCashClosing + + 20 + 0 + 62211 + 0 + + + + + 3b1a2a09-b542-4ea7-8327-a8bb056cbd19 + 100 + 2023-09-01 11:38:38.061 + Allows Detailed Cash Closing + + + + + Allows Detailed Cash Closing + false + true + Allows cash closing for this cash detailed + Allows Detailed Cash Closing + 100 + 2023-09-01 11:38:38.061 + 0 + es_MX + 62211 + 0 + + + + + Permitir Cierre de Caja (Detallado) + Permitir Cierre de Caja (Detallado) + Permitir Cierre de Caja (Detallado) para el punto de ventas + Permitir Cierre de Caja (Detallado) + es_MX + 62211 + + + + + f4cb9f91-aa6a-40ec-a69d-974a646d7ddd + 100 + 2023-09-01 11:42:55.099 + WriteOff based on Percent + + + + + WriteOff based on Percent + true + WriteOff based on Percent for this user + 1 + ECA14 + WriteOff based on Percent + 100 + 2023-09-01 11:42:55.099 + ECA14_WriteOffByPercent + + 20 + 0 + 62212 + 0 + + + + + 075713dd-6863-46ac-afea-e584191ebd51 + 100 + 2023-09-01 11:42:56.033 + WriteOff based on Percent + + + + + WriteOff based on Percent + false + true + WriteOff based on Percent for this user + WriteOff based on Percent + 100 + 2023-09-01 11:42:56.033 + 0 + es_MX + 62212 + 0 + + + + + Tolerancia en Base a % + Tolerancia en Base a % + La tolerancia es basada en % para calcular el monto + Tolerancia en Base a % para el cálculo + es_MX + 62212 + + + + + + true + + 49231b72-bcd4-41ec-a0f9-919176be5e6b + 100 + 20 + 1 + + + 62212 + 100 + 54872 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + WriteOff based on Percent for this user + ECA14_WriteOffByPercent + + 0 + + + + false + N + true + false + + N + false + false + WriteOff based on Percent + false + 100787 + + 2023-09-01 11:44:16.671 + + 2023-09-01 11:44:16.671 + + true + WriteOff based on Percent + + + + + d311e336-3f47-4f46-ba08-118683a6841b + 100 + 2023-09-01 11:44:17.625 + WriteOff based on Percent + false + true + 100 + 2023-09-01 11:44:17.625 + 0 + es_MX + 100787 + 0 + + + + + 6d71bd03-6f1a-4234-bb22-1d55a8b724e6 + 100 + 2023-09-01 11:44:46.068 + 0 + 320 + 320 + 0 + + WriteOff based on Percent + false + false + false + + false + false + false + false + true + true + true + true + true + + + WriteOff based on Percent for this user + ECA14 + + 0 + WriteOff based on Percent + + 100 + 2023-09-01 11:44:46.067 + + 55130 + + + 0 + + 103387 + + + + 100787 + 0 + + + + + 3074b7b4-3fa5-449c-9f96-81c40cdfa295 + 100 + 2023-09-01 11:44:47.275 + WriteOff based on Percent + false + true + WriteOff based on Percent for this user + WriteOff based on Percent + 100 + 2023-09-01 11:44:47.275 + 0 + es_MX + 103387 + 0 + + + + + @ECA14_WriteOffByPercent@='Y' + + + + + + true + + c0cb62ac-db1e-48ee-abbf-4d0a196fd52a + 100 + 20 + 1 + + + 62211 + 100 + 54872 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + Allows cash closing for this cash detailed + IsAllowsDetailCashClosing + + 0 + + + + false + N + true + false + + N + false + false + Allows Detailed Cash Closing + false + 100788 + + 2023-09-01 11:46:35.747 + + 2023-09-01 11:46:35.747 + + true + Allows Detailed Cash Closing + + + + + 2d811829-36d2-48ff-9d03-deefa64e9454 + 100 + 2023-09-01 11:46:37.078 + Allows Detailed Cash Closing + false + true + 100 + 2023-09-01 11:46:37.078 + 0 + es_MX + 100788 + 0 + + + + + b438a63e-7fec-4ea8-8b7a-f083f4dce919 + 100 + 2023-09-01 11:46:49.58 + 0 + 330 + 330 + 0 + + Allows Detailed Cash Closing + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows cash closing for this cash detailed + ECA14 + + 0 + Allows Detailed Cash Closing + + 100 + 2023-09-01 11:46:49.579 + + 55130 + + + 0 + + 103388 + + + + 100788 + 0 + + + + + 81d0fef6-26da-45ff-b422-3c92bdddc5be + 100 + 2023-09-01 11:46:50.854 + Allows Detailed Cash Closing + false + true + Allows cash closing for this cash detailed + Allows Detailed Cash Closing + 100 + 2023-09-01 11:46:50.854 + 0 + es_MX + 103388 + 0 + + + + diff --git a/pos/xml/migration/09990_ECA14_Add_Message_for_WriteOff.xml b/pos/xml/migration/09990_ECA14_Add_Message_for_WriteOff.xml new file mode 100644 index 0000000000..0b1d42ce57 --- /dev/null +++ b/pos/xml/migration/09990_ECA14_Add_Message_for_WriteOff.xml @@ -0,0 +1,89 @@ + + + + + + POS.WriteOffNotAllowedByAmount + 82ff6c8a-ef32-4a43-adaf-9ae1219d52d4 + 100 + 2023-09-04 15:15:02.651 + I + + Requested amount is not allowed for user + true + ECA14 + 100 + 2023-09-04 15:15:02.651 + 0 + 53781 + 0 + + + + + 9b427f92-a58c-4edd-9163-6fe99cb03da2 + 100 + 2023-09-04 15:15:06.654 + + Requested amount is not allowed for user + false + true + 100 + 2023-09-04 15:15:06.654 + 0 + 53781 + es_MX + 0 + + + + + El monto solicitado no está permitido para el usuario + 53781 + es_MX + + + + + POS.SupervisorNotFound + 48c2aba8-7600-4b1b-aef0-25c5af7ddfd7 + 100 + 2023-09-04 15:16:35.035 + I + + The supervisor not found based on this PIN + true + ECA14 + 100 + 2023-09-04 15:16:35.035 + 0 + 53782 + 0 + + + + + 477684fe-0ce9-4f91-85ab-f193e66ee6e5 + 100 + 2023-09-04 15:16:35.842 + + The supervisor not found based on this PIN + false + true + 100 + 2023-09-04 15:16:35.842 + 0 + 53782 + es_MX + 0 + + + + + Supervisor no encontrado o el PIN no es válido + 53782 + es_MX + + + + diff --git a/pos/xml/migration/10000_ECA14_Add_Check_for_WriteOff.xml b/pos/xml/migration/10000_ECA14_Add_Check_for_WriteOff.xml new file mode 100644 index 0000000000..b8801d5bc2 --- /dev/null +++ b/pos/xml/migration/10000_ECA14_Add_Check_for_WriteOff.xml @@ -0,0 +1,222 @@ + + + + + + bb00c84e-c8e8-44be-a115-cccc112a7ab4 + 100 + 2023-09-04 15:58:01.856 + Allows Writeoff amount + + + + + Allows Writeoff amount + true + Allows Writeoff amount for this seller + 1 + ECA14 + Allows Writeoff amount + 100 + 2023-09-04 15:58:01.856 + IsAllowsWriteOffAmount + + 20 + 0 + 62213 + 0 + + + + + 957bf820-cd51-4d88-9957-b8e2ae2a32b2 + 100 + 2023-09-04 15:58:03.015 + Allows Writeoff amount + + + + + Allows Writeoff amount + false + true + Allows Writeoff amount for this seller + Allows Writeoff amount + 100 + 2023-09-04 15:58:03.015 + 0 + es_MX + 62213 + 0 + + + + + Permitir Ajuste de Documentos + Permitir Ajuste de Documentos + Permitir Ajuste de Documentos para éste vendedor + Permitir Ajuste de Documentos + es_MX + 62213 + + + + + + true + + dafa79f0-7f56-4264-a5b1-7117de1938c5 + 100 + 20 + 1 + + + 62213 + 100 + 54872 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + Allows Writeoff amount for this seller + IsAllowsWriteOffAmount + + 0 + + + + false + N + true + false + + N + false + false + Allows Writeoff amount + false + 100789 + + 2023-09-04 15:58:37.381 + + 2023-09-04 15:58:37.381 + + true + Allows Writeoff amount + + + + + 03ce4ac2-2699-427a-b79f-924e73865bd0 + 100 + 2023-09-04 15:58:38.393 + Allows Writeoff amount + false + true + 100 + 2023-09-04 15:58:38.393 + 0 + es_MX + 100789 + 0 + + + + + e47088e3-3d03-4a3a-8c4e-d6d3d38d90a1 + 100 + 2023-09-04 15:59:27.17 + 0 + 340 + 340 + 0 + + Allows Writeoff amount + false + false + false + + false + false + false + false + true + true + true + true + true + + + Allows Writeoff amount for this seller + ECA14 + + 0 + Allows Writeoff amount + + 100 + 2023-09-04 15:59:27.169 + + 55130 + + + 0 + + 103389 + + + + 100789 + 0 + + + + + b0e0ed36-a15a-476f-a0c0-43bab9a445e8 + 100 + 2023-09-04 15:59:28.301 + Allows Writeoff amount + false + true + Allows Writeoff amount for this seller + Allows Writeoff amount + 100 + 2023-09-04 15:59:28.301 + 0 + es_MX + 103389 + 0 + + + + + @IsAllowsWriteOffAmount@ = 'Y' + + + + + @IsAllowsWriteOffAmount@ = 'Y' + + + + + @IsAllowsWriteOffAmount@ = 'Y' + + + + + + @ECA14_WriteOffByPercent@='Y' & @IsAllowsWriteOffAmount@ = 'Y' + + + + diff --git a/pos/xml/migration/10010_ECA14_Add_Display_Logic.xml b/pos/xml/migration/10010_ECA14_Add_Display_Logic.xml new file mode 100644 index 0000000000..1a84dad3f5 --- /dev/null +++ b/pos/xml/migration/10010_ECA14_Add_Display_Logic.xml @@ -0,0 +1,15 @@ + + + + + + @ECA14_WriteOffByPercent@='N' & @IsAllowsWriteOffAmount@ = 'Y' + + + + + @ECA14_WriteOffByPercent@='N' & @IsAllowsWriteOffAmount@ = 'Y' + + + + diff --git a/pos/xml/migration/10020_ECA14_Add_Amount_reference_for_payment.xml b/pos/xml/migration/10020_ECA14_Add_Amount_reference_for_payment.xml new file mode 100644 index 0000000000..5e73eaa19b --- /dev/null +++ b/pos/xml/migration/10020_ECA14_Add_Amount_reference_for_payment.xml @@ -0,0 +1,267 @@ + + + + + + 44dfca71-f00b-4a74-a07d-4f85b029656d + 100 + 2023-09-05 10:19:42.234 + Invoice Reference Amount + + + + + Invoice Reference Amount + true + Use this field for store a amount to allocate from credit memo reference + 10 + ECA14 + This field allows define the reference amount for allocate + 100 + 2023-09-05 10:19:42.234 + ECA14_Reference_Amount + + 12 + 0 + 62214 + 0 + + + + + c5903a8d-b515-4a7d-8364-41c433b51af0 + 100 + 2023-09-05 10:19:43.624 + Invoice Reference Amount + + + + + Invoice Reference Amount + false + true + Use this field for store a amount to allocate from credit memo reference + This field allows define the reference amount for allocate + 100 + 2023-09-05 10:19:43.624 + 0 + es_MX + 62214 + 0 + + + + + Referencia de Monto de Documento + Referencia de Monto de Documento + Use éste campo para almacenar la referencia del monto que será asignado del documento + Referencia de Monto de Documento para asignar + es_MX + 62214 + + + + + + true + + e6e29086-0320-49f5-85df-2d4b04499606 + 100 + 12 + 10 + + + 62214 + 100 + 335 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + Use this field for store a amount to allocate from credit memo reference + ECA14_Reference_Amount + + 0 + + + + false + N + false + false + + + false + false + Invoice Reference Amount + false + 100790 + + 2023-09-05 10:20:37.545 + + 2023-09-05 10:20:37.545 + + true + This field allows define the reference amount for allocate + + + + + 67cf3001-347e-4593-9acf-3e32ac7ae897 + 100 + 2023-09-05 10:20:39.009 + Invoice Reference Amount + false + true + 100 + 2023-09-05 10:20:39.009 + 0 + es_MX + 100790 + 0 + + + + + dee9cd75-cb89-4140-8020-1f0dd1a51fc1 + 100 + 2023-09-05 10:20:52.072 + 0 + 830 + 830 + 0 + + Invoice Reference Amount + false + true + false + + false + false + false + false + true + true + true + true + true + + + Use this field for store a amount to allocate from credit memo reference + ECA14 + + 0 + This field allows define the reference amount for allocate + + 100 + 2023-09-05 10:20:52.072 + + 330 + + + 0 + + 103390 + + + + 100790 + 0 + + + + + 373e9f48-152a-455e-bc60-488d98a22eb4 + 100 + 2023-09-05 10:20:53.202 + Invoice Reference Amount + false + true + Use this field for store a amount to allocate from credit memo reference + This field allows define the reference amount for allocate + 100 + 2023-09-05 10:20:53.202 + 0 + es_MX + 103390 + 0 + + + + + ea48b0c6-9e1a-495d-9949-9ba838840e95 + 100 + 2023-09-05 10:21:09.897 + 0 + 810 + 810 + 0 + + Invoice Reference Amount + false + true + false + + false + false + false + false + true + true + true + true + true + + + Use this field for store a amount to allocate from credit memo reference + ECA14 + + 0 + This field allows define the reference amount for allocate + + 100 + 2023-09-05 10:21:09.897 + + 54419 + + + 0 + + 103391 + + + + 100790 + 0 + + + + + 66e2948a-5410-41f1-9b99-c36d68ec4f7e + 100 + 2023-09-05 10:21:10.838 + Invoice Reference Amount + false + true + Use this field for store a amount to allocate from credit memo reference + This field allows define the reference amount for allocate + 100 + 2023-09-05 10:21:10.838 + 0 + es_MX + 103391 + 0 + + + + diff --git a/pos/xml/migration/10030_ECA14_Add_Order_Reference_for_RMA.xml b/pos/xml/migration/10030_ECA14_Add_Order_Reference_for_RMA.xml new file mode 100644 index 0000000000..1154407d9c --- /dev/null +++ b/pos/xml/migration/10030_ECA14_Add_Order_Reference_for_RMA.xml @@ -0,0 +1,397 @@ + + + + + + d449026a-eacd-4445-b868-96566d227061 + 100 + 2023-09-07 21:44:06.344 + Source Order Line + + + + + Source Order Line + true + This field is used for get reference of source RMA Line + 10 + ECA14 + Order Line reference for RMA + 100 + 2023-09-07 21:44:06.344 + ECA14_Source_OrderLine_ID + 271 + 30 + 0 + 62215 + 0 + + + + + 1767f2e9-b7d7-4a3d-abe0-f70b8c54f2c3 + 100 + 2023-09-07 21:44:07.785 + Source Order Line + + + + + Source Order Line + false + true + This field is used for get reference of source RMA Line + Order Line reference for RMA + 100 + 2023-09-07 21:44:07.785 + 0 + es_MX + 62215 + 0 + + + + + Referencia de Linea de Orden + Referencia de Linea de Orden + Éste campo muestra la referencia de la linea de orden de ventas original + Referencia de Linea de Orden para RMA + es_MX + 62215 + + + + + b17b355b-0ad2-4110-b9bb-290a2a5c12a4 + 100 + 2023-09-07 21:45:46.504 + Source Order + + + + + Source Order + true + This field is used for get reference of source RMA + 10 + ECA14 + Order reference for RMA + 100 + 2023-09-07 21:45:46.504 + ECA14_Source_Order_ID + 290 + 30 + 0 + 62216 + 0 + + + + + a91847b1-47de-443e-9deb-df56cc136fb5 + 100 + 2023-09-07 21:45:47.396 + Source Order + + + + + Source Order + false + true + This field is used for get reference of source RMA + Order reference for RMA + 100 + 2023-09-07 21:45:47.396 + 0 + es_MX + 62216 + 0 + + + + + Referencia de Orden de Ventas + Referencia de Orden de Ventas + Éste campo muestra la orden de ventas que dio orígen a la devolución + Referencia de Orden de Ventas para Devolución + es_MX + 62216 + + + + + + true + + 6ebdd85f-56e2-42ca-ae8c-c58992adf202 + 100 + 30 + 10 + + 290 + 62216 + 100 + 259 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + This field is used for get reference of source RMA + ECA14_Source_Order_ID + + 0 + + + + false + N + false + false + + -1 + false + false + Source Order + false + 100794 + + 2023-09-07 21:46:51.36 + + 2023-09-07 21:46:51.36 + + true + Order reference for RMA + + + + + d4db90a2-1fd1-4406-b67c-a4791812a409 + 100 + 2023-09-07 21:46:52.377 + Source Order + false + true + 100 + 2023-09-07 21:46:52.377 + 0 + es_MX + 100794 + 0 + + + + + + true + + 0657254c-0c7a-4ebf-ad49-641bec94d692 + 100 + 30 + 10 + + 271 + 62215 + 100 + 260 + + 0 + 0 + ECA14 + 0 + true + false + false + true + + N + false + + true + This field is used for get reference of source RMA Line + ECA14_Source_OrderLine_ID + + 0 + + + + false + N + false + false + + -1 + false + false + Source Order Line + false + 100795 + + 2023-09-07 21:47:16.563 + + 2023-09-07 21:47:16.563 + + true + Order Line reference for RMA + + + + + 84b40bcd-48d8-455f-b722-11eec0f89a4e + 100 + 2023-09-07 21:47:17.917 + Source Order Line + false + true + 100 + 2023-09-07 21:47:17.917 + 0 + es_MX + 100795 + 0 + + + + + 111f0c6c-0c0b-447e-8b4f-625a8fd86cb1 + 100 + 2023-09-07 21:48:14.524 + 0 + 570 + 570 + 0 + + Source Order + false + false + false + + false + false + false + false + true + true + true + true + true + + + This field is used for get reference of source RMA + ECA14 + + 0 + Order reference for RMA + + 100 + 2023-09-07 21:48:14.524 + + 54871 + + + 0 + + 103397 + + + + 100794 + 0 + + + + + b8ce3a33-9074-40b3-8e9c-0418cb831157 + 100 + 2023-09-07 21:48:15.549 + Source Order + false + true + This field is used for get reference of source RMA + Order reference for RMA + 100 + 2023-09-07 21:48:15.549 + 0 + es_MX + 103397 + 0 + + + + + 1ad5d37f-d1e7-4098-8b3a-478336efe667 + 100 + 2023-09-07 21:48:24.727 + 0 + 470 + 470 + 0 + + Source Order Line + false + false + false + + false + false + false + false + true + true + true + true + true + + + This field is used for get reference of source RMA Line + ECA14 + + 0 + Order Line reference for RMA + + 100 + 2023-09-07 21:48:24.727 + + 54872 + + + 0 + + 103398 + + + + 100795 + 0 + + + + + a87db88b-1909-4dbe-a534-a5ba5f2a9120 + 100 + 2023-09-07 21:48:25.359 + Source Order Line + false + true + This field is used for get reference of source RMA Line + Order Line reference for RMA + 100 + 2023-09-07 21:48:25.359 + 0 + es_MX + 103398 + 0 + + + + diff --git a/processors/build.gradle b/processors/build.gradle new file mode 100644 index 0000000000..e90745f14e --- /dev/null +++ b/processors/build.gradle @@ -0,0 +1,93 @@ +plugins { + id 'java-library' + id 'maven-publish' + id 'signing' +} + +java { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_17 +} + +repositories { + mavenLocal() + mavenCentral() +} + +dependencies { + // Jakarta RESTful Web Services + // https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api + api 'javax.ws.rs:javax.ws.rs-api:2.1.1' + + // Jersey core client implementation + // https://mvnrepository.com/artifact/ org.glassfish.jersey.core/jersey-client + api 'org.glassfish.jersey.core:jersey-client:2.34' + // https://mvnrepository.com/artifact/org.glassfish.jersey.inject/jersey-hk2 + api 'org.glassfish.jersey.inject:jersey-hk2:2.34' + + // JSON in Java + // https://mvnrepository.com/artifact/org.json/json + api 'org.json:json:20211205' + // Local + api project(path: ':base') + api project(path: ':project') +} + +sourceSets { + main { + java { + srcDirs = ['src/main/java/base'] + } + } +} + +def entityType = 'ECA46' + +jar { + manifest { + attributes( + "Implementation-Title": "ADempiere Business Processors", + "Implementation-Version": publishVersion, + "EntityType": entityType + ) + } +} + +publishing { + repositories { + mavenLocal() + maven { + url = publishLibraryRepo + credentials { + username = publishUsername + password = publishPassword + } + } + } + publications { + mavenJava(MavenPublication) { + groupId publishGroupId + artifactId 'processors' + version publishVersion + from components.java + pom { + name = 'Processors' + description = 'A project to convert all processors to process and call it from extern services' + url = 'http://adempiere.io/' + licenses { + license { + name = 'GNU General Public License, version 2' + url = 'https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt' + } + } + developers { + developer { + id = 'yamelsenih' + name = 'Yamel Senih' + email = 'ysenih@erpya.com' + } + } + } + } + } +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/process/AcctProcessor.java b/processors/src/main/java/base/org/spin/eca46/process/AcctProcessor.java new file mode 100644 index 0000000000..d5a511297b --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/process/AcctProcessor.java @@ -0,0 +1,127 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.eca46.process; + +import java.sql.Timestamp; +import java.util.Optional; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.acct.SessionPoster; +import org.compiere.model.MAcctProcessor; +import org.compiere.model.MAcctProcessorLog; +import org.compiere.model.MAcctSchema; +import org.compiere.model.MAcctSchemaProvider; +import org.compiere.util.TimeUtil; +import org.compiere.util.Trx; + +/** + * Generated Process for (Product Internal Use) + * @author Jorg Janke + * @version $Id: RequestProcessor.java,v 1.3 2006/07/30 00:53:33 jjanke Exp $ + * @version Release 3.9.3 + */ +public class AcctProcessor extends AcctProcessorAbstract { + + private MAcctProcessor acctProcessor = null; + private MAcctSchemaProvider provider = new MAcctSchemaProvider(); + private SessionPoster sessionPoster = new SessionPoster(); + private StringBuilder summary = new StringBuilder("Just initialized "); + /** Initial work time */ + private long startWork; + + @Override + protected void prepare() { + super.prepare(); + if(getAcctProcessorId() <= 0) { + throw new AdempiereException("@C_AcctProcessor_ID@ @NotFound@"); + } + acctProcessor = new MAcctProcessor(getCtx(), getAcctProcessorId(), get_TrxName()); + } + + @Override + protected String doIt() throws Exception { + startWork = System.currentTimeMillis(); + // + String results = getSessionPoster() + .withAccountingSchemas(getAcctSchemas()) + .post(); + + updateLog(results); + return TimeUtil.formatElapsed(new Timestamp(startWork)); + } + + MAcctSchemaProvider getAcctSchemaProvider() { + + return provider; + + } + + private MAcctSchema[] getAcctSchemas() { + + return getAcctSchemaProvider().getAcctSchemas(getCtx(), + getAD_Client_ID(), + getC_AcctSchema_ID(), null); + + } + + int getC_AcctSchema_ID() { + + return acctProcessor.getC_AcctSchema_ID(); + + } + + /** + * Get Server Info + * + * @return info + */ + public String getServerInfo() { + + return "Last=" + Optional.ofNullable(summary.toString()).orElse(""); + + } + + SessionPoster getSessionPoster() { + + return sessionPoster; + + } + + void updateLog(String results) { + + summary = new StringBuilder(results); + + int no = acctProcessor.deleteLog(); + summary.append("Logs deleted=").append(no); + if (acctProcessor.get_TrxName() == null) { + Trx.run(this::addAcctProcessorLog); + } else { + addAcctProcessorLog(acctProcessor.get_TrxName()); + } + } + + /** + * Add Acct Processor Log + * @param trxName + */ + private void addAcctProcessorLog(String trxName) { + MAcctProcessorLog acctProcessorLog = new MAcctProcessorLog(acctProcessor, summary.toString(), trxName); + acctProcessorLog.setReference(TimeUtil.formatElapsed(new Timestamp(startWork))); + acctProcessorLog.saveEx(); + } +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/process/AcctProcessorAbstract.java b/processors/src/main/java/base/org/spin/eca46/process/AcctProcessorAbstract.java new file mode 100644 index 0000000000..d12916787a --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/process/AcctProcessorAbstract.java @@ -0,0 +1,68 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca46.process; + +import org.compiere.process.SvrProcess; + +/** Generated Process for (Run Acct Processor) + * @author ADempiere (generated) + * @version Release 3.9.4 + */ +public abstract class AcctProcessorAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "ECA46_Run_Acct_Processor"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Run Acct Processor"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54657; + /** Parameter Name for Accounting Processor */ + public static final String C_ACCTPROCESSOR_ID = "C_AcctProcessor_ID"; + /** Parameter Value for Accounting Processor */ + private int acctProcessorId; + + @Override + protected void prepare() { + acctProcessorId = getParameterAsInt(C_ACCTPROCESSOR_ID); + } + + /** Getter Parameter Value for Accounting Processor */ + protected int getAcctProcessorId() { + return acctProcessorId; + } + + /** Setter Parameter Value for Accounting Processor */ + protected void setAcctProcessorId(int acctProcessorId) { + this.acctProcessorId = acctProcessorId; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/process/AlertProcessor.java b/processors/src/main/java/base/org/spin/eca46/process/AlertProcessor.java new file mode 100644 index 0000000000..97f643ce4b --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/process/AlertProcessor.java @@ -0,0 +1,419 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.eca46.process; + +import java.io.File; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.Timestamp; +import java.text.DateFormat; +import java.util.ArrayList; +import java.util.Collection; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.logging.Level; + +import org.adempiere.exceptions.AdempiereException; +import org.adempiere.impexp.ArrayExcelExporter; +import org.compiere.model.MAlert; +import org.compiere.model.MAlertProcessor; +import org.compiere.model.MAlertProcessorLog; +import org.compiere.model.MAlertRule; +import org.compiere.model.MSysConfig; +import org.compiere.util.CLogger; +import org.compiere.util.DB; +import org.compiere.util.DisplayType; +import org.compiere.util.Env; +import org.compiere.util.Msg; +import org.compiere.util.TimeUtil; +import org.compiere.util.Trx; +import org.compiere.util.ValueNamePair; +import org.spin.queue.notification.DefaultNotifier; +import org.spin.queue.util.QueueLoader; + +/** + * Generated Process for (Product Internal Use) + * @author Jorg Janke + * @version $Id: RequestProcessor.java,v 1.3 2006/07/30 00:53:33 jjanke Exp $ + * @version Release 3.9.3 + */ +public class AlertProcessor extends AlertProcessorAbstract { + + /** Initial work time */ + private long startWork; + /** The Concrete Model */ + private MAlertProcessor alertProcessor = null; + /** Last Summary */ + private StringBuffer m_summary = new StringBuffer(); + /** Last Error Msg */ + private StringBuffer m_errors = new StringBuffer(); + + @Override + protected void prepare() { + super.prepare(); + if(getAlertProcessorId() <= 0) { + throw new AdempiereException("@AD_AlertProcessor_ID@ @NotFound@"); + } + alertProcessor = new MAlertProcessor(getCtx(), getAlertProcessorId(), get_TrxName()); + } + + @Override + protected String doIt() throws Exception { + startWork = System.currentTimeMillis(); + m_summary = new StringBuffer(); + m_errors = new StringBuffer(); + // + int count = 0; + int countError = 0; + MAlert[] alerts = alertProcessor.getAlerts(false); + for (int i = 0; i < alerts.length; i++) + { + if (!processAlert(alerts[i])) + countError++; + count++; + } + // + String summary = "Total=" + count; + if (countError > 0) + summary += ", Not processed=" + countError; + summary += " - "; + m_summary.insert(0, summary); + // + int no = alertProcessor.deleteLog(); + m_summary.append("Logs deleted=").append(no); + if (alertProcessor.get_TrxName() == null) { + Trx.run(this::addAlertProcessorLog); + } else { + addAlertProcessorLog(alertProcessor.get_TrxName()); + } + return TimeUtil.formatElapsed(new Timestamp(startWork)); + } + + /** + * Add Alert Processor Log + * @param trxName + */ + private void addAlertProcessorLog(String trxName) { + MAlertProcessorLog alertProcessorLog = new MAlertProcessorLog(alertProcessor, m_summary.toString(), trxName); + alertProcessorLog.setReference(TimeUtil.formatElapsed(new Timestamp(startWork))); + alertProcessorLog.setTextMsg(m_errors.toString()); + alertProcessorLog.saveEx(); + } + + /** + * Process Alert + * @param alert alert + * @return true if processed + */ + private boolean processAlert (MAlert alert) + { + if (!alert.isValid()) + return false; + log.info("" + alert); + + StringBuffer message = new StringBuffer(alert.getAlertMessage()) + .append(Env.NL); + // + boolean valid = true; + boolean processed = false; + ArrayList attachments = new ArrayList(); + MAlertRule[] rules = alert.getRules(false); + for (int i = 0; i < rules.length; i++) + { + if (i > 0) + message.append(Env.NL); + String trxName = null; // assume r/o + + MAlertRule rule = rules[i]; + if (!rule.isValid()) + continue; + log.fine("" + rule); + + // Pre + String sql = rule.getPreProcessing(); + if (sql != null && sql.length() > 0) + { + int no = DB.executeUpdate(sql, false, trxName); + if (no == -1) + { + ValueNamePair error = CLogger.retrieveError(); + rule.setErrorMsg("Pre=" + error.getName()); + m_errors.append("Pre=" + error.getName()); + rule.setIsValid(false); + rule.saveEx(); + valid = false; + break; + } + } // Pre + + // The processing + sql = rule.getSql(true); + try + { + String text = null; + if (MSysConfig.getBooleanValue("ALERT_SEND_ATTACHMENT_AS_XLS", true, Env.getAD_Client_ID(getCtx()))) + text = getExcelReport(rule, sql, trxName, attachments); + else + text = getPlainTextReport(rule, sql, trxName, attachments); + if (text != null && text.length() > 0) + { + message.append(text); + processed = true; + } + } + catch (Exception e) + { + rule.setErrorMsg("Select=" + e.getLocalizedMessage()); + m_errors.append("Select=" + e.getLocalizedMessage()); + rule.setIsValid(false); + rule.saveEx(); + valid = false; + break; + } + + // Post + sql = rule.getPostProcessing(); + if (sql != null && sql.length() > 0) + { + int no = DB.executeUpdate(sql, false, trxName); + if (no == -1) + { + ValueNamePair error = CLogger.retrieveError(); + rule.setErrorMsg("Post=" + error.getName()); + m_errors.append("Post=" + error.getName()); + rule.setIsValid(false); + rule.saveEx(); + valid = false; + break; + } + } // Post + } // for all rules + + // Update header if error + if (!valid) + { + alert.setIsValid(false); + alert.saveEx(); + return false; + } + + // Nothing to report + if (!processed) + { + m_summary.append(alert.getName()).append("=No Result - "); + return true; + } + + // + // Report footer - Date Generated + DateFormat df = DisplayType.getDateFormat(DisplayType.DateTime); + message.append("\n\n"); + message.append(Msg.translate(getCtx(), "Date")).append(" : ") + .append(df.format(new Timestamp(System.currentTimeMillis()))); + + Collection users = alert.getRecipientUsers(); + int countMail = notifyUsers(users, alert.getAlertSubject(), message.toString(), attachments); + + m_summary.append(alert.getName()).append(" (EMails+Notes=").append(countMail).append(") - "); + return valid; + } // processAlert + + /** + * Notify users + * @param users AD_User_ID list + * @param subject email subject + * @param message email message + * @param attachments + * @return how many email were sent + */ + private int notifyUsers(Collection users, String subject, String message, Collection attachments) { + AtomicInteger countMail = new AtomicInteger(0); + users.forEach(userId -> { + Trx.run(transactionName -> { + // Get instance for notifier + DefaultNotifier notifier = (DefaultNotifier) QueueLoader.getInstance().getQueueManager(DefaultNotifier.QUEUETYPE_DefaultNotifier) + .withContext(getCtx()) + .withTransactionName(transactionName); + // Send notification to queue + notifier + .clearMessage() + .withApplicationType(DefaultNotifier.DefaultNotificationType_UserDefined) + .addRecipient(userId) + .withText(message) + .withDescription(subject); + // Add Attachments + attachments.forEach(attachment -> notifier.addAttachment(attachment)); + // Add to queue + notifier.addToQueue(); + countMail.incrementAndGet(); + }); + }); + return countMail.get(); + } + + /** + * Get Alert Data + * @param sql + * @param trxName + * @return data + * @throws Exception + */ + private ArrayList> getData (String sql, String trxName) throws Exception + { + ArrayList> data = new ArrayList>(); + PreparedStatement pstmt = null; + ResultSet rs = null; + Exception error = null; + try + { + pstmt = DB.prepareStatement (sql, trxName); + rs = pstmt.executeQuery (); + ResultSetMetaData meta = rs.getMetaData(); + boolean isFirstRow = true; + while (rs.next ()) + { + ArrayList header = (isFirstRow ? new ArrayList() : null); + ArrayList row = new ArrayList(); + for (int col = 1; col <= meta.getColumnCount(); col++) + { + if (isFirstRow) { + String columnName = meta.getColumnLabel(col); + header.add(columnName); + } + Object o = rs.getObject(col); + row.add(o); + } // for all columns + if (isFirstRow) + data.add(header); + data.add(row); + isFirstRow = false; + } + } + catch (Throwable e) + { + log.log(Level.SEVERE, sql, e); + if (e instanceof Exception) + error = (Exception)e; + else + error = new Exception(e.getMessage(), e); + } + finally + { + DB.close(rs, pstmt); + rs = null; pstmt = null; + } + + // Error occurred + if (error != null) + throw new Exception ("(" + sql + ") " + Env.NL + + error.getLocalizedMessage()); + + return data; + } // getData + + /** + * Get Plain Text Report (old functionality) + * @param rule (ignored) + * @param sql sql select + * @param trxName transaction + * @param attachments (ignored) + * @return list of rows & values + * @throws Exception + * @deprecated + */ + private String getPlainTextReport(MAlertRule rule, String sql, String trxName, Collection attachments) + throws Exception + { + StringBuffer result = new StringBuffer(); + PreparedStatement pstmt = null; + ResultSet rs = null; + Exception error = null; + try + { + pstmt = DB.prepareStatement (sql, trxName); + rs = pstmt.executeQuery (); + ResultSetMetaData meta = rs.getMetaData(); + while (rs.next ()) + { + result.append("------------------").append(Env.NL); + for (int col = 1; col <= meta.getColumnCount(); col++) + { + result.append(meta.getColumnLabel(col)).append(" = "); + result.append(rs.getString(col)); + result.append(Env.NL); + } // for all columns + } + if (result.length() == 0) + log.fine("No rows selected"); + } + catch (Throwable e) + { + log.log(Level.SEVERE, sql, e); + if (e instanceof Exception) + error = (Exception)e; + else + error = new Exception(e.getMessage(), e); + } + finally + { + DB.close(rs, pstmt); + rs = null; pstmt = null; + } + + // Error occurred + if (error != null) + throw new Exception ("(" + sql + ") " + Env.NL + + error.getLocalizedMessage()); + + return result.toString(); + } + + /** + * Get Excel Report + * @param rule + * @param sql + * @param trxName + * @param attachments + * @return summary message to be added into mail content + * @throws Exception + */ + private String getExcelReport(MAlertRule rule, String sql, String trxName, Collection attachments) + throws Exception + { + ArrayList> data = getData(sql, trxName); + if (data.size() <= 1) + return null; + // File + File file = rule.createReportFile("xls"); + // + ArrayExcelExporter exporter = new ArrayExcelExporter(getCtx(), data, false); + exporter.export(file, null, false); + attachments.add(file); + String msg = rule.getName() + " (@SeeAttachment@ "+file.getName()+")"+Env.NL; + return Msg.parseTranslation(Env.getCtx(), msg); + } + + /** + * Get Server Info + * @return info + */ + public String getServerInfo() + { + return "Last=" + m_summary.toString(); + } // getServerInfo +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/process/AlertProcessorAbstract.java b/processors/src/main/java/base/org/spin/eca46/process/AlertProcessorAbstract.java new file mode 100644 index 0000000000..ce93f20752 --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/process/AlertProcessorAbstract.java @@ -0,0 +1,68 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca46.process; + +import org.compiere.process.SvrProcess; + +/** Generated Process for (Run Alert Processor) + * @author ADempiere (generated) + * @version Release 3.9.4 + */ +public abstract class AlertProcessorAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "ECA46_Run_Alert_Processor"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Run Alert Processor"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54662; + /** Parameter Name for Alert Processor */ + public static final String AD_ALERTPROCESSOR_ID = "AD_AlertProcessor_ID"; + /** Parameter Value for Alert Processor */ + private int alertProcessorId; + + @Override + protected void prepare() { + alertProcessorId = getParameterAsInt(AD_ALERTPROCESSOR_ID); + } + + /** Getter Parameter Value for Alert Processor */ + protected int getAlertProcessorId() { + return alertProcessorId; + } + + /** Setter Parameter Value for Alert Processor */ + protected void setAlertProcessorId(int alertProcessorId) { + this.alertProcessorId = alertProcessorId; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/process/ExportInternalProcessors.java b/processors/src/main/java/base/org/spin/eca46/process/ExportInternalProcessors.java new file mode 100644 index 0000000000..15e4dac07d --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/process/ExportInternalProcessors.java @@ -0,0 +1,152 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.eca46.process; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; + +import org.adempiere.core.domains.models.I_AD_AlertProcessor; +import org.adempiere.core.domains.models.I_AD_Role; +import org.adempiere.core.domains.models.I_AD_Scheduler; +import org.adempiere.core.domains.models.I_AD_WorkflowProcessor; +import org.adempiere.core.domains.models.I_C_AcctProcessor; +import org.adempiere.core.domains.models.I_C_ProjectProcessor; +import org.adempiere.core.domains.models.I_R_RequestProcessor; +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MAcctProcessor; +import org.compiere.model.MAlertProcessor; +import org.compiere.model.MRequestProcessor; +import org.compiere.model.MScheduler; +import org.compiere.model.Query; +import org.compiere.util.Env; +import org.compiere.util.Util; +import org.compiere.wf.MWorkflowProcessor; +import org.eevolution.model.MProjectProcessor; +import org.spin.eca46.util.support.Accounting; +import org.spin.eca46.util.support.Alert; +import org.spin.eca46.util.support.IExternalProcessor; +import org.spin.eca46.util.support.IProcessorEntity; +import org.spin.eca46.util.support.Project; +import org.spin.eca46.util.support.Request; +import org.spin.eca46.util.support.Schedule; +import org.spin.eca46.util.support.Workflow; +import org.spin.model.MADAppRegistration; +import org.spin.model.MADTokenDefinition; +import org.spin.util.IThirdPartyAccessGenerator; +import org.spin.util.ITokenGenerator; +import org.spin.util.TokenGeneratorHandler; +import org.spin.util.support.AppSupportHandler; +import org.spin.util.support.IAppSupport; + +/** Generated Process for (Export Internal Processors) + * @author ADempiere (generated) + * @version Release 3.9.3 + */ +public class ExportInternalProcessors extends ExportInternalProcessorsAbstract { + + private AtomicInteger counter = new AtomicInteger(); + + @Override + protected String doIt() throws Exception { + List processorsList = new ArrayList<>(); + // For Accounting Processor + new Query(getCtx(), I_C_AcctProcessor.Table_Name, null, get_TrxName()) + .setClient_ID() + .setOnlyActiveRecords(true) + .getIDsAsList() + .forEach(processorId -> processorsList.add(Accounting.newInstance().withAccountingProcessor(new MAcctProcessor(getCtx(), processorId, get_TrxName())))); + // For Alert Processor + new Query(getCtx(), I_AD_AlertProcessor.Table_Name, null, get_TrxName()) + .setClient_ID() + .setOnlyActiveRecords(true) + .getIDsAsList() + .forEach(processorId -> processorsList.add(Alert.newInstance().withAlertProcessor(new MAlertProcessor(getCtx(), processorId, get_TrxName())))); + // For Project Processor + new Query(getCtx(), I_C_ProjectProcessor.Table_Name, null, get_TrxName()) + .setClient_ID() + .setOnlyActiveRecords(true) + .getIDsAsList() + .forEach(processorId -> processorsList.add(Project.newInstance().withProjectProcessor(new MProjectProcessor(getCtx(), processorId, get_TrxName())))); + // For Request Processor + new Query(getCtx(), I_R_RequestProcessor.Table_Name, null, get_TrxName()) + .setClient_ID() + .setOnlyActiveRecords(true) + .getIDsAsList() + .forEach(processorId -> processorsList.add(Request.newInstance().withRequestProcessor(new MRequestProcessor(getCtx(), processorId, get_TrxName())))); + // For Schedule Processor + new Query(getCtx(), I_AD_Scheduler.Table_Name, null, get_TrxName()) + .setClient_ID() + .setOnlyActiveRecords(true) + .getIDsAsList() + .forEach(processorId -> processorsList.add(Schedule.newInstance().withSchedulerProcessor(new MScheduler(getCtx(), processorId, get_TrxName())))); + // For Workflow Processor + new Query(getCtx(), I_AD_WorkflowProcessor.Table_Name, null, get_TrxName()) + .setClient_ID() + .setOnlyActiveRecords(true) + .getIDsAsList() + .forEach(processorId -> processorsList.add(Workflow.newInstance().withWorkflowProcessor(new MWorkflowProcessor(getCtx(), processorId, get_TrxName())))); + // Create all + MADAppRegistration registeredApplication = MADAppRegistration.getById(Env.getCtx(), getExternalProcessorId(), get_TrxName()); + IAppSupport supportedApplication = AppSupportHandler.getInstance().getAppSupport(registeredApplication); + // Exists a Application available for it? + if(supportedApplication != null + && IExternalProcessor.class.isAssignableFrom(supportedApplication.getClass())) { + // Instance of dKron Processor + IExternalProcessor dKronProcessor = (IExternalProcessor) supportedApplication; + dKronProcessor.setHost(getHost()); + dKronProcessor.setTokenAccess(getToken()); + processorsList.forEach(processor -> { + String result = dKronProcessor.exportProcessor(processor); + counter.incrementAndGet(); + if(!Util.isEmpty(result)) { + addLog(result); + } + }); + } + return "@Created@: " + counter.get(); + } + + private String getToken() { + try { + // Validate user and password match + boolean match = new Query(getCtx(), I_AD_Role.Table_Name, + "EXISTS(SELECT 1 FROM AD_User_Roles ur " + + "WHERE ur.AD_Role_ID = AD_Role.AD_Role_ID " + + "AND ur.AD_User_ID = ?)", get_TrxName()) + .setParameters(getUserId()) + .match(); + if(!match) { + throw new AdempiereException("@AD_User_ID@ / @AD_Role_ID@ @Mismatched@"); + } + ITokenGenerator generator = TokenGeneratorHandler.getInstance().getTokenGenerator(MADTokenDefinition.TOKENTYPE_ThirdPartyAccess); + if(generator == null) { + throw new AdempiereException("@AD_TokenDefinition_ID@ @NotFound@"); + } + // No child of definition + if(!IThirdPartyAccessGenerator.class.isAssignableFrom(generator.getClass())) { + throw new AdempiereException("@AD_TokenDefinition_ID@ @Invalid@"); + } + // Generate + IThirdPartyAccessGenerator thirdPartyAccessGenerator = ((IThirdPartyAccessGenerator) generator); + return thirdPartyAccessGenerator.generateToken(getUserId(), getRoleId()); + } catch (Exception e) { + throw new AdempiereException(e); + } + } +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/process/ExportInternalProcessorsAbstract.java b/processors/src/main/java/base/org/spin/eca46/process/ExportInternalProcessorsAbstract.java new file mode 100644 index 0000000000..f93f286876 --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/process/ExportInternalProcessorsAbstract.java @@ -0,0 +1,113 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca46.process; + +import org.compiere.process.SvrProcess; + +/** Generated Process for (Export Internal Processors) + * @author ADempiere (generated) + * @version Release 3.9.4 + */ +public abstract class ExportInternalProcessorsAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "ECA46_Export_Internal_Processors"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Export Internal Processors"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54663; + /** Parameter Name for External Processor */ + public static final String EXTERNALPROCESSOR_ID = "ExternalProcessor_ID"; + /** Parameter Name for Role */ + public static final String AD_ROLE_ID = "AD_Role_ID"; + /** Parameter Name for User/Contact */ + public static final String AD_USER_ID = "AD_User_ID"; + /** Parameter Name for Host */ + public static final String HOST = "Host"; + /** Parameter Value for External Processor */ + private int externalProcessorId; + /** Parameter Value for Role */ + private int roleId; + /** Parameter Value for User/Contact */ + private int userId; + /** Parameter Value for Host */ + private String host; + + @Override + protected void prepare() { + externalProcessorId = getParameterAsInt(EXTERNALPROCESSOR_ID); + roleId = getParameterAsInt(AD_ROLE_ID); + userId = getParameterAsInt(AD_USER_ID); + host = getParameterAsString(HOST); + } + + /** Getter Parameter Value for External Processor */ + protected int getExternalProcessorId() { + return externalProcessorId; + } + + /** Setter Parameter Value for External Processor */ + protected void setExternalProcessorId(int externalProcessorId) { + this.externalProcessorId = externalProcessorId; + } + + /** Getter Parameter Value for Role */ + protected int getRoleId() { + return roleId; + } + + /** Setter Parameter Value for Role */ + protected void setRoleId(int roleId) { + this.roleId = roleId; + } + + /** Getter Parameter Value for User/Contact */ + protected int getUserId() { + return userId; + } + + /** Setter Parameter Value for User/Contact */ + protected void setUserId(int userId) { + this.userId = userId; + } + + /** Getter Parameter Value for Host */ + protected String getHost() { + return host; + } + + /** Setter Parameter Value for Host */ + protected void setHost(String host) { + this.host = host; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/process/ProjectProcessor.java b/processors/src/main/java/base/org/spin/eca46/process/ProjectProcessor.java new file mode 100644 index 0000000000..0d55b0d551 --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/process/ProjectProcessor.java @@ -0,0 +1,867 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.eca46.process; + +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MColumn; +import org.compiere.model.MMailText; +import org.compiere.model.MNote; +import org.compiere.model.MProject; +import org.compiere.model.MProjectPhase; +import org.compiere.model.MProjectProcessorChange; +import org.compiere.model.MProjectProcessorQueued; +import org.compiere.model.MProjectTask; +import org.compiere.model.MUser; +import org.compiere.model.PO; +import org.compiere.model.Query; +import org.compiere.project.services.ProjectProcessorService; +import org.compiere.util.Env; +import org.compiere.util.Msg; +import org.compiere.util.TimeUtil; +import org.compiere.util.Trx; +import org.compiere.util.Util; +import org.eevolution.model.MProjectProcessor; +import org.eevolution.model.MProjectProcessorLog; +import org.eevolution.model.MProjectStatus; +import org.spin.queue.notification.DefaultNotifier; +import org.spin.queue.util.QueueLoader; + +/** + * Generated Process for (Product Internal Use) + * @author Jorg Janke + * @version $Id: RequestProcessor.java,v 1.3 2006/07/30 00:53:33 jjanke Exp $ + * @version Release 3.9.3 + */ +public class ProjectProcessor extends ProjectProcessorAbstract { + + /** Initial work time */ + private long startWork; + /** The Concrete Model */ + private MProjectProcessor projectProcessor = null; + + /** Last Summary */ + private StringBuffer summary = new StringBuffer(); + + /**Current PO Changes*/ + private PO entity = null; + + /**Columns Changeg*/ + private ArrayList columns = new ArrayList(); + + /**Values Changed*/ + private ArrayList values = new ArrayList(); + + /**Current Poject*/ + private MProject project = null; + + /**Current Project Phase*/ + private MProjectPhase projectPhase = null; + + /**Current Project Task*/ + private MProjectTask projectTask = null; + + /**Prefix Subject for Mail to Send*/ + private String prefixSubject = ""; + + /**Prefix Text for Mail to Send*/ + private String prefixTextMail = ""; + + /**No HTML Text for Notice */ + private String textNotice = ""; + + /**Mail Template for Project Processor */ + private MMailText mailText = null; + + /**Extra Message for Mail*/ + private String extraMsg = ""; + + /**Changes is Scheduled*/ + private boolean isScheduled = false; + + @Override + protected void prepare() { + super.prepare(); + if(getProjectProcessorId() <= 0) { + throw new AdempiereException("@C_ProjectProcessor_ID@ @NotFound@"); + } + projectProcessor = new MProjectProcessor(getCtx(), getProjectProcessorId(), get_TrxName()); + } + + @Override + protected String doIt() throws Exception { + startWork = System.currentTimeMillis(); + summary = new StringBuffer(); + mailText = new MMailText (Env.getCtx(), projectProcessor.getR_MailText_ID(), null); + // + clearGlobals(); + //Process Queued Manual Changes + processQueued(); + + //Process Scheduled Changes + processProjects (); + processQueued(); + return TimeUtil.formatElapsed(new Timestamp(startWork)); + } + + /************************************************************************** + * Process Projects. + * Scheduled - are they due? + */ + private void processProjects () + { + //Start Date Alert + processStartDateAlert(); + + //Process Status + processStatus(); + + //Due Alerts + processDueAlert(); + + //Overdue Alerts + processOverDueAlert(); + } // processProject + + /** + * Process Queued for e-mail messages + */ + private void processQueued() { + + String whereClause = " EXISTS (SELECT 1 " + + "FROM C_ProjectProcessorQueued q " + + "WHERE q.SendEmail='N' AND q.C_ProjectProcessorLog_ID = C_ProjectProcessorLog.C_ProjectProcessorLog_ID )"; + MProjectProcessorLog[] pLogs = projectProcessor.getProcessorLogs(whereClause); + boolean loadMsj = false; + for (MProjectProcessorLog mProjectProcessorLog : pLogs) { + loadMsj = loadMsgToSend(mProjectProcessorLog); + MProjectProcessorQueued[] queued = mProjectProcessorLog.getQueued("SendEmail='N'"); + for (MProjectProcessorQueued mProjectProcessorQueued : queued) { + if (loadMsj) { + String NotificationType = (Util.isEmpty(mProjectProcessorQueued.getNotificationType()) ? MProjectProcessorQueued.NOTIFICATIONTYPE_None : mProjectProcessorQueued.getNotificationType()) ; + if (NotificationType.equals(MProjectProcessorQueued.NOTIFICATIONTYPE_EMail)) + sendEmail(mProjectProcessorQueued); + else if (NotificationType.equals(MProjectProcessorQueued.NOTIFICATIONTYPE_EMailPlusNotice)) { + sendEmail(mProjectProcessorQueued); + createNotice(mProjectProcessorQueued); + } + else if (NotificationType.equals(MProjectProcessorQueued.NOTIFICATIONTYPE_Notice)) + createNotice(mProjectProcessorQueued); + } + mProjectProcessorQueued.setSendEMail(true); + mProjectProcessorQueued.save(); + } + //Clear Globals + clearGlobals(); + } + } //processQueued + + /** + * Send Email + * @param log + * @param queued + * @return + */ + private boolean sendEmail (MProjectProcessorQueued queued) { + MUser recipient = (MUser) queued.getAD_User(); + mailText.setUser(recipient); + if (entity != null) { + mailText.setPO(entity); + } + // + Trx.run(transactionName -> { + String subject = (!Util.isEmpty(mailText.getMailHeader()) ? mailText.getMailHeader() + " " :mailText.getMailHeader()) + prefixSubject; + String message = ""; + if (mailText.getR_MailText_ID() != 0) { + message = mailText.getMailText(true); + } + // Get instance for notifier + DefaultNotifier notifier = (DefaultNotifier) QueueLoader.getInstance().getQueueManager(DefaultNotifier.QUEUETYPE_DefaultNotifier) + .withContext(getCtx()) + .withTransactionName(transactionName); + // Send notification to queue + notifier + .clearMessage() + .withApplicationType(DefaultNotifier.DefaultNotificationType_UserDefined) + .withText(prefixTextMail + (message == null ? "" : message) + "\n") + .withDescription(subject); + // Add user + if (projectProcessor.getSupervisor_ID() != 0) { + notifier.withUserId(projectProcessor.getSupervisor_ID()); + } + // Add recipients + notifier.addRecipient(queued.getAD_User_ID()); + if(entity != null) { + notifier + .withEntity(entity); + } + // Add to queue + notifier.addToQueue(); + }); + return true; + } // sendEmail + + /** + * Send Email + * @param log + * @param queued + * @return + */ + private boolean createNotice (MProjectProcessorQueued queued){ + MUser to = (MUser) queued.getAD_User(); + if (to.getAD_User_ID()!=0) { + MNote note = new MNote(getCtx(), "Error", to.getAD_User_ID(), entity.get_TrxName()); + note.setRecord(entity.get_Table_ID(), entity.get_ID()); + note.setReference(prefixSubject); + note.setTextMsg(textNotice); + if (!note.save()) + return false; + } + + return true; + } // createNotice + + + /** + * Process Project Status + */ + private void processStatus() + { + //Process Project Status + String whereClause = ""; + Timestamp currentDate = new Timestamp(TimeUtil.getToday().getTimeInMillis()); + + whereClause = "EXISTS (SELECT 1 FROM " + + "C_ProjectStatus ps " + + "WHERE ps.C_ProjectStatus_ID = C_Project.C_ProjectStatus_ID " + + "AND ps.TimeoutDays > 0 AND ps.Next_Status_ID > 0 " + + "AND C_Project.DateLastAction + ps.TimeoutDays < ?) "; + + new ScheduleChange(getCtx(), MProject.Table_Name, whereClause, projectProcessor.get_TrxName()) + .setAlertMessageColumn("@C_ProjectStatus_ID@ @HasBeenChanged@") + .IsNextProjectStatus() + .setParameters(currentDate) + .processScheduleChanges(); + + + //Process Project Phase Status + whereClause = "EXISTS (SELECT 1 FROM " + + "C_ProjectStatus ps " + + "WHERE ps.C_ProjectStatus_ID = C_ProjectPhase.C_ProjectStatus_ID " + + "AND ps.TimeoutDays > 0 AND ps.Next_Status_ID > 0 " + + "AND C_ProjectPhase.DateLastAction + ps.TimeoutDays < ?) "; + + new ScheduleChange(getCtx(), MProjectPhase.Table_Name, whereClause, projectProcessor.get_TrxName()) + .setAlertMessageColumn("@C_ProjectStatus_ID@ @HasBeenChanged@") + .IsNextProjectStatus() + .setParameters(currentDate) + .processScheduleChanges(); + + //Process Project Task Status + whereClause = "EXISTS (SELECT 1 FROM " + + "C_ProjectStatus ps " + + "WHERE ps.C_ProjectStatus_ID = C_ProjectTask.C_ProjectStatus_ID " + + "AND ps.TimeoutDays > 0 AND ps.Next_Status_ID > 0 " + + "AND C_ProjectTask.DateLastAction + ps.TimeoutDays < ?) "; + + new ScheduleChange(getCtx(), MProjectTask.Table_Name, whereClause, projectProcessor.get_TrxName()) + .setAlertMessageColumn("@C_ProjectStatus_ID@ @HasBeenChanged@") + .IsNextProjectStatus() + .setParameters(currentDate) + .processScheduleChanges(); + } // processStatus + + /** + * Process Project Start Date + */ + private void processStartDateAlert() { + + String whereClauseGeneral = ""; + String whereClause = ""; + isScheduled = true; + ArrayList params = new ArrayList(); + Timestamp currentDate = new Timestamp(TimeUtil.getToday().getTimeInMillis()); + int daysBeforeStart = projectProcessor.get_ValueAsInt("DaysBeforeStart"); + //Project + whereClauseGeneral = "(DateStartSchedule IS NOT NULL AND DateStartSchedule - ? <= ? AND DateStartSchedule >= ?) AND (DueType IS NULL OR DueType = ?)"; + params.add(daysBeforeStart); + params.add(currentDate); + params.add(currentDate); + params.add(MProject.DUETYPE_Scheduled); + + + //Remind Days + whereClauseGeneral+= " AND (DateLastAlert IS NULL OR DateLastAlert!=?)"; + params.add(currentDate); + + if (projectProcessor.getC_ProjectType_ID()!=0) { + whereClause+= " AND C_ProjectType_ID = ?"; + params.add(projectProcessor.getC_ProjectType_ID()); + } + + new ScheduleChange(getCtx(), MProject.Table_Name, whereClauseGeneral + whereClause, projectProcessor.get_TrxName()) + .setColumns(MProject.COLUMNNAME_DueType,MProject.COLUMNNAME_DateLastAlert) + .setValues(MProject.DUETYPE_Scheduled,currentDate) + .setAlertMessageColumn("@C_Project_ID@ @IsFor@ @Start@") + .setParameters(params) + .processScheduleChanges(); + + //Project Phase + whereClause = ""; + if (projectProcessor.getC_ProjectType_ID()!=0) + whereClause+= " AND EXISTS (SELECT 1 FROM C_Project p WHERE p.C_Project_ID = C_ProjectPhase.C_Project_ID AND p.C_ProjectType_ID = ?)"; + + new ScheduleChange(getCtx(), MProjectPhase.Table_Name, whereClauseGeneral + whereClause, projectProcessor.get_TrxName()) + .setColumns(MProjectPhase.COLUMNNAME_DueType,MProjectPhase.COLUMNNAME_DateLastAlert) + .setValues(MProject.DUETYPE_Scheduled,currentDate) + .setAlertMessageColumn("@C_ProjectPhase_ID@ @IsFor@ @Start@") + .setParameters(params) + .processScheduleChanges(); + + //Project Task + whereClause = ""; + if (projectProcessor.getC_ProjectType_ID()!=0) + whereClause+= " AND EXISTS (SELECT 1 " + + "FROM C_Project p " + + "INNER JOIN C_ProjectPhase ph ON (p.C_Project_ID = ph.C_Project_ID) " + + "WHERE ph.C_ProjectPhase_ID = C_ProjectTask.C_ProjectPhase_ID AND p.C_ProjectType_ID = ?)"; + + if (projectProcessor.getC_ProjectTaskCategory_ID()!=0) { + whereClause+= " AND C_ProjectTaskCategory_ID=?"; + params.add(projectProcessor.getC_ProjectTaskCategory_ID()); + } + + new ScheduleChange(getCtx(), MProjectTask.Table_Name, whereClauseGeneral + whereClause, projectProcessor.get_TrxName()) + .setColumns(MProjectTask.COLUMNNAME_DueType,MProjectTask.COLUMNNAME_DateLastAlert) + .setValues(MProject.DUETYPE_Scheduled,currentDate) + .setAlertMessageColumn("@C_ProjectTask_ID@ @IsFor@ @Start@") + .setParameters(params) + .processScheduleChanges(); + } //processStartDateAlert + + /** + * Process Project Due + */ + private void processDueAlert() { + if (projectProcessor.getOverdueAlertDays()!=0) { + String whereClauseGeneral = ""; + String whereClause = ""; + isScheduled =true; + ArrayList params = new ArrayList(); + Timestamp currentDate = new Timestamp(TimeUtil.getToday().getTimeInMillis()); + //General Filters + whereClauseGeneral = "(COALESCE(DateDeadLine,DateFinishSchedule) IS NOT NULL) AND (DueType IS NULL OR DueType = ?) "; + + params.add(MProject.DUETYPE_Scheduled); + + //Due Days Alert + whereClauseGeneral += " AND (COALESCE(DateDeadLine,DateFinishSchedule) + ? <= ? AND COALESCE(DateDeadLine,DateFinishSchedule) >= ?) "; + params.add(projectProcessor.getOverdueAlertDays()); + params.add(currentDate); + params.add(currentDate); + + //Project + whereClause = "AND (DateFinish IS NULL) "; + if (projectProcessor.getC_ProjectType_ID()!=0) { + whereClause+= " AND (C_ProjectType_ID = ?)"; + params.add(projectProcessor.getC_ProjectType_ID()); + } + + + + new ScheduleChange(getCtx(), MProject.Table_Name, whereClauseGeneral + whereClause, projectProcessor.get_TrxName()) + .setColumns(MProject.COLUMNNAME_DueType,MProject.COLUMNNAME_DateLastAlert) + .setValues(MProject.DUETYPE_Due,currentDate) + .setAlertMessageColumn("@C_Project_ID@ @IsDue@") + .setParameters(params) + .processScheduleChanges(); + + //Project Phase + whereClause = "AND (EndDate IS NULL) "; + if (projectProcessor.getC_ProjectType_ID()!=0) + whereClause+= " AND EXISTS (SELECT 1 FROM C_Project p WHERE p.C_Project_ID = C_ProjectPhase.C_Project_ID AND p.C_ProjectType_ID = ?) "; + + new ScheduleChange(getCtx(), MProjectPhase.Table_Name, whereClauseGeneral + whereClause, projectProcessor.get_TrxName()) + .setColumns(MProjectPhase.COLUMNNAME_DueType,MProjectPhase.COLUMNNAME_DateLastAlert) + .setValues(MProjectPhase.DUETYPE_Due,currentDate) + .setAlertMessageColumn("@C_ProjectPhase_ID@ @IsDue@") + .setParameters(params) + .processScheduleChanges(); + + //Project Task + whereClause = "AND (DateFinish IS NULL) "; + if (projectProcessor.getC_ProjectType_ID()!=0) + whereClause+= " AND (EXISTS (SELECT 1 " + + "FROM C_Project p " + + "INNER JOIN C_ProjectPhase ph ON (p.C_Project_ID = ph.C_Project_ID) " + + "WHERE ph.C_ProjectPhase_ID = C_ProjectTask.C_ProjectPhase_ID AND p.C_ProjectType_ID = ?))"; + + if (projectProcessor.getC_ProjectTaskCategory_ID()!=0) { + whereClause+= " AND (C_ProjectTaskCategory_ID=?)"; + params.add(projectProcessor.getC_ProjectTaskCategory_ID()); + } + + new ScheduleChange(getCtx(), MProjectTask.Table_Name, whereClauseGeneral + whereClause, projectProcessor.get_TrxName()) + .setColumns(MProjectTask.COLUMNNAME_DueType,MProjectTask.COLUMNNAME_DateLastAlert) + .setValues(MProjectTask.DUETYPE_Due,currentDate) + .setAlertMessageColumn("@C_ProjectTask_ID@ @IsDue@") + .setParameters(params) + .processScheduleChanges(); + } + } //processDueAlert + + /** + * Process Project Due + */ + private void processOverDueAlert() { + if (projectProcessor.getOverdueAssignDays()!=0) { + String whereClauseGeneral = ""; + String whereClause = ""; + isScheduled = true; + ArrayList params = new ArrayList(); + Timestamp currentDate = new Timestamp(TimeUtil.getToday().getTimeInMillis()); + //General Filters + whereClauseGeneral = "(COALESCE(DateDeadLine,DateFinishSchedule) IS NOT NULL) AND (DueType IS NULL OR DueType IN (?,?,?)) "; + + params.add(MProject.DUETYPE_Scheduled); + params.add(MProject.DUETYPE_Due); + params.add(MProject.DUETYPE_Overdue); + + //Due Days Alert + whereClauseGeneral += " AND (COALESCE(DateDeadLine,DateFinishSchedule) + ? >= ? AND COALESCE(DateDeadLine,DateFinishSchedule) < ?) "; + params.add(projectProcessor.getOverdueAssignDays()); + params.add(currentDate); + params.add(currentDate); + + //Project + whereClause = "AND (DateFinish IS NULL) "; + if (projectProcessor.getC_ProjectType_ID()!=0) { + whereClause+= " AND (C_ProjectType_ID = ?)"; + params.add(projectProcessor.getC_ProjectType_ID()); + } + + + + new ScheduleChange(getCtx(), MProject.Table_Name, whereClauseGeneral + whereClause, projectProcessor.get_TrxName()) + .setColumns(MProject.COLUMNNAME_DueType,MProject.COLUMNNAME_DateLastAlert) + .setValues(MProject.DUETYPE_Overdue,currentDate) + .setAlertMessageColumn("@C_Project_ID@ @OverDue@") + .setParameters(params) + .processScheduleChanges(); + + //Project Phase + whereClause = "AND (EndDate IS NULL) "; + if (projectProcessor.getC_ProjectType_ID()!=0) + whereClause+= " AND EXISTS (SELECT 1 FROM C_Project p WHERE p.C_Project_ID = C_ProjectPhase.C_Project_ID AND p.C_ProjectType_ID = ?) "; + + new ScheduleChange(getCtx(), MProjectPhase.Table_Name, whereClauseGeneral + whereClause, projectProcessor.get_TrxName()) + .setColumns(MProjectPhase.COLUMNNAME_DueType,MProjectPhase.COLUMNNAME_DateLastAlert) + .setValues(MProjectPhase.DUETYPE_Overdue,currentDate) + .setAlertMessageColumn("@C_ProjectPhase_ID@ @OverDue@") + .setParameters(params) + .processScheduleChanges(); + + //Project Task + whereClause = "AND (DateFinish IS NULL) "; + if (projectProcessor.getC_ProjectType_ID()!=0) + whereClause+= " AND (EXISTS (SELECT 1 " + + "FROM C_Project p " + + "INNER JOIN C_ProjectPhase ph ON (p.C_Project_ID = ph.C_Project_ID) " + + "WHERE ph.C_ProjectPhase_ID = C_ProjectTask.C_ProjectPhase_ID AND p.C_ProjectType_ID = ?))"; + + if (projectProcessor.getC_ProjectTaskCategory_ID()!=0) { + whereClause+= " AND (C_ProjectTaskCategory_ID=?)"; + params.add(projectProcessor.getC_ProjectTaskCategory_ID()); + } + + new ScheduleChange(getCtx(), MProjectTask.Table_Name, whereClauseGeneral + whereClause, projectProcessor.get_TrxName()) + .setColumns(MProjectTask.COLUMNNAME_DueType,MProjectTask.COLUMNNAME_DateLastAlert) + .setValues(MProjectTask.DUETYPE_Overdue,currentDate) + .setAlertMessageColumn("@C_ProjectTask_ID@ @OverDue@") + .setParameters(params) + .processScheduleChanges(); + } + } //processOverDueAlert + + /** + * Get Server Info + * @return info + */ + public String getServerInfo() + { + return "Last=" + summary.toString(); + } // getServerInfo + + /** + * Load Message to Send + * @param log + */ + private boolean loadMsgToSend(MProjectProcessorLog log) { + + MProjectProcessorChange[] changes = log.getChange(null); + MProjectStatus status = null; + String nameHeader = ""; + String itemStatus = ""; + MUser createdBy = null; + MUser updatedBy = null; + + if (changes.length==0) + return false; + + for (MProjectProcessorChange change : changes) { + if (entity == null) { + if (change.getAD_Table_ID()==MProject.Table_ID) { + project = new MProject (getCtx(), change.getRecord_ID(), change.get_TrxName()); + entity = project; + }else if (change.getAD_Table_ID()==MProjectPhase.Table_ID) { + projectPhase = new MProjectPhase (getCtx(), change.getRecord_ID(), change.get_TrxName()); + project = (MProject) projectPhase.getC_Project(); + entity = projectPhase; + }else if (change.getAD_Table_ID()==MProjectTask.Table_ID) { + projectTask = new MProjectTask (getCtx(), change.getRecord_ID(), change.get_TrxName()); + projectPhase = (MProjectPhase) projectTask.getC_ProjectPhase(); + project = (MProject) projectPhase.getC_Project(); + entity = projectPhase; + } + } + + if (entity!=null + && isScheduled) + extraMsg = entity.get_ValueAsString(MProject.COLUMNNAME_AlertMessage); + + if (change.getAD_Column_ID()!=0) { + MColumn col = MColumn.get (change.getCtx(), change.getAD_Column_ID()); + columns.add(col.getColumnName()); + values.add(change.getNewValue()); + } + } + + if (project != null) + prefixSubject = "[" + project.getName(); + + if (projectTask != null) { + prefixTextMail = Msg.parseTranslation(log.getCtx(), "@C_ProjectTask_ID@") + " #" + projectTask.getSeqNo(); + prefixSubject += (Util.isEmpty(prefixSubject) ? "": " - ") + prefixTextMail; + nameHeader = projectTask.getName(); + createdBy = MUser.get(log.getCtx(), projectTask.getCreatedBy()); + updatedBy = MUser.get(log.getCtx(), projectTask.getUpdatedBy()); + if (projectTask.getC_ProjectStatus_ID()!=0) { + status = (MProjectStatus) projectTask.getC_ProjectStatus(); + itemStatus = "(" + status.getName() + ")"; + } + }else if (projectPhase != null) { + prefixTextMail =Msg.parseTranslation(log.getCtx(), "@C_ProjectPhase_ID@") + " #" + projectPhase.getSeqNo(); + prefixSubject += (Util.isEmpty(prefixSubject) ? "": " - ") + prefixTextMail; + nameHeader = projectPhase.getName(); + createdBy = MUser.get(log.getCtx(), projectPhase.getCreatedBy()); + updatedBy = MUser.get(log.getCtx(), projectPhase.getUpdatedBy()); + if (projectPhase.getC_ProjectStatus_ID()!=0) { + status = (MProjectStatus) projectPhase.getC_ProjectStatus(); + itemStatus = "(" + status.getName() + ")"; + } + }else if (project != null) { + prefixTextMail =Msg.parseTranslation(log.getCtx(), "@C_Project_ID@") + " " + project.getName(); + createdBy = MUser.get(log.getCtx(), project.getCreatedBy()); + updatedBy = MUser.get(log.getCtx(), project.getUpdatedBy()); + if (project.getC_ProjectStatus_ID()!=0) { + status = (MProjectStatus) project.getC_ProjectStatus(); + itemStatus = "(" + status.getName() + ")"; + } + } + + if (!Util.isEmpty(prefixSubject)) + prefixSubject += "] "; + + prefixSubject += itemStatus + " " + nameHeader; + if (log.getEventChangeLog()!=null) { + + if (log.getEventChangeLog().equals(MProjectProcessorLog.EVENTCHANGELOG_Insert) + && createdBy!=null) + prefixTextMail+= " " +Msg.parseTranslation(log.getCtx(), "@CreatedBy@") + " " + createdBy.getName(); + else if (log.getEventChangeLog().equals(MProjectProcessorLog.EVENTCHANGELOG_Update) + && updatedBy!=null) + prefixTextMail+= " " +Msg.parseTranslation(log.getCtx(), "@UpdatedBy@") + " " + updatedBy.getName(); + + textNotice = prefixTextMail; + StringBuffer sb = new StringBuffer("
    \n") + .append(prefixTextMail + "\n") + .append(getMessageColumnsChanged()) + .append(getMessageColumnsStatic()); + + prefixTextMail = sb.toString(); + } + + return true; + } //loadMsgToSend + + /** + * Get columns changed on a message + * @return + */ + private String getMessageColumnsChanged() { + StringBuffer sb = new StringBuffer(); + + if (columns.size()>0 + || !Util.isEmpty(extraMsg)) + sb.append("
      \n"); + + for (int i=0; i < columns.size(); i++) { + String column = columns.get(i); + + if (ProjectProcessorService.isExcludeColumn(column)) + continue; + + String value = values.get(i); + String item = getItemPO(column,value); + textNotice += item + "\n"; + sb.append(item); + } + + if (!Util.isEmpty(extraMsg)) { + sb.append("
    • " + extraMsg + "
    • "); + textNotice += extraMsg + "\n"; + } + if (columns.size()>0 + || !Util.isEmpty(extraMsg)) + sb.append("
    \n") + .append("
    \n"); + + return sb.toString(); + } //getMessageColumnsChanged + + /** + * Get columns static on a message + * @return + */ + private String getMessageColumnsStatic() { + + StringBuffer sb = new StringBuffer(); + String result = ""; + if (entity!=null) { + for (String column : ProjectProcessorService.RESPONSIBLE_COLUMNS) { + if (entity.get_ColumnIndex(column) >= 0) + sb.append(getItemPO(column,null)); + } + + for (String column : ProjectProcessorService.INFO_COLUMNS) { + if (entity.get_ColumnIndex(column) >= 0) + sb.append(getItemPO(column,null)); + } + + for (String column : ProjectProcessorService.TIME_COLUMNS) { + if (entity.get_ColumnIndex(column) >= 0) + sb.append(getItemPO(column,null)); + } + if (sb.length()>0) { + result = "
      \n " + sb.toString() + "
    \n
    \n "; + } + } + return result; + } //getMessageColumnsStatic + + /** + * Get item from PO + * @param column + * @param value + * @return + */ + private String getItemPO(String column,String value) { + + StringBuffer result = new StringBuffer(); + + result.append("
  • " + Msg.parseTranslation(entity.getCtx(), "@" + column + "@") + ": "); + if (value !=null) + result.append(value); + else + result.append(ProjectProcessorService.getDisplayValue(column,entity)); + + result.append("
  • \n"); + + return result.toString(); + } //getItemPO + + /** + * Clear globals variables + */ + private void clearGlobals() { + prefixSubject = ""; + prefixTextMail = ""; + columns.clear(); + values.clear(); + entity = null; + project = null; + projectPhase = null; + projectTask = null; + extraMsg = ""; + textNotice = ""; + isScheduled = false; + } //clearGlobals + +} + +class ScheduleChange{ + + private Properties ctx = null; + private String trxName = null; + private String tableName = null; + private String whereClause = null; + private String [] columnsToSet = new String [] {}; + private Object [] valuesToSet = new Object [] {}; + private Object [] parameters = new Object [] {}; + private StringBuffer message = new StringBuffer(); + private boolean nextProjectStatus = false; + + /** + * Constructor + * @param ctx + * @param tableName + * @param whereClause + * @param trxName + */ + public ScheduleChange(Properties ctx, String tableName,String whereClause,String trxName) { + this.ctx = ctx; + this.tableName = tableName; + this.whereClause = whereClause; + this.trxName = trxName; + } + + /** + * Set Table Name + * @param tableName + * @return + */ + public ScheduleChange setTableName(String tableName) { + this.tableName = tableName; + return this; + } + + /** + * Set Where Clause + * @param whereClause + * @return + */ + public ScheduleChange setWhereClause(String whereClause) { + this.whereClause = whereClause; + return this; + } + + /** + * Set Columns + * @param columns + * @return + */ + public ScheduleChange setColumns(String... columns) { + this.columnsToSet = columns; + return this; + } + + /** + * Set Values + * @param values + * @return + */ + public ScheduleChange setValues(Object... values) { + this.valuesToSet = values; + return this; + } + + /** + * Set Parameters from array + * @param parameters + * @return + */ + public ScheduleChange setParameters(Object... parameters) { + this.parameters = parameters; + return this; + } + + /** + * Set Parameters from List Object + * @param parameters + * @return + */ + public ScheduleChange setParameters(List parameters) { + this.parameters = parameters.toArray(); + return this; + } + + /** + * Set Alert Message + * @param message + * @return + */ + public ScheduleChange setAlertMessageColumn(String message) { + this.message.append(Msg.parseTranslation(ctx,message)); + return this; + } + + /** + * if Changed Status + * @return + */ + public ScheduleChange IsNextProjectStatus() { + this.nextProjectStatus = true; + return this; + } + + /** + * Process Schedule Changes + */ + public void processScheduleChanges() { + List entitys = new Query(ctx, tableName, whereClause, trxName) + .setParameters(parameters) + .list(); + for (PO entity : entitys) { + for (int i=0;i=0) { + int projecStatusID = entity.get_ValueAsInt(MProjectStatus.COLUMNNAME_C_ProjectStatus_ID); + if (projecStatusID > 0) { + MProjectStatus pStatus = MProjectStatus.get(ctx, entity.get_ValueAsInt(MProjectStatus.COLUMNNAME_C_ProjectStatus_ID)); + entity.set_ValueOfColumn(MProjectStatus.COLUMNNAME_C_ProjectStatus_ID, getNextStatus(pStatus)); + } + + } + } + + if (this.message.length()>0) + entity.set_CustomColumn(MProject.COLUMNNAME_AlertMessage, this.message.toString()); + + entity.save(); + } + } + + /** + * get Next Project Status + * @param projectStatus + * @return + */ + private int getNextStatus(MProjectStatus projectStatus) { + if (projectStatus.getTimeoutDays() <= 0 + || projectStatus.getNext_Status_ID() == 0) + return projectStatus.getC_ProjectStatus_ID(); + + return projectStatus.getNext_Status_ID(); + } +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/process/ProjectProcessorAbstract.java b/processors/src/main/java/base/org/spin/eca46/process/ProjectProcessorAbstract.java new file mode 100644 index 0000000000..431cab7396 --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/process/ProjectProcessorAbstract.java @@ -0,0 +1,68 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca46.process; + +import org.compiere.process.SvrProcess; + +/** Generated Process for (Project Processor) + * @author ADempiere (generated) + * @version Release 3.9.4 + */ +public abstract class ProjectProcessorAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "ECA46_Run_Project_Processor"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Project Processor"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54658; + /** Parameter Name for Project Processor */ + public static final String C_PROJECTPROCESSOR_ID = "C_ProjectProcessor_ID"; + /** Parameter Value for Project Processor */ + private int projectProcessorId; + + @Override + protected void prepare() { + projectProcessorId = getParameterAsInt(C_PROJECTPROCESSOR_ID); + } + + /** Getter Parameter Value for Project Processor */ + protected int getProjectProcessorId() { + return projectProcessorId; + } + + /** Setter Parameter Value for Project Processor */ + protected void setProjectProcessorId(int projectProcessorId) { + this.projectProcessorId = projectProcessorId; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/process/RequestProcessor.java b/processors/src/main/java/base/org/spin/eca46/process/RequestProcessor.java new file mode 100644 index 0000000000..34c1ec1d6b --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/process/RequestProcessor.java @@ -0,0 +1,604 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.eca46.process; + +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.List; +import java.util.StringTokenizer; +import java.util.concurrent.atomic.AtomicReference; + +import org.adempiere.core.domains.models.I_R_Request; +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MChangeRequest; +import org.compiere.model.MClient; +import org.compiere.model.MGroup; +import org.compiere.model.MMailText; +import org.compiere.model.MRequest; +import org.compiere.model.MRequestProcessor; +import org.compiere.model.MRequestProcessorLog; +import org.compiere.model.MRequestProcessorRoute; +import org.compiere.model.MStatus; +import org.compiere.model.MUser; +import org.compiere.model.Query; +import org.compiere.util.Msg; +import org.compiere.util.TimeUtil; +import org.compiere.util.Trx; +import org.compiere.util.Util; +import org.spin.model.MRNoticeTemplate; +import org.spin.model.MRNoticeTemplateEvent; +import org.spin.queue.notification.DefaultNotifier; +import org.spin.queue.util.QueueLoader; + +/** + * Generated Process for (Product Internal Use) + * @author Jorg Janke + * @version $Id: RequestProcessor.java,v 1.3 2006/07/30 00:53:33 jjanke Exp $ + * @version Release 3.9.3 + */ +public class RequestProcessor extends RequestProcessorAbstract { + + /** Client onfo */ + private MClient client = null; + /** The Concrete Model */ + private MRequestProcessor requestProcessor = null; + /** Last Summary */ + private StringBuffer summary = new StringBuffer(); + /** Count */ + private int count = 0; + /** Mail Count */ + private int mailCount = 0; + /** Initial work time */ + private long startWork; + + @Override + protected void prepare() { + super.prepare(); + if(getRequestProcessorId() <= 0) { + throw new AdempiereException("@R_RequestProcessor_ID@ @NotFound@"); + } + requestProcessor = new MRequestProcessor(getCtx(), getRequestProcessorId(), get_TrxName()); + client = MClient.get(getCtx(), requestProcessor.getAD_Client_ID()); + } + + @Override + protected String doIt() throws Exception { + startWork = System.currentTimeMillis(); + summary = new StringBuffer(); + // + processEMail(); + findSalesRep (); + processStatus(); + processRequests (); + processECR(); + // + int no = requestProcessor.deleteLog(); + summary.append("Logs deleted=").append(no); + if (requestProcessor.get_TrxName() == null) { + addRequestProcessorLog(requestProcessor.get_TrxName()); + } else { + Trx.run(this::addRequestProcessorLog); + } + return TimeUtil.formatElapsed(new Timestamp(startWork)); + } + + /** + * Add Request Processor Log + * @param trxName + */ + private void addRequestProcessorLog(String trxName) { + MRequestProcessorLog requestProcessorLog = new MRequestProcessorLog(requestProcessor, summary.toString(), trxName); + requestProcessorLog.setReference(TimeUtil.formatElapsed(new Timestamp(startWork))); + requestProcessorLog.saveEx(); + } + + /************************************************************************** + * Process requests. + * Scheduled - are they due? + */ + private void processRequests () + { + resetCounter(); + StringBuffer whereClause = new StringBuffer(); + List parameters = new ArrayList<>(); + /** + * Due Requests + */ + resetCounter(); + whereClause = new StringBuffer("DueType = ? AND Processed = 'N' AND AD_Client_ID = ?"); + parameters = new ArrayList<>(); + parameters.add(MRequest.DUETYPE_Scheduled); + parameters.add(requestProcessor.getAD_Client_ID()); + // + if (requestProcessor.getR_RequestType_ID() != 0) { + whereClause.append(" AND R_RequestType_ID = ?"); + parameters.add(requestProcessor.getR_RequestType_ID()); + } + whereClause.append(" AND DateNextAction < SysDate"); + // Query for request + new Query(getCtx(), I_R_Request.Table_Name, whereClause.toString(), null) + .setParameters(parameters) + .list() + .forEach(request -> { + request.setDueType(); + if (request.isDue()) { + if (request.getRequestType().isEMailWhenDue()) { + if (sendEmail (request, MRNoticeTemplateEvent.EVENTTYPE_SalesRepDueRequestAlert)) { + request.setDateLastAlert(); + addMailCount(); + } + } + request.saveEx(); + addRecordCount(); + } + }); + summary.append("New Due #").append(count); + if (mailCount > 0) + summary.append(" (").append(mailCount).append(" EMail)"); + summary.append (" - "); + + /** + * Overdue Requests. + * Due Requests - are they overdue? + */ + resetCounter(); + whereClause = new StringBuffer("DueType = ? AND Processed = 'N' AND AD_Client_ID = ?"); + parameters = new ArrayList<>(); + parameters.add(MRequest.DUETYPE_Due); + parameters.add(requestProcessor.getAD_Client_ID()); + // + if (requestProcessor.getR_RequestType_ID() != 0) { + whereClause.append(" AND R_RequestType_ID = ?"); + parameters.add(requestProcessor.getR_RequestType_ID()); + } + whereClause.append(" AND EXISTS(SELECT 1 FROM R_RequestType rt " + + "WHERE R_Request.R_RequestType_ID = rt.R_RequestType_ID" + + " AND (R_Request.DateNextAction+rt.DueDateTolerance) < SysDate)"); + // Query for request + new Query(getCtx(), I_R_Request.Table_Name, whereClause.toString(), null) + .setParameters(parameters) + .list() + .forEach(request -> { + request.setDueType(); + if (request.isOverdue()) { + if (request.getRequestType().isEMailWhenOverdue() + && !TimeUtil.isSameDay(request.getDateLastAlert(), null)) { + if (sendEmail (request, MRNoticeTemplateEvent.EVENTTYPE_AutomaticTaskExpiredTaskAlert)) { + request.setDateLastAlert(); + addMailCount(); + } + } + request.saveEx(); + addRecordCount(); + } + }); + summary.append("New Overdue #").append(count); + if (mailCount > 0) + summary.append(" (").append(mailCount).append(" EMail)"); + summary.append (" - "); + + /** + * Send (over)due alerts + */ + if (requestProcessor.getOverdueAlertDays() > 0) { + resetCounter(); + whereClause = new StringBuffer("Processed = 'N' AND AD_Client_ID = ?"); + parameters = new ArrayList<>(); + parameters.add(requestProcessor.getAD_Client_ID()); + whereClause.append(" AND (DateNextAction+" + requestProcessor.getOverdueAlertDays() + ") < SysDate" + + " AND (DateLastAlert IS NULL"); + if (requestProcessor.getRemindDays() > 0) { + whereClause.append(" OR (DateLastAlert+" + requestProcessor.getRemindDays() + ") < SysDate"); + } + whereClause.append(")"); + // + if (requestProcessor.getR_RequestType_ID() != 0) { + whereClause.append(" AND R_RequestType_ID = ?"); + parameters.add(requestProcessor.getR_RequestType_ID()); + } + // Query for request + new Query(getCtx(), I_R_Request.Table_Name, whereClause.toString(), null) + .setParameters(parameters) + .list() + .forEach(request -> { + request.setDueType(); + if (request.getRequestType().isEMailWhenOverdue() + && (request.getDateLastAlert() == null + || !TimeUtil.isSameDay(request.getDateLastAlert(), null))){ + if (sendEmail (request, MRNoticeTemplateEvent.EVENTTYPE_AutomaticTaskExpiredTaskAlert)) { + request.setDateLastAlert(); + addMailCount(); + } + request.saveEx(); + addRecordCount(); + } + }); + summary.append("Alerts #").append(count); + if (mailCount > 0) + summary.append(" (").append(mailCount).append(" EMail)"); + summary.append (" - "); + } // Overdue + + /** + * Escalate + */ + if (requestProcessor.getOverdueAssignDays() > 0) { + resetCounter(); + whereClause = new StringBuffer("Processed = 'N' AND AD_Client_ID = ? AND IsEscalated='N'"); + parameters = new ArrayList<>(); + parameters.add(requestProcessor.getAD_Client_ID()); + whereClause.append(" AND (DateNextAction+" + requestProcessor.getOverdueAssignDays() + ") < SysDate"); + // + if (requestProcessor.getR_RequestType_ID() != 0) { + whereClause.append(" AND R_RequestType_ID = ?"); + parameters.add(requestProcessor.getR_RequestType_ID()); + } + // Query for request + new Query(getCtx(), I_R_Request.Table_Name, whereClause.toString(), null) + .setParameters(parameters) + .list() + .forEach(request -> { + if(escalate(request)) { + addRecordCount(); + } + }); + summary.append("Escalated #").append(count).append(" - "); + } // Esacalate + + /** + * Send inactivity alerts + */ + if (requestProcessor.getInactivityAlertDays() > 0) + { + resetCounter(); + whereClause = new StringBuffer("Processed = 'N' AND AD_Client_ID = ?"); + parameters = new ArrayList<>(); + parameters.add(requestProcessor.getAD_Client_ID()); + whereClause.append(" AND (Updated+" + requestProcessor.getInactivityAlertDays() + ") < SysDate AND (DateLastAlert IS NULL"); + if (requestProcessor.getRemindDays() > 0) { + whereClause.append(" OR (DateLastAlert+" + requestProcessor.getRemindDays() + ") < SysDate"); + } + whereClause.append(")"); + // + if (requestProcessor.getR_RequestType_ID() != 0) { + whereClause.append(" AND R_RequestType_ID = ?"); + parameters.add(requestProcessor.getR_RequestType_ID()); + } + // Query for request + new Query(getCtx(), I_R_Request.Table_Name, whereClause.toString(), null) + .setParameters(parameters) + .list() + .forEach(request -> { + if (request.getDateLastAlert() == null + || !TimeUtil.isSameDay(request.getDateLastAlert(), null)) { + if (sendEmail (request, MRNoticeTemplateEvent.EVENTTYPE_AutomaticTaskExpiredTaskAlert)) { + request.setDateLastAlert(); + addMailCount(); + } + request.saveEx(); + addRecordCount(); + } + }); + summary.append("Inactivity #").append(count).append(" - "); + if (mailCount > 0) + summary.append(" (").append(mailCount).append(" EMail)"); + summary.append (" - "); + } // Inactivity + } // processRequests + + /** + * Send Alert EMail + * @param request request + * @param eventType Event Type + * @return true if sent + */ + private boolean sendEmail (MRequest request, String eventType) { + AtomicReference subject = new AtomicReference(); + AtomicReference message = new AtomicReference(); + // Event Type + if(!Util.isEmpty(eventType)) { + MMailText mailText = MRNoticeTemplate.getMailTemplate(getCtx(), MRNoticeTemplate.TEMPLATETYPE_Request, eventType); + if(mailText != null) { + // Add Request + mailText.setPO(request, true); + subject.set(mailText.getMailHeader()); + // Message + message.set(mailText.getMailText(true)); + } + } + if(Util.isEmpty(subject.get()) + && Util.isEmpty(message.get())) { + // Alert: Request {0} overdue + subject.set(Msg.getMsg(client.getAD_Language(), "RequestDue", + new String[] {request.getDocumentNo()})); + message.set(request.getSummary()); + } + // + Trx.run(transactionName -> { + // Get instance for notifier + try { + DefaultNotifier notifier = (DefaultNotifier) QueueLoader.getInstance().getQueueManager(DefaultNotifier.QUEUETYPE_DefaultNotifier) + .withContext(getCtx()) + .withTransactionName(transactionName); + // Send notification to queue + notifier + .clearMessage() + .withApplicationType(DefaultNotifier.DefaultNotificationType_UserDefined) + .withUserId(request.getUpdatedBy()) + .addRecipient(request.getSalesRep_ID()) + .withText(message.get()) + .addAttachment(request.createPDF()) + .withDescription(subject.get()); + // Add to queue + notifier.addToQueue(); + } catch (Exception e) { + log.severe(e.getLocalizedMessage()); + } + }); + return true; + } // sendAlert + + /** + * Escalate + * @param request request + * @return true if saved + */ + private boolean escalate (MRequest request) + { + // Get Supervisor + MUser supervisor = request.getSalesRep(); // self + int supervisor_ID = request.getSalesRep().getSupervisor_ID(); + if (supervisor_ID == 0 && requestProcessor.getSupervisor_ID() != 0) + supervisor_ID = requestProcessor.getSupervisor_ID(); + if (supervisor_ID != 0 && supervisor_ID != request.getAD_User_ID()) + supervisor = MUser.get(getCtx(), supervisor_ID); + + // Escalated: Request {0} to {1} + AtomicReference subject = new AtomicReference(); + AtomicReference message = new AtomicReference(); + // Event Type + MMailText mailText = MRNoticeTemplate.getMailTemplate(getCtx(), MRNoticeTemplate.TEMPLATETYPE_Request, MRNoticeTemplateEvent.EVENTTYPE_AutomaticTaskTaskTransferNotice); + if(mailText != null) { + // Add Request + mailText.setPO(request, true); + subject.set(mailText.getMailHeader()); + // Message + message.set(mailText.getMailText(true)); + } + if(Util.isEmpty(subject.get()) + && Util.isEmpty(message.get())) { + // Alert: Request {0} overdue + subject.set(Msg.getMsg(client.getAD_Language(), "RequestEscalate", new String[] {request.getDocumentNo(), supervisor.getName()})); + message.set(request.getSummary()); + } + List recipients = new ArrayList<>(); + recipients.add(request.getSalesRep_ID()); + // Not the same - send mail to supervisor + if (request.getSalesRep_ID() != supervisor.getAD_User_ID()) { + recipients.add(supervisor.getAD_User_ID()); + } + // + Trx.run(transactionName -> { + // Get instance for notifier + DefaultNotifier notifier = (DefaultNotifier) QueueLoader.getInstance().getQueueManager(DefaultNotifier.QUEUETYPE_DefaultNotifier) + .withContext(getCtx()) + .withTransactionName(transactionName); + // Send notification to queue + notifier + .clearMessage() + .withApplicationType(DefaultNotifier.DefaultNotificationType_UserDefined) + .withText(message.get()) + .addAttachment(request.createPDF()) + .withDescription(subject.get()); + // Add recipients + recipients.forEach(recipientId -> notifier.addRecipient(recipientId)); + // Add to queue + notifier.addToQueue(); + }); + // ---------------- + request.setDueType(); + request.setIsEscalated(true); + request.setResult(subject.get()); + return request.save(); + } // escalate + + /** + * Add Record count + */ + private void addRecordCount() { + count++; + } + + /** + * Add mail count + */ + private void addMailCount() { + mailCount++; + } + + /** + * Reset Counter + */ + private void resetCounter() { + count = 0; + mailCount = 0; + } + + /************************************************************************** + * Process Request Status + */ + private void processStatus() + { + resetCounter(); + StringBuffer whereClause = new StringBuffer("EXISTS(" + + "SELECT 1 FROM R_Status s " + + "WHERE R_Request.R_Status_ID=s.R_Status_ID" + + " AND s.TimeoutDays > 0 AND s.Next_Status_ID > 0" + + " AND R_Request.DateLastAction+s.TimeoutDays < SysDate" + + ")"); + // Query for request + new Query(getCtx(), I_R_Request.Table_Name, whereClause.toString(), null) + .setOrderBy(I_R_Request.COLUMNNAME_R_Status_ID) + .list() + .stream() + .filter(request -> MStatus.get(getCtx(), request.getR_Status_ID()).getTimeoutDays() > 0 + && MStatus.get(getCtx(), request.getR_Status_ID()).getNext_Status_ID() > 0) + .forEach(request -> { + // Get/Check Status + MStatus status = MStatus.get(getCtx(), request.getR_Status_ID()); + // Next Status + MStatus next = MStatus.get(getCtx(), status.getNext_Status_ID()); + // + String result = Msg.getMsg(getCtx(), "RequestStatusTimeout") + + ": " + status.getName() + " -> " + next.getName(); + request.setResult(result); + request.setR_Status_ID(status.getNext_Status_ID()); + if(request.save()) { + addRecordCount(); + } + }); + summary.append("Status Timeout #").append(count) + .append(" - "); + } // processStatus + + /** + * Create ECR + */ + private void processECR() + { + // Get Requests with Request Type-AutoChangeRequest and Group with info + resetCounter(); + StringBuffer whereClause = new StringBuffer("M_ChangeRequest_ID IS NULL" + + " AND EXISTS(" + + "SELECT 1 FROM R_RequestType rt " + + "WHERE rt.R_RequestType_ID = R_Request.R_RequestType_ID" + + " AND rt.IsAutoChangeRequest='Y')" + + "AND EXISTS (" + + "SELECT 1 FROM R_Group g " + + "WHERE g.R_Group_ID = R_Request.R_Group_ID" + + " AND (g.M_BOM_ID IS NOT NULL OR g.M_ChangeNotice_ID IS NOT NULL) )"); + // Query for request + new Query(getCtx(), I_R_Request.Table_Name, whereClause.toString(), null) + .setOrderBy(I_R_Request.COLUMNNAME_R_Status_ID) + .list() + .forEach(request -> { + MGroup requestGroup = MGroup.get(getCtx(), request.getR_Group_ID()); + MChangeRequest changeRequest = new MChangeRequest(request, requestGroup); + if (request.save()) { + request.setM_ChangeRequest_ID(changeRequest.getM_ChangeRequest_ID()); + if (request.save()) { + addMailCount(); + } + } + addRecordCount(); + }); + summary.append("Auto Change Request #").append(count); + if ((count - mailCount) > 0) + summary.append("(fail=").append((count - mailCount)).append(")"); + summary.append(" - "); + } // processECR + + + /************************************************************************** + * Create Reauest / Updates from EMail + */ + private void processEMail () + { + // m_summary.append("Mail #").append(count) + // .append(" - "); + } // processEMail + + + /************************************************************************** + * Allocate Sales Rep + */ + private void findSalesRep () { + StringBuffer whereClause = new StringBuffer("Processed = 'N' AND AD_Client_ID = ? AND (SalesRep_ID = 0 OR SalesRep_ID IS NULL)"); + List parameters = new ArrayList<>(); + parameters.add(requestProcessor.getAD_Client_ID()); + resetCounter(); + // Query for request + new Query(getCtx(), I_R_Request.Table_Name, whereClause.toString(), null) + .setParameters(parameters) + .list() + .forEach(request -> { + int salesRepId = findSalesRep(request); + if (salesRepId != 0) { + request.setSalesRep_ID(salesRepId); + if(request.save()) { + addMailCount(); + } + } + addRecordCount(); + }); + // + if (mailCount == 0 && (count - mailCount) == 0) + summary.append("No unallocated Requests"); + else + summary.append("Allocated SalesRep=").append(mailCount); + if ((count - mailCount) > 0) + summary.append(",Not=").append((count - mailCount)); + summary.append(" - "); + } // findSalesRep + + /** + * Find SalesRep/User based on Request Type and Question. + * @param request request + * @return SalesRep_ID user + */ + private int findSalesRep (MRequest request) + { + String QText = request.getSummary(); + if (QText == null) + QText = ""; + else + QText = QText.toUpperCase(); + // + MRequestProcessorRoute[] routes = requestProcessor.getRoutes(false); + for (int i = 0; i < routes.length; i++) { + MRequestProcessorRoute route = routes[i]; + + // Match first on Request Type + if (request.getR_RequestType_ID() == route.getR_RequestType_ID() + && route.getR_RequestType_ID() != 0) + return route.getAD_User_ID(); + + // Match on element of keyword + String keyword = route.getKeyword(); + if (keyword != null) + { + StringTokenizer st = new StringTokenizer(keyword.toUpperCase(), " ,;\t\n\r\f"); + while (st.hasMoreElements()) { + if (QText.indexOf(st.nextToken()) != -1) + return route.getAD_User_ID(); + } + } + } // for all routes + + return requestProcessor.getSupervisor_ID(); + } // findSalesRep + + /** + * Get Server Info + * @return info + */ + public String getServerInfo() + { + return "Last=" + summary.toString(); + } // getServerInfo +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/process/RequestProcessorAbstract.java b/processors/src/main/java/base/org/spin/eca46/process/RequestProcessorAbstract.java new file mode 100644 index 0000000000..e2bb544007 --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/process/RequestProcessorAbstract.java @@ -0,0 +1,68 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca46.process; + +import org.compiere.process.SvrProcess; + +/** Generated Process for (Request Processor) + * @author ADempiere (generated) + * @version Release 3.9.4 + */ +public abstract class RequestProcessorAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "ECA46_Run_Request_Processor"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Request Processor"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54660; + /** Parameter Name for Request Processor */ + public static final String R_REQUESTPROCESSOR_ID = "R_RequestProcessor_ID"; + /** Parameter Value for Request Processor */ + private int requestProcessorId; + + @Override + protected void prepare() { + requestProcessorId = getParameterAsInt(R_REQUESTPROCESSOR_ID); + } + + /** Getter Parameter Value for Request Processor */ + protected int getRequestProcessorId() { + return requestProcessorId; + } + + /** Setter Parameter Value for Request Processor */ + protected void setRequestProcessorId(int requestProcessorId) { + this.requestProcessorId = requestProcessorId; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/process/SchedulerProcessor.java b/processors/src/main/java/base/org/spin/eca46/process/SchedulerProcessor.java new file mode 100644 index 0000000000..50c2b569bc --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/process/SchedulerProcessor.java @@ -0,0 +1,354 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.eca46.process; + +import java.io.File; +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Optional; +import java.util.Properties; +import java.util.concurrent.atomic.AtomicReference; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MClient; +import org.compiere.model.MOrgInfo; +import org.compiere.model.MPInstance; +import org.compiere.model.MProcess; +import org.compiere.model.MRole; +import org.compiere.model.MScheduler; +import org.compiere.model.MSchedulerLog; +import org.compiere.model.MUser; +import org.compiere.print.ReportEngine; +import org.compiere.process.ProcessInfo; +import org.compiere.process.ProcessInfoUtil; +import org.compiere.util.DisplayType; +import org.compiere.util.Env; +import org.compiere.util.TimeUtil; +import org.compiere.util.Trx; +import org.eevolution.services.dsl.ProcessBuilder; +import org.spin.queue.notification.DefaultNotifier; +import org.spin.queue.util.QueueLoader; + +/** + * Generated Process for (Product Internal Use) + * @author Jorg Janke + * @version $Id: RequestProcessor.java,v 1.3 2006/07/30 00:53:33 jjanke Exp $ + * @version Release 3.9.3 + */ +public class SchedulerProcessor extends SchedulerProcessorAbstract { + + /** The Concrete Model */ + private MScheduler schedulerProcessor = null; + /** Last Summary */ + private StringBuffer summary = new StringBuffer(); + + // ctx for the report/process + Properties schedulerContext = new Properties(); + /** Initial work time */ + private long startWork; + + @Override + protected void prepare() { + super.prepare(); + if(getSchedulerId() <= 0) { + throw new AdempiereException("@AD_WorkflowProcessor_ID@ @NotFound@"); + } + schedulerProcessor = new MScheduler(getCtx(), getSchedulerId(), get_TrxName()); +// client = MClient.get(getCtx(), schedulerConfiguration.getAD_Client_ID()); + } + + @Override + protected String doIt() throws Exception { + startWork = System.currentTimeMillis(); + summary = new StringBuffer(schedulerProcessor.toString()) + .append(" - "); + // Prepare a ctx for the report/process - BF [1966880] + schedulerContext.clear(); + MClient schedclient = MClient.get(getCtx(), schedulerProcessor.getAD_Client_ID()); + Env.setContext(schedulerContext, "#AD_Client_ID", schedclient.getAD_Client_ID()); + Env.setContext(schedulerContext, "#AD_Language", schedclient.getAD_Language()); + Env.setContext(schedulerContext, "#AD_Org_ID", schedulerProcessor.getAD_Org_ID()); + if (schedulerProcessor.getAD_Org_ID() != 0) { + MOrgInfo schedorg = MOrgInfo.get(getCtx(), schedulerProcessor.getAD_Org_ID(), null); + if (schedorg.getM_Warehouse_ID() > 0) + Env.setContext(schedulerContext, "#M_Warehouse_ID", schedorg.getM_Warehouse_ID()); + } + Env.setContext(schedulerContext, "#AD_User_ID", getRunningUserId()); + Env.setContext(schedulerContext, "#SalesRep_ID", getRunningUserId()); + // TODO: It can be convenient to add AD_Scheduler.AD_Role_ID + MUser scheduser = MUser.get(getCtx(), getRunningUserId()); + MRole[] schedroles = scheduser.getRoles(schedulerProcessor.getAD_Org_ID()); + if (schedroles != null && schedroles.length > 0) + Env.setContext(schedulerContext, "#AD_Role_ID", schedroles[0].getAD_Role_ID()); // first role, ordered by AD_Role_ID + Timestamp ts = new Timestamp(System.currentTimeMillis()); + SimpleDateFormat dateFormat4Timestamp = new SimpleDateFormat("yyyy-MM-dd"); + Env.setContext(schedulerContext, "#Date", dateFormat4Timestamp.format(ts)+" 00:00:00" ); // JDBC format + Trx.run(transactionName -> { + try { + MProcess process = new MProcess(schedulerContext, schedulerProcessor.getAD_Process_ID(), transactionName); + summary.append(runProcess(process)); + } catch (Exception e) { + summary.append(e.toString()); + throw new AdempiereException(e); + } + }); + // + int no = schedulerProcessor.deleteLog(); + summary.append(" Logs deleted=").append(no); + if (schedulerProcessor.get_TrxName() == null ) { + Trx.run(this::addSchedulerLog); + } else { + addSchedulerLog(schedulerProcessor.get_TrxName()); + } + return TimeUtil.formatElapsed(new Timestamp(startWork)); + } + + /** + * Add Scheduler Log + * @param trxName + */ + private void addSchedulerLog(String trxName) { + MSchedulerLog schedulerLog = new MSchedulerLog(schedulerProcessor, summary.toString(), trxName); + schedulerLog.setReference(TimeUtil.formatElapsed(new Timestamp(startWork))); + schedulerLog.saveEx(); + } + /** + * Run Process or Report + * @param process process + * @return summary + * @throws Exception + */ + private String runProcess(MProcess process) throws Exception { + log.info(process.toString()); + + boolean isReport = (process.isReport() || process.getAD_ReportView_ID() > 0); + // + ProcessBuilder builder = ProcessBuilder.create(getCtx()) + .process(process.getAD_Process_ID()) + .withClientId(schedulerProcessor.getAD_Client_ID()) + .withUserId(getRunningUserId()) + .withTitle(process.getName()) + .withRecordId(schedulerProcessor.getAD_Table_ID(), schedulerProcessor.getRecord_ID()); + // Fill It + fillParameter(builder); + try { + builder.execute(); + } catch (Exception e) { + log.severe(e.getLocalizedMessage()); + } + // Get Process Info + ProcessInfo info = builder.getProcessInfo(); + if(info.isError()) { + // notify supervisor if error + int supervisor = schedulerProcessor.getSupervisor_ID(); + if (supervisor > 0) { + ProcessInfoUtil.setLogFromDB(info); + // + Trx.run(transactionName -> { + // Get instance for notifier + DefaultNotifier notifier = (DefaultNotifier) QueueLoader.getInstance().getQueueManager(DefaultNotifier.QUEUETYPE_DefaultNotifier) + .withContext(getCtx()) + .withTransactionName(transactionName); + // Send notification to queue + notifier + .clearMessage() + .withApplicationType(DefaultNotifier.DefaultNotificationType_UserDefined) + .withUserId(getRunningUserId()) + .addRecipient(supervisor) + .withText(info.getSummary() + " " + info.getLogInfo()) + .withDescription(process.getName()) + .withEntity(MPInstance.Table_ID, info.getAD_PInstance_ID()); + // Add to queue + notifier.addToQueue(); + }); + } + } else { + // notify recipients on success + Integer[] userIds = schedulerProcessor.getRecipientByUserIds(); + StringBuffer errorsSending = new StringBuffer(); + if (userIds.length > 0) { + ProcessInfoUtil.setLogFromDB(info); + Arrays.asList(userIds) + .stream() + .filter(userId -> userId!= schedulerProcessor.getCreatedBy()) + .forEach(userId -> { + AtomicReference report = new AtomicReference(); + if (isReport) { + // Report + ReportEngine re = ReportEngine.get(getCtx(), info); + if (re != null) { + report.set(re.getPDF()); + } else { + if(errorsSending.length() > 0) { + errorsSending.append(Env.NL); + } + errorsSending.append("@Error@ " + process.getAD_Process_ID() + " - " + process.getName()); + } + } + // + Trx.run(transactionName -> { + // Get instance for notifier + DefaultNotifier notifier = (DefaultNotifier) QueueLoader.getInstance().getQueueManager(DefaultNotifier.QUEUETYPE_DefaultNotifier) + .withContext(getCtx()) + .withTransactionName(transactionName); + // Send notification to queue + notifier + .clearMessage() + .withApplicationType(DefaultNotifier.DefaultNotificationType_UserDefined) + .withUserId(getRunningUserId()) + .addRecipient(userId) + .addAttachment(report.get()) + .withText(info.getSummary() + " " + info.getLogInfo()) + .withDescription(process.getName()) + .withEntity(schedulerProcessor); + // Change Subject and Text + if (isReport) { + notifier + .withText(schedulerProcessor.getDescription()) + .withDescription(schedulerProcessor.getName()); + } + // Add to queue + notifier.addToQueue(); + }); + }); + // report all errors + if(errorsSending.length() > 0) { + info.setSummary(Optional.ofNullable(info.getSummary()).orElse("") + Env.NL + errorsSending.toString()); + } + } + } + return info.getSummary(); + } // runProcess + + private int getRunningUserId() { + int AD_User_ID; + if (schedulerProcessor.getSupervisor_ID() > 0) + AD_User_ID = schedulerProcessor.getSupervisor_ID(); + else if (schedulerProcessor.getCreatedBy() > 0) + AD_User_ID = schedulerProcessor.getCreatedBy(); + else if (schedulerProcessor.getUpdatedBy() > 0) + AD_User_ID = schedulerProcessor.getUpdatedBy(); + else + AD_User_ID = 100; //fall back to SuperUser + return AD_User_ID; + } + + /** + * Fill Parameter + * @param pInstance process instance + */ + private void fillParameter(ProcessBuilder builder) { + Arrays.asList(schedulerProcessor.getParameters(false)) + .forEach(schedulerParameter -> { + String variable = schedulerParameter.getParameterDefault(); + log.fine(schedulerParameter.getColumnName() + " = " + variable); + // Value - Constant/Variable + Object value = variable; + if (variable == null + || (variable != null && variable.length() == 0)) { + value = null; + } else if ( variable.indexOf('@') != -1 + && variable.indexOf('@') != variable.lastIndexOf('@')) { + // Strip + int index = variable.indexOf('@'); + String columnName = variable.substring(index+1); + index = columnName.indexOf('@'); + if (index != -1) { + columnName = columnName.substring(0, index); + // try Env + String environment = Env.getContext(schedulerContext, columnName); + if (environment == null || environment.length() == 0) + environment = Env.getContext(getCtx(), columnName); + if (environment.length() == 0) { + log.warning(schedulerParameter.getColumnName() + + " - not in environment =" + columnName + + "(" + variable + ")"); + } else { + value = environment; + } + } + } // @variable@ + // Exists a Value + if (value != null) { + // Object Parameter + Object parameterOfProcess = null; + // Convert to Type + try { + if (DisplayType.isNumeric(schedulerParameter.getDisplayType()) + || DisplayType.isID(schedulerParameter.getDisplayType())) { + BigDecimal decimalValue = null; + if (value instanceof BigDecimal) + decimalValue = (BigDecimal)value; + else if (value instanceof Integer) + decimalValue = new BigDecimal (((Integer)value).intValue()); + else + decimalValue = new BigDecimal (value.toString()); + parameterOfProcess = decimalValue; + log.fine(schedulerParameter.getColumnName() + + " = " + variable + " (=" + decimalValue + "=)"); + } else if (DisplayType.YesNo == schedulerParameter.getDisplayType()) { + boolean booleanValue = false; + if(value instanceof Boolean) { + booleanValue = ((Boolean) value); + } else { + booleanValue = value.toString().replaceAll("'", "").equals("Y"); + } + parameterOfProcess = booleanValue; + log.fine(schedulerParameter.getColumnName() + + " = " + variable + " (=" + booleanValue + "=)"); + } else if (DisplayType.isDate(schedulerParameter.getDisplayType())) { + Timestamp dateValue = null; + if (value instanceof Timestamp) + dateValue = (Timestamp)value; + else + dateValue = Timestamp.valueOf(value.toString()); + parameterOfProcess = dateValue; + log.fine(schedulerParameter.getColumnName() + + " = " + variable + " (=" + dateValue + "=)"); + } else { + parameterOfProcess = value.toString().replaceAll("'", ""); + log.fine(schedulerParameter.getColumnName() + + " = " + variable + + " (=" + value + "=) " + value.getClass().getName()); + } + // add to builder + if (parameterOfProcess != null) { + log.fine("ColumnName=" + schedulerParameter.getColumnName() + ", Value=" + parameterOfProcess); + builder.withParameter(schedulerParameter.getColumnName(), parameterOfProcess); + } + } + catch (Exception e) { + log.warning(schedulerParameter.getColumnName() + + " = " + variable + " (" + value + + ") " + value.getClass().getName() + + " - " + e.getLocalizedMessage()); + } + } + }); + } + /** + * Get Server Info + * @return info + */ + public String getServerInfo() + { + return "Last=" + summary.toString(); + } // getServerInfo +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/process/SchedulerProcessorAbstract.java b/processors/src/main/java/base/org/spin/eca46/process/SchedulerProcessorAbstract.java new file mode 100644 index 0000000000..254717cb38 --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/process/SchedulerProcessorAbstract.java @@ -0,0 +1,68 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca46.process; + +import org.compiere.process.SvrProcess; + +/** Generated Process for (Scheduler Processor) + * @author ADempiere (generated) + * @version Release 3.9.4 + */ +public abstract class SchedulerProcessorAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "ECA46_Run_Scheduler_Processor"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Scheduler Processor"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54661; + /** Parameter Name for Scheduler */ + public static final String AD_SCHEDULER_ID = "AD_Scheduler_ID"; + /** Parameter Value for Scheduler */ + private int schedulerId; + + @Override + protected void prepare() { + schedulerId = getParameterAsInt(AD_SCHEDULER_ID); + } + + /** Getter Parameter Value for Scheduler */ + protected int getSchedulerId() { + return schedulerId; + } + + /** Setter Parameter Value for Scheduler */ + protected void setSchedulerId(int schedulerId) { + this.schedulerId = schedulerId; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/process/WorkflowProcessor.java b/processors/src/main/java/base/org/spin/eca46/process/WorkflowProcessor.java new file mode 100644 index 0000000000..60f7ea2fb0 --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/process/WorkflowProcessor.java @@ -0,0 +1,523 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.eca46.process; + +import java.io.File; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.concurrent.atomic.AtomicReference; +import java.util.logging.Level; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MClient; +import org.compiere.model.MOrgInfo; +import org.compiere.model.MUserRoles; +import org.compiere.model.PO; +import org.compiere.process.DocAction; +import org.compiere.process.StateEngine; +import org.compiere.util.DB; +import org.compiere.util.Msg; +import org.compiere.util.TimeUtil; +import org.compiere.util.Trx; +import org.compiere.wf.MWFActivity; +import org.compiere.wf.MWFNode; +import org.compiere.wf.MWFProcess; +import org.compiere.wf.MWFResponsible; +import org.compiere.wf.MWorkflowProcessor; +import org.compiere.wf.MWorkflowProcessorLog; +import org.spin.queue.notification.DefaultNotifier; +import org.spin.queue.util.QueueLoader; + +/** + * Generated Process for (Product Internal Use) + * @author Jorg Janke + * @version $Id: RequestProcessor.java,v 1.3 2006/07/30 00:53:33 jjanke Exp $ + * @version Release 3.9.3 + */ +public class WorkflowProcessor extends WorkflowProcessorAbstract { + + /** The Concrete Model */ + private MWorkflowProcessor workflowProcessor = null; + /** Last Summary */ + private StringBuffer summary = new StringBuffer(); + /** Client onfo */ + private MClient client = null; + /** Initial work time */ + private long startWork; + + @Override + protected void prepare() { + super.prepare(); + if(getWorkflowProcessorId() <= 0) { + throw new AdempiereException("@AD_WorkflowProcessor_ID@ @NotFound@"); + } + workflowProcessor = new MWorkflowProcessor(getCtx(), getWorkflowProcessorId(), get_TrxName()); + client = MClient.get(getCtx(), workflowProcessor.getAD_Client_ID()); + } + + @Override + protected String doIt() throws Exception { + startWork = System.currentTimeMillis(); + summary = new StringBuffer(); + // + wakeup(); + dynamicPriority(); + sendAlerts(); + // + int no = workflowProcessor.deleteLog(); + summary.append("Logs deleted=").append(no); + if (workflowProcessor.get_TrxName() == null) { + Trx.run(this::addWorkflowProcessorLog); + } else { + addWorkflowProcessorLog(workflowProcessor.get_TrxName()); + } + return TimeUtil.formatElapsed(new Timestamp(startWork)); + } + + /** + * Add Workflow Processor Log + * @param trxName + */ + private void addWorkflowProcessorLog(String trxName) { + MWorkflowProcessorLog workflowProcessorLog = new MWorkflowProcessorLog(workflowProcessor, summary.toString(), trxName); + workflowProcessorLog.setReference(TimeUtil.formatElapsed(new Timestamp(startWork))); + workflowProcessorLog.saveEx(); + } + + /** + * Continue Workflow After Sleep + */ + private void wakeup() + { + String sql = "SELECT * " + + "FROM AD_WF_Activity a " + + "WHERE Processed='N' AND WFState='OS'" // suspended + + " AND EndWaitTime > SysDate" + + " AND AD_Client_ID=?" + + " AND EXISTS (SELECT * FROM AD_Workflow wf " + + " INNER JOIN AD_WF_Node wfn ON (wf.AD_Workflow_ID=wfn.AD_Workflow_ID) " + + "WHERE a.AD_WF_Node_ID=wfn.AD_WF_Node_ID" + + " AND wfn.Action='Z'" // sleeping + + " AND (wf.AD_WorkflowProcessor_ID IS NULL OR wf.AD_WorkflowProcessor_ID=?))"; + PreparedStatement pstmt = null; + int count = 0; + try + { + pstmt = DB.prepareStatement (sql, null); + pstmt.setInt (1, workflowProcessor.getAD_Client_ID()); + pstmt.setInt (2, workflowProcessor.getAD_WorkflowProcessor_ID()); + ResultSet rs = pstmt.executeQuery (); + while (rs.next ()) + { + MWFActivity activity = new MWFActivity (getCtx(), rs, null); + activity.setWFState (StateEngine.STATE_Completed); + // saves and calls MWFProcess.checkActivities(); + count++; + } + rs.close (); + } + catch (Exception e) + { + log.log(Level.SEVERE, "wakeup", e); + } + finally + { + DB.close(pstmt); + } + summary.append("Wakeup #").append(count).append (" - "); + } // wakeup + + /** + * Set/Increase Priority dynamically + */ + private void dynamicPriority() + { + // suspend activities with dynamic priority node + String sql = "SELECT * " + + "FROM AD_WF_Activity a " + + "WHERE Processed='N' AND WFState='OS'" // suspended + + " AND EXISTS (SELECT * FROM AD_Workflow wf" + + " INNER JOIN AD_WF_Node wfn ON (wf.AD_Workflow_ID=wfn.AD_Workflow_ID) " + + "WHERE a.AD_WF_Node_ID=wfn.AD_WF_Node_ID AND wf.AD_WorkflowProcessor_ID=?" + + " AND wfn.DynPriorityUnit IS NOT NULL AND wfn.DynPriorityChange IS NOT NULL)"; + PreparedStatement pstmt = null; + int count = 0; + try + { + pstmt = DB.prepareStatement (sql, null); + pstmt.setInt(1, workflowProcessor.getAD_WorkflowProcessor_ID()); + ResultSet rs = pstmt.executeQuery (); + while (rs.next ()) + { + MWFActivity activity = new MWFActivity (getCtx(), rs, null); + if (activity.getDynPriorityStart() == 0) + activity.setDynPriorityStart(activity.getPriority()); + long ms = System.currentTimeMillis() - activity.getCreated().getTime(); + MWFNode node = activity.getNode(); + int prioDiff = node.calculateDynamicPriority ((int)(ms / 1000)); + activity.setPriority(activity.getDynPriorityStart() + prioDiff); + activity.saveEx(); + count++; + } + rs.close (); + } + catch (Exception e) + { + log.log(Level.SEVERE, sql, e); + } + finally + { + DB.close(pstmt); + } + + summary.append("DynPriority #").append(count).append (" - "); + } // setPriority + + + /** + * Send Alerts + */ + private void sendAlerts() + { + // Alert over Priority + if (workflowProcessor.getAlertOverPriority() > 0) + { + String sql = "SELECT * " + + "FROM AD_WF_Activity a " + + "WHERE Processed='N' AND WFState='OS'" // suspended + + " AND Priority >= ?" // ##1 + + " AND (DateLastAlert IS NULL"; + if (workflowProcessor.getRemindDays() > 0) + sql += " OR (DateLastAlert+" + workflowProcessor.getRemindDays() + + ") < SysDate"; + sql += ") AND EXISTS (SELECT * FROM AD_Workflow wf " + + " INNER JOIN AD_WF_Node wfn ON (wf.AD_Workflow_ID=wfn.AD_Workflow_ID) " + + "WHERE a.AD_WF_Node_ID=wfn.AD_WF_Node_ID" + + " AND (wf.AD_WorkflowProcessor_ID IS NULL OR wf.AD_WorkflowProcessor_ID=?))"; + int count = 0; + int countEMails = 0; + PreparedStatement pstmt = null; + try + { + pstmt = DB.prepareStatement(sql, null); + pstmt.setInt (1, workflowProcessor.getAlertOverPriority()); + pstmt.setInt (2, workflowProcessor.getAD_WorkflowProcessor_ID()); + ResultSet rs = pstmt.executeQuery(); + while (rs.next()) + { + MWFActivity activity = new MWFActivity (getCtx(), rs, null); + boolean escalate = activity.getDateLastAlert() != null; + countEMails += sendEmail (activity, "ActivityOverPriority", + escalate, true); + activity.setDateLastAlert(new Timestamp(System.currentTimeMillis())); + activity.saveEx(); + count++; + } + rs.close(); + pstmt.close(); + } + catch (SQLException e) + { + log.log(Level.SEVERE, "(Priority) - " + sql, e); + } + finally + { + DB.close(pstmt); + } + summary.append("OverPriority #").append(count); + if (countEMails > 0) + summary.append(" (").append(countEMails).append(" EMail)"); + summary.append (" - "); + } // Alert over Priority + + /** + * Over End Wait + */ + String sql = "SELECT * " + + "FROM AD_WF_Activity a " + + "WHERE Processed='N' AND WFState='OS'" // suspended + + " AND EndWaitTime > SysDate" + + " AND (DateLastAlert IS NULL"; + if (workflowProcessor.getRemindDays() > 0) + sql += " OR (DateLastAlert+" + workflowProcessor.getRemindDays() + + ") < SysDate"; + sql += ") AND EXISTS (SELECT * FROM AD_Workflow wf " + + " INNER JOIN AD_WF_Node wfn ON (wf.AD_Workflow_ID=wfn.AD_Workflow_ID) " + + "WHERE a.AD_WF_Node_ID=wfn.AD_WF_Node_ID" + + " AND wfn.Action<>'Z'" // not sleeping + + " AND (wf.AD_WorkflowProcessor_ID IS NULL OR wf.AD_WorkflowProcessor_ID=?))"; + PreparedStatement pstmt = null; + int count = 0; + int countEMails = 0; + try + { + pstmt = DB.prepareStatement (sql, null); + pstmt.setInt(1, workflowProcessor.getAD_WorkflowProcessor_ID()); + ResultSet rs = pstmt.executeQuery (); + while (rs.next ()) + { + MWFActivity activity = new MWFActivity (getCtx(), rs, null); + boolean escalate = activity.getDateLastAlert() != null; + countEMails += sendEmail (activity, "ActivityEndWaitTime", + escalate, false); + activity.setDateLastAlert(new Timestamp(System.currentTimeMillis())); + activity.saveEx(); + count++; + } + rs.close (); + } + catch (Exception e) + { + log.log(Level.SEVERE, "(EndWaitTime) - " + sql, e); + } + finally + { + DB.close(pstmt); + } + + summary.append("EndWaitTime #").append(count); + if (countEMails > 0) + summary.append(" (").append(countEMails).append(" EMail)"); + summary.append (" - "); + + /** + * Send inactivity alerts + */ + if (workflowProcessor.getInactivityAlertDays() > 0) + { + sql = "SELECT * " + + "FROM AD_WF_Activity a " + + "WHERE Processed='N' AND WFState='OS'" // suspended + + " AND (Updated+" + workflowProcessor.getInactivityAlertDays() + ") < SysDate" + + " AND (DateLastAlert IS NULL"; + if (workflowProcessor.getRemindDays() > 0) + sql += " OR (DateLastAlert+" + workflowProcessor.getRemindDays() + + ") < SysDate"; + sql += ") AND EXISTS (SELECT * FROM AD_Workflow wf " + + " INNER JOIN AD_WF_Node wfn ON (wf.AD_Workflow_ID=wfn.AD_Workflow_ID) " + + "WHERE a.AD_WF_Node_ID=wfn.AD_WF_Node_ID" + + " AND (wf.AD_WorkflowProcessor_ID IS NULL OR wf.AD_WorkflowProcessor_ID=?))"; + count = 0; + countEMails = 0; + try + { + pstmt = DB.prepareStatement(sql, null); + pstmt.setInt (1, workflowProcessor.getAD_WorkflowProcessor_ID()); + ResultSet rs = pstmt.executeQuery(); + while (rs.next()) + { + MWFActivity activity = new MWFActivity (getCtx(), rs, null); + boolean escalate = activity.getDateLastAlert() != null; + countEMails += sendEmail (activity, "ActivityInactivity", + escalate, false); + activity.setDateLastAlert(new Timestamp(System.currentTimeMillis())); + activity.saveEx(); + count++; + } + rs.close(); + pstmt.close(); + } + catch (SQLException e) + { + log.log(Level.SEVERE, "(Inactivity): " + sql, e); + } + finally + { + DB.close(pstmt); + } + summary.append("Inactivity #").append(count); + if (countEMails > 0) + summary.append(" (").append(countEMails).append(" EMail)"); + summary.append (" - "); + } // Inactivity + } // sendAlerts + + /** + * Send Alert EMail + * @param activity activity + * @param AD_Message message + * @param toProcess true if to process owner + * @param toSupervisor true if to Supervisor + * @return number of mails sent + */ + private int sendEmail (MWFActivity activity, String AD_Message, + boolean toProcess, boolean toSupervisor) + { + if (client == null || client.getAD_Client_ID() != activity.getAD_Client_ID()) + client = MClient.get(getCtx(), activity.getAD_Client_ID()); + + MWFProcess process = new MWFProcess (getCtx(), activity.getAD_WF_Process_ID(), null); + + String subjectVar = activity.getNode().getName(); + AtomicReference message = new AtomicReference(activity.getTextMsg()); + if (message.get() == null || message.get().length() == 0) + message.set(process.getTextMsg()); + AtomicReference attachmentAsPDF = new AtomicReference<>(); + PO po = activity.getPO(); + if (po instanceof DocAction) { + message.set(((DocAction)po).getDocumentInfo() + "\n" + message.get()); + attachmentAsPDF.set(((DocAction)po).createPDF()); + } + + // Inactivity Alert: Workflow Activity {0} + String subject = Msg.getMsg(client.getAD_Language(), AD_Message, + new Object[] {subjectVar}); + + // Prevent duplicates + ArrayList list = new ArrayList(); + int counter = 0; + + // To Activity Owner + counter++; + list.add(Integer.valueOf(activity.getAD_User_ID())); + + // To Process Owner + if (toProcess + && process.getAD_User_ID() != activity.getAD_User_ID()) { + counter++; + list.add(Integer.valueOf(process.getAD_User_ID())); + } + + // To Activity Responsible + MWFResponsible responsible = MWFResponsible.get(getCtx(), activity.getAD_WF_Responsible_ID()); + counter += sendAlertToResponsible (responsible, list, process, + subject, message.get(), attachmentAsPDF.get(), po); + + // To Process Responsible + if (toProcess + && process.getAD_WF_Responsible_ID() != activity.getAD_WF_Responsible_ID()) { + responsible = MWFResponsible.get(getCtx(), process.getAD_WF_Responsible_ID()); + counter += sendAlertToResponsible (responsible, list, process, + subject, message.get(), attachmentAsPDF.get(), po); + } + + // Processor SuperVisor + if (toSupervisor + && workflowProcessor.getSupervisor_ID() != 0 + && !list.contains(Integer.valueOf(workflowProcessor.getSupervisor_ID()))) { + counter++; + list.add(Integer.valueOf(workflowProcessor.getSupervisor_ID())); + } + Trx.run(transactionName -> { + DefaultNotifier notifier = getDefaultNotifierInstance(transactionName); + notifier.clearMessage() + .withApplicationType(DefaultNotifier.DefaultNotificationType_UserDefined) + .withText(subject) + .addAttachment(attachmentAsPDF.get()) + .withDescription(message.get()) + .withEntity(po); + list.forEach(userId -> notifier.addRecipient(userId)); + notifier.addToQueue(); + }); + return counter; + } // sendAlert + + /** + * Get Default notifier + * @param transactionName + * @return + */ + private DefaultNotifier getDefaultNotifierInstance(String transactionName) { + return (DefaultNotifier) QueueLoader.getInstance().getQueueManager(DefaultNotifier.QUEUETYPE_DefaultNotifier) + .withContext(getCtx()) + .withTransactionName(transactionName); + } + + /** + * Send Alert To Responsible + * @param responsible responsible + * @param list list of already sent users + * @param process process + * @param subject subject + * @param message message + * @param pdf optional pdf + * @return number of mail sent + */ + private int sendAlertToResponsible (MWFResponsible responsible, + ArrayList list, MWFProcess process, + String subject, String message, File pdf, PO po) + { + int counter = 0; + if (responsible.isInvoker()) + ; + // Human + else if (MWFResponsible.RESPONSIBLETYPE_Human.equals(responsible.getResponsibleType()) + && responsible.getAD_User_ID() != 0 + && !list.contains(Integer.valueOf(responsible.getAD_User_ID()))) { + counter++; + list.add(Integer.valueOf(responsible.getAD_User_ID())); + } + // Org of the Document + else if (MWFResponsible.RESPONSIBLETYPE_Organization.equals(responsible.getResponsibleType())) { + PO document = process.getPO(); + if (document != null) { + MOrgInfo org = MOrgInfo.get (getCtx(), document.getAD_Org_ID(), null); + if (org.getSupervisor_ID() != 0 + && !list.contains(Integer.valueOf(org.getSupervisor_ID()))) { + counter++; + list.add(Integer.valueOf(org.getSupervisor_ID())); + } + } + } + // Role + else if (MWFResponsible.RESPONSIBLETYPE_Role.equals(responsible.getResponsibleType()) + && responsible.getAD_Role_ID() != 0) { + MUserRoles[] userRoles = MUserRoles.getOfRole(getCtx(), responsible.getAD_Role_ID()); + for (int i = 0; i < userRoles.length; i++) + { + MUserRoles roles = userRoles[i]; + if (!roles.isActive()) + continue; + int AD_User_ID = roles.getAD_User_ID(); + if (!list.contains(Integer.valueOf(AD_User_ID))) { + counter++; + list.add(Integer.valueOf(AD_User_ID)); + } + } + } + // Send + Trx.run(transactionName -> { + DefaultNotifier notifier = getDefaultNotifierInstance(transactionName); + notifier + .clearMessage() + .withApplicationType(DefaultNotifier.DefaultNotificationType_UserDefined) + .withText(subject) + .addAttachment(pdf) + .withDescription(message) + .withEntity(po); + // Add all recipients + list.forEach(userId -> notifier.addRecipient(userId)); + // Add to queue + notifier.addToQueue(); + }); + return counter; + } // sendAlertToResponsible + + + /** + * Get Server Info + * @return info + */ + public String getServerInfo() + { + return "Last=" + summary.toString(); + } // getServerInfo +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/process/WorkflowProcessorAbstract.java b/processors/src/main/java/base/org/spin/eca46/process/WorkflowProcessorAbstract.java new file mode 100644 index 0000000000..138bf20c55 --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/process/WorkflowProcessorAbstract.java @@ -0,0 +1,68 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.eca46.process; + +import org.compiere.process.SvrProcess; + +/** Generated Process for (Run Workflow Processor) + * @author ADempiere (generated) + * @version Release 3.9.4 + */ +public abstract class WorkflowProcessorAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "ECA46_Run_Workflow_Processor"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Run Workflow Processor"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54659; + /** Parameter Name for Workflow Processor */ + public static final String AD_WORKFLOWPROCESSOR_ID = "AD_WorkflowProcessor_ID"; + /** Parameter Value for Workflow Processor */ + private int workflowProcessorId; + + @Override + protected void prepare() { + workflowProcessorId = getParameterAsInt(AD_WORKFLOWPROCESSOR_ID); + } + + /** Getter Parameter Value for Workflow Processor */ + protected int getWorkflowProcessorId() { + return workflowProcessorId; + } + + /** Setter Parameter Value for Workflow Processor */ + protected void setWorkflowProcessorId(int workflowProcessorId) { + this.workflowProcessorId = workflowProcessorId; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/processors/src/main/java/base/org/spin/eca46/setup/CreateDKron.java b/processors/src/main/java/base/org/spin/eca46/setup/CreateDKron.java new file mode 100644 index 0000000000..94a6bd77e6 --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/setup/CreateDKron.java @@ -0,0 +1,86 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.eca46.setup; + +import java.util.Properties; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.Query; +import org.spin.eca46.util.support.DKron; +import org.spin.model.MADAppRegistration; +import org.spin.model.MADAppSupport; +import org.spin.util.ISetupDefinition; + +/** + * Create a Setup for dKron and all registration, please add adempiere_token parameter + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class CreateDKron implements ISetupDefinition { + + private static final String DESCRIPTION = "(*Created from Setup Automatically*)"; + private static final String NAME = "Default Processor Exporter"; + private static final String APPLICATION_TYPE = "EPR"; + + @Override + public String doIt(Properties context, String transactionName) { + // For setup + createRegistration(context, transactionName); + // financial management + return "@AD_SetupDefinition_ID@ @Ok@"; + } + + /** + * Create Model Vaidator + * @param context + * @param transactionName + * @return + */ + private void createRegistration(Properties context, String transactionName) { + MADAppRegistration registration = new Query(context, MADAppRegistration.Table_Name, "EXISTS(SELECT 1 FROM AD_AppSupport s " + + "WHERE s.AD_AppSupport_ID = AD_AppRegistration.AD_AppSupport_ID " + + "AND s.ApplicationType = ? " + + "AND s.IsActive = 'Y' " + + "AND s.Classname = ?)", transactionName) + .setParameters(APPLICATION_TYPE, DKron.class.getName()) + .setClient_ID() + .first(); + // Validate + if(registration != null + && registration.getAD_AppRegistration_ID() > 0) { + return; + } + // Get + MADAppSupport applicationSupport = new Query(context, MADAppSupport.Table_Name, "Classname = ? AND ApplicationType = ?", transactionName).setParameters(DKron.class.getName(), APPLICATION_TYPE).first(); + // + if(applicationSupport == null) { + throw new AdempiereException("@AD_AppSupport_ID@ @NotFound@"); + } + registration = new MADAppRegistration(context, 0, transactionName); + registration.setApplicationType(applicationSupport.getApplicationType()); + registration.setAD_AppSupport_ID(applicationSupport.getAD_AppSupport_ID()); + registration.setAD_Org_ID(0); + registration.setValue("EPR-dKron"); + registration.setName(NAME); + registration.setDescription(DESCRIPTION); + registration.setVersionNo("1.0"); + // dKron host and endpoint + registration.setHost("http://localhost"); + registration.setPort(8080); + registration.setTimeout(0); + registration.saveEx(); + } +} diff --git a/processors/src/main/java/base/org/spin/eca46/util/support/Accounting.java b/processors/src/main/java/base/org/spin/eca46/util/support/Accounting.java new file mode 100644 index 0000000000..f3f5be5978 --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/util/support/Accounting.java @@ -0,0 +1,105 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.eca46.util.support; + +import java.sql.Timestamp; +import java.util.TimeZone; + +import org.compiere.model.MAcctProcessor; +import org.spin.eca46.process.AcctProcessor; + +/** + * Wrapper for Request Processor + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Accounting implements IProcessorEntity { + /** Accounting processor */ + private MAcctProcessor processor; + + /** + * Static builder + * @return + */ + public static Accounting newInstance() { + return new Accounting(); + } + + /** + * Set Acct Processor + * @param processor + * @return + */ + public Accounting withAccountingProcessor(MAcctProcessor processor) { + this.processor = processor; + return this; + } + + @Override + public String getIdentifier() { + return (AcctProcessor.getProcessValue() + "_" + processor.getC_AcctProcessor_ID()).toLowerCase(); + } + + @Override + public String getDisplayName() { + return processor.getName(); + } + + // America/Caracas or any + @Override + public String getTimeZone() { + return TimeZone.getDefault().getID(); + } + + @Override + public String getProcessCode() { + return AcctProcessor.getProcessValue(); + } + + @Override + public String getProcessorParameterCode() { + return AcctProcessor.C_ACCTPROCESSOR_ID; + } + + @Override + public int getProcessorParameterId() { + return processor.getC_AcctProcessor_ID(); + } + + @Override + public String getFrequencyType() { + return processor.getFrequencyType(); + } + + @Override + public int getFrequency() { + return processor.getFrequency(); + } + + @Override + public boolean isEnabled() { + return processor.isActive(); + } + + @Override + public int getProcessorType() { + return ACCOUNTING; + } + + @Override + public Timestamp getDateNextRun() { + return processor.getDateNextRun(); + } +} diff --git a/processors/src/main/java/base/org/spin/eca46/util/support/Alert.java b/processors/src/main/java/base/org/spin/eca46/util/support/Alert.java new file mode 100644 index 0000000000..2722e0c93a --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/util/support/Alert.java @@ -0,0 +1,105 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.eca46.util.support; + +import java.sql.Timestamp; +import java.util.TimeZone; + +import org.compiere.model.MAlertProcessor; +import org.spin.eca46.process.AlertProcessor; + +/** + * Wrapper for Alert Processor + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Alert implements IProcessorEntity { + /** Alert processor */ + private MAlertProcessor processor; + + /** + * Static builder + * @return + */ + public static Alert newInstance() { + return new Alert(); + } + + /** + * Set Alert Processor + * @param processor + * @return + */ + public Alert withAlertProcessor(MAlertProcessor processor) { + this.processor = processor; + return this; + } + + @Override + public String getIdentifier() { + return (AlertProcessor.getProcessValue() + "_" + processor.getAD_AlertProcessor_ID()).toLowerCase(); + } + + @Override + public String getDisplayName() { + return processor.getName(); + } + + // America/Caracas or any + @Override + public String getTimeZone() { + return TimeZone.getDefault().getID(); + } + + @Override + public String getProcessCode() { + return AlertProcessor.getProcessValue(); + } + + @Override + public String getProcessorParameterCode() { + return AlertProcessor.AD_ALERTPROCESSOR_ID; + } + + @Override + public int getProcessorParameterId() { + return processor.getAD_AlertProcessor_ID(); + } + + @Override + public String getFrequencyType() { + return processor.getFrequencyType(); + } + + @Override + public int getFrequency() { + return processor.getFrequency(); + } + + @Override + public boolean isEnabled() { + return processor.isActive(); + } + + @Override + public int getProcessorType() { + return ALERT; + } + + @Override + public Timestamp getDateNextRun() { + return processor.getDateNextRun(); + } +} diff --git a/processors/src/main/java/base/org/spin/eca46/util/support/DKron.java b/processors/src/main/java/base/org/spin/eca46/util/support/DKron.java new file mode 100644 index 0000000000..2c1d4bc83d --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/util/support/DKron.java @@ -0,0 +1,286 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.eca46.util.support; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TimeZone; + +import javax.ws.rs.client.Client; +import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.Entity; +import javax.ws.rs.client.Invocation; +import javax.ws.rs.core.HttpHeaders; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MClient; +import org.compiere.model.MScheduler; +import org.compiere.util.Env; +import org.compiere.util.Util; +import org.glassfish.jersey.client.ClientConfig; +import org.glassfish.jersey.client.HttpUrlConnectorProvider; +import org.json.JSONObject; +import org.spin.model.MADAppRegistration; + +/** + * Util class for some helper methods + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class DKron implements IExternalProcessor { + /** dKron Host */ + private String dKronHost = null; + /** ADempier Token */ + private String adempiereToken = null; + /** ADempiere Host */ + private String adempiereHost = null; + /** ADempiere Endpoint */ + private String adempiereEndpoint = null; + /** Registration Id */ + private int registrationId = 0; + private final String ADEMPIERE_ENDPOINT = "adempiere_endpoint"; + private String clientUuid; + + + /** + * Validate connection + */ + private void validate() { + if(getAppRegistrationId() <= 0) { + throw new AdempiereException("@AD_AppRegistration_ID@ @NotFound@"); + } + MADAppRegistration registration = MADAppRegistration.getById(Env.getCtx(), getAppRegistrationId(), null); + adempiereEndpoint = registration.getParameterValue(ADEMPIERE_ENDPOINT); + clientUuid = MClient.get(Env.getCtx(), Env.getAD_Client_ID(Env.getCtx())).getUUID(); + if(Util.isEmpty(clientUuid)) { + throw new AdempiereException("@AD_Client_ID@ @UUID@ @IsMandatory@"); + } + dKronHost = registration.getHost(); + if(registration.getPort() > 0) { + dKronHost = dKronHost + ":" + registration.getPort(); + } + } + + @Override + public String testConnection() { + return "Ok"; + } + + @Override + public void setAppRegistrationId(int registrationId) { + this.registrationId = registrationId; + validate(); + } + + @Override + public int getAppRegistrationId() { + return registrationId; + } + + @Override + public String exportProcessor(IProcessorEntity processor) { + // dKron Host + if(Util.isEmpty(dKronHost)) { + throw new AdempiereException("@Host@ @NotFound@"); + } + // ADempiere Host + if(Util.isEmpty(adempiereHost)) { + throw new AdempiereException("ADempiere @Host@ @NotFound@"); + } + // ADempiere Token + if(Util.isEmpty(adempiereToken)) { + throw new AdempiereException("@Token@ @NotFound@"); + } + // ADempiere Endpoint + if(Util.isEmpty(adempiereEndpoint)) { + throw new AdempiereException("@Endpoint@ @NotFound@"); + } + Invocation.Builder invocationBuilder = getClient().target(dKronHost) + .path("v1") + .path("jobs") + .request(MediaType.APPLICATION_JSON) + .header(HttpHeaders.ACCEPT, "application/json"); + // + JSONObject jsonValue = new JSONObject(getRequestDefinition(processor)); + Entity entity = Entity.json(jsonValue.toString()); + Response response = invocationBuilder.post(entity); + if(response.getStatus() != 201 + || response.getStatus() != 200) { + String output = response.readEntity(String.class); + return output; + } + return null; + } + + /** + * Get Definition for dKron request + * @param processor + * @return + */ + private Map getRequestDefinition(IProcessorEntity processor) { + Map data = new HashMap<>(); + data.put("name", clientUuid + "_" + processor.getIdentifier()); + data.put("displayname", processor.getDisplayName()); + data.put("schedule", getSchedule(processor)); + data.put("timezone", processor.getTimeZone()); + data.put("disabled", !processor.isEnabled()); + data.put("retries", 0); + data.put("concurrency", "forbid"); + data.put("executor", "http"); + if(processor.getDateNextRun() != null) { + SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + dateFormatter.setTimeZone(TimeZone.getTimeZone(processor.getTimeZone())); + data.put("next", dateFormatter.format(processor.getDateNextRun())); + } + Map executorConfig = new HashMap<>(); + executorConfig.put("method", "POST"); + executorConfig.put("url", getCompleteUrl(processor)); + List headers = new ArrayList<>(); + headers.add("\"Authorization: Bearer " + adempiereToken + "\""); + headers.add("\"Content-Type: application/json\""); + executorConfig.put("headers", headers.toString()); + executorConfig.put("timeout", "60000"); + executorConfig.put("expectCode", "200"); + executorConfig.put("expectBody", ""); + executorConfig.put("debug", "false"); + data.put("executor_config", executorConfig); + return data; + } + + private String getCompleteUrl(IProcessorEntity processor) { + + return getAdempiereService() + "/" + getProcessCode(processor) + "/" + Env.getAD_Client_ID(Env.getCtx()) + "/" + processor.getProcessorParameterId(); + } + + private String getProcessCode(IProcessorEntity processor) { + if(processor.getProcessorType() == IProcessorEntity.ALERT) { + return "alert"; + } else if(processor.getProcessorType() == IProcessorEntity.WORKFLOW) { + return "workflow"; + } else if(processor.getProcessorType() == IProcessorEntity.ACCOUNTING) { + return "accounting"; + } else if(processor.getProcessorType() == IProcessorEntity.REQUEST) { + return "request"; + } else if(processor.getProcessorType() == IProcessorEntity.SCHEDULER) { + return "scheduler"; + } else if(processor.getProcessorType() == IProcessorEntity.PROJECT) { + return "project"; + } else { + throw new AdempiereException("@Processor@ @NotFound@"); + } + } + + private String getSchedule(IProcessorEntity processor) { + String schedule = null; + if(processor.getFrequency() <= 0) { + switch (processor.getFrequencyType()) { + case MScheduler.FREQUENCYTYPE_Hour: + schedule = "@hourly"; + break; + case MScheduler.FREQUENCYTYPE_Minute: + schedule = "@minutely"; + break; + case MScheduler.FREQUENCYTYPE_Secound: + schedule = "@every 1s"; + break; + case MScheduler.FREQUENCYTYPE_Yearly: + schedule = "@yearly"; + break; + case MScheduler.FREQUENCYTYPE_Monthly: + schedule = "@monthly"; + break; + case MScheduler.FREQUENCYTYPE_Weekly: + schedule = "@weekly"; + break; + case MScheduler.FREQUENCYTYPE_Day: + schedule = "@daily"; + break; + case MScheduler.FREQUENCYTYPE_Biweekly: + schedule = "@every 48h"; + break; + case MScheduler.FREQUENCYTYPE_Quarterly: + schedule = "@every 48h"; + break; + default: + // Default hours + schedule = "@every " + processor.getFrequency() + "h"; + break; + } + } else { + switch (processor.getFrequencyType()) { + case MScheduler.FREQUENCYTYPE_Hour: + schedule = "@every " + processor.getFrequency() + "h"; + break; + case MScheduler.FREQUENCYTYPE_Minute: + schedule = "@every " + processor.getFrequency() + "m"; + break; + case MScheduler.FREQUENCYTYPE_Secound: + schedule = "@every " + processor.getFrequency() + "s"; + break; + case MScheduler.FREQUENCYTYPE_Yearly: + schedule = "@every " + processor.getFrequency() + "h"; + break; + case MScheduler.FREQUENCYTYPE_Monthly: + schedule = "@every " + (processor.getFrequency() * 24 * 30) + "h"; + break; + case MScheduler.FREQUENCYTYPE_Weekly: + schedule = "@every " + (processor.getFrequency() * 24 * 7) + "h"; + break; + case MScheduler.FREQUENCYTYPE_Day: + schedule = "@every " + (processor.getFrequency() * 24) + "h"; + break; + case MScheduler.FREQUENCYTYPE_Biweekly: + schedule = "@every " + (processor.getFrequency() * 24 * 60) + "h"; + break; + case MScheduler.FREQUENCYTYPE_Quarterly: + schedule = "@every " + (processor.getFrequency() * 24 * 60) + "h"; + break; + default: + // Default hours + schedule = "@every " + processor.getFrequency() + "h"; + break; + } + } + return schedule; + } + + /** + * Get client + * @return + */ + public Client getClient() { + return ClientBuilder.newClient(new ClientConfig()) + .property(HttpUrlConnectorProvider.SET_METHOD_WORKAROUND, true); + } + + @Override + public void setTokenAccess(String token) { + adempiereToken = token; + } + + @Override + public void setHost(String host) { + adempiereHost = host; + } + + private String getAdempiereService() { + return adempiereHost + adempiereEndpoint; + } +} diff --git a/processors/src/main/java/base/org/spin/eca46/util/support/IExternalProcessor.java b/processors/src/main/java/base/org/spin/eca46/util/support/IExternalProcessor.java new file mode 100644 index 0000000000..17ffbc068a --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/util/support/IExternalProcessor.java @@ -0,0 +1,42 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.eca46.util.support; +import org.spin.util.support.IAppSupport; + +/** + * Wrapper for Alert Processor + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public interface IExternalProcessor extends IAppSupport { + + /** + * Export a specific processor + * @param processor + */ + public String exportProcessor(IProcessorEntity processor); + + /** + * Set token for connect with ADempiere + * @param token + */ + public void setTokenAccess(String token); + + /** + * Set host for connect with ADempiere + * @param host + */ + public void setHost(String host); +} diff --git a/processors/src/main/java/base/org/spin/eca46/util/support/IProcessorEntity.java b/processors/src/main/java/base/org/spin/eca46/util/support/IProcessorEntity.java new file mode 100644 index 0000000000..77959b5a8d --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/util/support/IProcessorEntity.java @@ -0,0 +1,101 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, S.A. All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *************************************************************************************/ +package org.spin.eca46.util.support; + +import java.sql.Timestamp; + +/** + * Interface as contract for supported API + * @author Yamel Senih, ysenih@erpya.com , http://www.erpya.com + */ +public interface IProcessorEntity { + + public static final int ACCOUNTING = 1; + public static final int PROJECT = 2; + public static final int REQUEST = 3; + public static final int ALERT = 4; + public static final int SCHEDULER = 5; + public static final int WORKFLOW = 6; + + /** + * Get + * @return + */ + public int getProcessorType(); + + /** + * Get Identifier of Entity + * @return + */ + public String getIdentifier(); + + /** + * Get Display Name for Processor + * @return + */ + public String getDisplayName(); + + /** + * Get Execution Time Zone + * @return + */ + public String getTimeZone(); + + /** + * Get Process Code for running + * @return + */ + public String getProcessCode(); + + /** + * Get Processor Parameter Code, some like: + * AD_Scheduler_ID for run ECA46_Run_Scheduler_Processor + * @return + */ + public String getProcessorParameterCode(); + + /** + * Get Processor paramerer ID, some like: + * 100 for run ECA46_Run_Scheduler_Processor + * @return + */ + public int getProcessorParameterId(); + + + /** + * Get Frequency Type + * @return + */ + public String getFrequencyType(); + + /** + * Get Execution frequency + * @return + */ + public int getFrequency(); + + /** + * Validate if is enabled it + * @return + */ + public boolean isEnabled(); + + /** + * get Date Next Run from service + * @return + */ + public Timestamp getDateNextRun(); +} diff --git a/processors/src/main/java/base/org/spin/eca46/util/support/Project.java b/processors/src/main/java/base/org/spin/eca46/util/support/Project.java new file mode 100644 index 0000000000..1411ae05f9 --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/util/support/Project.java @@ -0,0 +1,106 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.eca46.util.support; + +import java.sql.Timestamp; +import java.util.TimeZone; + +import org.eevolution.model.MProjectProcessor; +import org.spin.eca46.process.ProjectProcessor; +/** + * Wrapper for Project Processor + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Project implements IProcessorEntity { + /** Project processor */ + private MProjectProcessor processor; + + /** + * Static builder + * @return + */ + public static Project newInstance() { + return new Project(); + } + + /** + * Set Project Processor + * @param processor + * @return + */ + public Project withProjectProcessor(MProjectProcessor processor) { + this.processor = processor; + return this; + } + + @Override + public String getIdentifier() { + return (ProjectProcessor.getProcessValue() + "_" + processor.getC_ProjectProcessor_ID()).toLowerCase(); + } + + @Override + public String getDisplayName() { + return processor.getName(); + } + + // America/Caracas or any + @Override + public String getTimeZone() { + return TimeZone.getDefault().getID(); + } + + @Override + public String getProcessCode() { + return ProjectProcessor.getProcessValue(); + } + + @Override + public String getProcessorParameterCode() { + return ProjectProcessor.C_PROJECTPROCESSOR_ID; + } + + @Override + public int getProcessorParameterId() { + return processor.getC_ProjectProcessor_ID(); + } + + + + @Override + public String getFrequencyType() { + return processor.getFrequencyType(); + } + + @Override + public int getFrequency() { + return processor.getFrequency(); + } + + @Override + public boolean isEnabled() { + return processor.isActive(); + } + + @Override + public int getProcessorType() { + return PROJECT; + } + + @Override + public Timestamp getDateNextRun() { + return processor.getDateNextRun(); + } +} diff --git a/processors/src/main/java/base/org/spin/eca46/util/support/Request.java b/processors/src/main/java/base/org/spin/eca46/util/support/Request.java new file mode 100644 index 0000000000..21cac3bb64 --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/util/support/Request.java @@ -0,0 +1,105 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.eca46.util.support; + +import java.sql.Timestamp; +import java.util.TimeZone; + +import org.compiere.model.MRequestProcessor; +import org.spin.eca46.process.RequestProcessor; + +/** + * Wrapper for Request Processor + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Request implements IProcessorEntity { + /** Request processor */ + private MRequestProcessor processor; + + /** + * Static builder + * @return + */ + public static Request newInstance() { + return new Request(); + } + + /** + * Set Request Processor + * @param processor + * @return + */ + public Request withRequestProcessor(MRequestProcessor processor) { + this.processor = processor; + return this; + } + + @Override + public String getIdentifier() { + return (RequestProcessor.getProcessValue() + "_" + processor.getR_RequestProcessor_ID()).toLowerCase(); + } + + @Override + public String getDisplayName() { + return processor.getName(); + } + + // America/Caracas or any + @Override + public String getTimeZone() { + return TimeZone.getDefault().getID(); + } + + @Override + public String getProcessCode() { + return RequestProcessor.getProcessValue(); + } + + @Override + public String getProcessorParameterCode() { + return RequestProcessor.R_REQUESTPROCESSOR_ID; + } + + @Override + public int getProcessorParameterId() { + return processor.getR_RequestType_ID(); + } + + @Override + public String getFrequencyType() { + return processor.getFrequencyType(); + } + + @Override + public int getFrequency() { + return processor.getFrequency(); + } + + @Override + public boolean isEnabled() { + return processor.isActive(); + } + + @Override + public int getProcessorType() { + return REQUEST; + } + + @Override + public Timestamp getDateNextRun() { + return processor.getDateNextRun(); + } +} diff --git a/processors/src/main/java/base/org/spin/eca46/util/support/Schedule.java b/processors/src/main/java/base/org/spin/eca46/util/support/Schedule.java new file mode 100644 index 0000000000..a5a19ccdc3 --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/util/support/Schedule.java @@ -0,0 +1,105 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.eca46.util.support; + +import java.sql.Timestamp; +import java.util.TimeZone; + +import org.compiere.model.MScheduler; +import org.spin.eca46.process.SchedulerProcessor; + +/** + * Wrapper for Request Processor + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Schedule implements IProcessorEntity { + /** Request processor */ + private MScheduler processor; + + /** + * Static builder + * @return + */ + public static Schedule newInstance() { + return new Schedule(); + } + + /** + * Set Scheduler Processor + * @param processor + * @return + */ + public Schedule withSchedulerProcessor(MScheduler processor) { + this.processor = processor; + return this; + } + + @Override + public String getIdentifier() { + return (SchedulerProcessor.getProcessValue() + "_" + processor.getAD_Scheduler_ID()).toLowerCase(); + } + + @Override + public String getDisplayName() { + return processor.getName(); + } + + // America/Caracas or any + @Override + public String getTimeZone() { + return TimeZone.getDefault().getID(); + } + + @Override + public String getProcessCode() { + return SchedulerProcessor.getProcessValue(); + } + + @Override + public String getProcessorParameterCode() { + return SchedulerProcessor.AD_SCHEDULER_ID; + } + + @Override + public int getProcessorParameterId() { + return processor.getAD_Scheduler_ID(); + } + + @Override + public String getFrequencyType() { + return processor.getFrequencyType(); + } + + @Override + public int getFrequency() { + return processor.getFrequency(); + } + + @Override + public boolean isEnabled() { + return processor.isActive(); + } + + @Override + public int getProcessorType() { + return SCHEDULER; + } + + @Override + public Timestamp getDateNextRun() { + return processor.getDateNextRun(); + } +} diff --git a/processors/src/main/java/base/org/spin/eca46/util/support/Workflow.java b/processors/src/main/java/base/org/spin/eca46/util/support/Workflow.java new file mode 100644 index 0000000000..af49cabbe6 --- /dev/null +++ b/processors/src/main/java/base/org/spin/eca46/util/support/Workflow.java @@ -0,0 +1,106 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.eca46.util.support; + +import java.sql.Timestamp; +import java.util.TimeZone; + +import org.compiere.wf.MWorkflowProcessor; +import org.spin.eca46.process.RequestProcessor; +import org.spin.eca46.process.WorkflowProcessor; + +/** + * Wrapper for Request Processor + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Workflow implements IProcessorEntity { + /** Workflow processor */ + private MWorkflowProcessor processor; + + /** + * Static builder + * @return + */ + public static Workflow newInstance() { + return new Workflow(); + } + + /** + * Set Workflow Processor + * @param processor + * @return + */ + public Workflow withWorkflowProcessor(MWorkflowProcessor processor) { + this.processor = processor; + return this; + } + + @Override + public String getIdentifier() { + return (WorkflowProcessor.getProcessValue() + "_" + processor.getAD_WorkflowProcessor_ID()).toLowerCase(); + } + + @Override + public String getDisplayName() { + return processor.getName(); + } + + // America/Caracas or any + @Override + public String getTimeZone() { + return TimeZone.getDefault().getID(); + } + + @Override + public String getProcessCode() { + return WorkflowProcessor.getProcessValue(); + } + + @Override + public String getProcessorParameterCode() { + return RequestProcessor.R_REQUESTPROCESSOR_ID; + } + + @Override + public int getProcessorParameterId() { + return processor.getAD_WorkflowProcessor_ID(); + } + + @Override + public String getFrequencyType() { + return processor.getFrequencyType(); + } + + @Override + public int getFrequency() { + return processor.getFrequency(); + } + + @Override + public boolean isEnabled() { + return processor.isActive(); + } + + @Override + public int getProcessorType() { + return WORKFLOW; + } + + @Override + public Timestamp getDateNextRun() { + return processor.getDateNextRun(); + } +} diff --git a/processors/xml/migration/10100_Add_ECA46_Entity_Type.xml b/processors/xml/migration/10100_Add_ECA46_Entity_Type.xml new file mode 100644 index 0000000000..c99423b5a6 --- /dev/null +++ b/processors/xml/migration/10100_Add_ECA46_Entity_Type.xml @@ -0,0 +1,27 @@ + + + + + + + 9f2c8f4a-27a4-461c-9ef9-8fa563198bd6 + 100 + 2023-06-17 12:36:01.958 + false + Spin Contribution (External Business Processor) + org.spin.eca46.model + true + Contribution by E.R.P Consultores y Asociados, C.A +https://erpya.com/ + ECA46 + Spin Contribution (External Business Processor) + 100 + 2023-06-17 12:36:01.958 + + 0 + 50156 + 0 + + + + diff --git a/processors/xml/migration/10110_Add_External_Processors_from_Process.xml b/processors/xml/migration/10110_Add_External_Processors_from_Process.xml new file mode 100644 index 0000000000..9ea7909d41 --- /dev/null +++ b/processors/xml/migration/10110_Add_External_Processors_from_Process.xml @@ -0,0 +1,1132 @@ + + + + + + 1666acef-4197-4071-8efb-a964eccaf401 + 100 + 2023-03-09 18:58:11.684 + Running Processors + true + false + false + false + true + ECA46 + Running Processors management + 100 + 2023-03-09 18:58:11.684 + + + + + + 0 + 54852 + + 0 + + + + + + + f0a037ee-7124-4a2b-90e6-56a74b5f3198 + 100 + 2023-03-09 18:58:12.613 + Ejecución de Pocesadores + false + true + Administración de Ejecución de Procesadores + 100 + 2023-03-09 18:58:12.613 + 0 + 54852 + es_MX + 0 + + + + + 33d5997e-1061-4515-9813-5b227c78d7d9 + 100 + 2023-03-09 18:58:12.756 + 1 + 456 + 54852 + true + 100 + 2023-03-09 18:58:12.756 + 10 + 0 + 0 + + + + + + ECA46_Run_Acct_Processor + db2d1a93-cbf9-41cb-a1b8-89a9deee7bdf + 100 + 2023-03-09 18:58:13.234 + 1 + 1 + Y + + Run Acct Processor + + false + false + false + false + true + This process allows run the accounting processor from external calling + N + ECA46 + Run the Accounting Processor + 100 + 2023-03-09 18:58:13.234 + N + org.spin.eca46.process.AcctProcessor + + + 54657 + + 0 + + 0 + + 3 + + + + + ade7de5e-4065-4205-8e39-7178996e1d95 + 100 + 2023-03-09 18:58:13.954 + Ejecutar Procesador Contable + false + true + Este proceso permite ejecutar el procesador contable desde una llamada externa + Ejecuta el Procesador Contable + 100 + 2023-03-09 18:58:13.954 + 54657 + 0 + es_MX + 0 + + + + + + + + 8beae045-01bc-4519-b06c-7ebfbc5003b9 + 100 + 2023-03-09 18:58:14.533 + 10 + + Accounting Processor + false + true + false + true + true + Accounting Processor/Server Parameters + 22 + ECA46 + + Accounting Processor/Server Parameters + + -1 + 100 + 2023-03-09 18:58:14.533 + C_AcctProcessor_ID + + + 19 + 58837 + 54657 + 0 + 2368 + 0 + + + + + ffc4080d-3a41-4378-91c6-f5264271a0a4 + 100 + 2023-03-09 18:58:15.248 + Accounting Processor + false + true + Accounting Processor/Server Parameters + Accounting Processor/Server Parameters + 100 + 2023-03-09 18:58:15.248 + 58837 + 0 + es_MX + 0 + + + + + dd899fef-8839-4585-8e57-094b22a40829 + 100 + 2023-03-09 18:58:15.402 + Run Acct Processor + false + false + false + true + true + ECA46 + + 100 + 2023-03-09 18:58:15.402 + + + + + 54657 + 0 + 54853 + + 0 + + P + + + + + 03d230d1-9b7e-4136-be75-de88471a4a5c + 100 + 2023-03-09 18:58:16.034 + Run Acct Processor + false + true + + 100 + 2023-03-09 18:58:16.034 + 0 + 54853 + es_MX + 0 + + + + + 8d66178c-613f-4864-ab7d-62546a8a80ac + 100 + 2023-03-09 18:58:16.167 + 0 + 54852 + 54853 + true + 100 + 2023-03-09 18:58:16.167 + 10 + 0 + 0 + + + + + + ECA46_Run_Project_Processor + f32b2fa3-6d1a-4f3a-ab44-c09d2875b7e9 + 100 + 2023-03-09 18:58:16.274 + 0 + 0 + Y + + Run Project Processor + + false + false + false + false + true + This process allows run the project processor from external calling + N + ECA46 + Run the Project Processor + 100 + 2023-03-09 18:58:16.273 + N + org.spin.eca46.process.ProjectProcessor + + + 54658 + + 0 + + 0 + + 3 + + + + + 8ee336d4-b538-4dc1-8a19-d9c1dac10bbf + 100 + 2023-03-09 18:58:17.01 + Ejecutar Procesador de Proyectos + false + true + Este proceso permite ejecutar el procesador de proyectos desde una llamada externa + Ejecuta el Procesador de Proyectos + 100 + 2023-03-09 18:58:17.01 + 54658 + 0 + es_MX + 0 + + + + + + + + 8a19ff85-2bda-41b6-9bc7-fd1fc65728bd + 100 + 2023-03-09 18:58:17.136 + 10 + + Project Processor + false + true + false + true + true + Processor for Project + 22 + ECA46 + + Processor for Project + + -1 + 100 + 2023-03-09 18:58:17.136 + C_ProjectProcessor_ID + + + 19 + 58838 + 54658 + 0 + 59715 + 0 + + + + + 192fc262-c6ec-4287-84b6-9c936667b93a + 100 + 2023-03-09 18:58:17.954 + Project Processor + false + true + Processor for Project + Processor for Project + 100 + 2023-03-09 18:58:17.954 + 58838 + 0 + es_MX + 0 + + + + + f5af9d55-e40e-42bc-b5a2-43b0f0e6daba + 100 + 2023-03-09 18:58:18.078 + Run Project Processor + false + false + false + true + true + ECA46 + + 100 + 2023-03-09 18:58:18.078 + + + + + 54658 + 0 + 54854 + + 0 + + P + + + + + 76b93212-96fb-47ae-bec3-97396693f864 + 100 + 2023-03-09 18:58:18.789 + Run Project Processor + false + true + + 100 + 2023-03-09 18:58:18.789 + 0 + 54854 + es_MX + 0 + + + + + d3e3ff63-954a-4158-bd95-1c8896b5294a + 100 + 2023-03-09 18:58:18.876 + 1 + 54852 + 54854 + true + 100 + 2023-03-09 18:58:18.876 + 10 + 0 + 0 + + + + + + ECA46_Run_Workflow_Processor + 82b4d576-8e17-4714-98f9-6cb6d40c7184 + 100 + 2023-03-09 18:58:18.974 + 2 + 2 + Y + + Run Workflow Processor + + false + false + false + false + true + This process allows run the workflow processor from external calling + N + ECA46 + Run the Workflow Processor + 100 + 2023-03-09 18:58:18.974 + N + org.spin.eca46.process.WorkflowProcessor + + + 54659 + + 0 + + 0 + + 3 + + + + + ad63c16b-0218-48a5-baf9-aea243d8890d + 100 + 2023-03-09 18:58:19.604 + Ejecutar Procesador de Flujos de Trabajo + false + true + Este proceso permite ejecutar el procesador de flujos de trabajo desde una llamada externa + Ejecuta el Procesador de Flujos de Trabajo + 100 + 2023-03-09 18:58:19.604 + 54659 + 0 + es_MX + 0 + + + + + + + + 55fab272-ebef-4d00-b61a-f14f5f479bd9 + 100 + 2023-03-09 18:58:19.716 + 10 + + Workflow Processor + false + true + false + true + true + Workflow Processor Server + 22 + ECA46 + + Workflow Processor Server + + -1 + 100 + 2023-03-09 18:58:19.715 + AD_WorkflowProcessor_ID + + + 19 + 58839 + 54659 + 0 + 2358 + 0 + + + + + d0929dfb-bb36-42b1-b228-33f2bc8e2f23 + 100 + 2023-03-09 18:58:20.485 + Workflow Processor + false + true + Workflow Processor Server + Workflow Processor Server + 100 + 2023-03-09 18:58:20.485 + 58839 + 0 + es_MX + 0 + + + + + 1189d524-e7d3-4a0c-ab7f-02016e896778 + 100 + 2023-03-09 18:58:20.592 + Run Workflow Processor + false + false + false + true + true + ECA46 + + 100 + 2023-03-09 18:58:20.592 + + + + + 54659 + 0 + 54855 + + 0 + + P + + + + + 33cb606a-0146-4f62-890c-744453314bf3 + 100 + 2023-03-09 18:58:21.156 + Run Workflow Processor + false + true + + 100 + 2023-03-09 18:58:21.156 + 0 + 54855 + es_MX + 0 + + + + + d1997730-dbaa-4891-abe7-a32ead6b9b8e + 100 + 2023-03-09 18:58:21.257 + 2 + 54852 + 54855 + true + 100 + 2023-03-09 18:58:21.257 + 10 + 0 + 0 + + + + + + ECA46_Run_Request_Processor + a616b0fb-e0fc-4be5-b13a-3f6f2f3e5546 + 100 + 2023-03-09 18:58:21.357 + 1 + 1 + Y + + Run Request Processor + + false + false + false + false + true + This process allows run the request processor from external calling + N + ECA46 + Run the Request Processor + 100 + 2023-03-09 18:58:21.357 + N + org.spin.eca46.process.RequestProcessor + + + 54660 + + 0 + + 0 + + 3 + + + + + 9849846d-a8e3-4d22-b480-9537f6747874 + 100 + 2023-03-09 18:58:22.059 + Ejecutar Procesador de Solicitudes + false + true + Este proceso permite ejecutar el procesador de solicitudes desde una llamada externa + Ejecuta el Procesador de Solicitudes + 100 + 2023-03-09 18:58:22.059 + 54660 + 0 + es_MX + 0 + + + + + + + + c48bd09c-278f-4afa-84fb-ec9dad4d0884 + 100 + 2023-03-09 18:58:22.174 + 20 + + Request Processor + false + true + false + true + true + Processor for Requests + 22 + ECA46 + + Processor for Requests + + -1 + 100 + 2023-03-09 18:58:22.174 + R_RequestProcessor_ID + + + 19 + 58840 + 54660 + 0 + 1519 + 0 + + + + + 66e8a642-b34b-4831-a733-0efcb6d29120 + 100 + 2023-03-09 18:58:22.885 + Request Processor + false + true + Processor for Requests + Processor for Requests + 100 + 2023-03-09 18:58:22.885 + 58840 + 0 + es_MX + 0 + + + + + 8ba45219-68bc-4168-89c1-b663c8c5eff3 + 100 + 2023-03-09 18:58:22.99 + Run Request Processor + false + false + false + true + true + ECA46 + + 100 + 2023-03-09 18:58:22.99 + + + + + 54660 + 0 + 54856 + + 0 + + P + + + + + 1e8fff47-88b0-4726-ad0f-2c2fe60c50a7 + 100 + 2023-03-09 18:58:23.696 + Run Request Processor + false + true + + 100 + 2023-03-09 18:58:23.696 + 0 + 54856 + es_MX + 0 + + + + + a8d895cd-7334-405f-bf8d-8da469a46d2a + 100 + 2023-03-09 18:58:23.797 + 3 + 54852 + 54856 + true + 100 + 2023-03-09 18:58:23.797 + 10 + 0 + 0 + + + + + + ECA46_Run_Scheduler_Processor + 9fa2a932-de94-4e18-8802-4a0ba1477ffe + 100 + 2023-03-09 18:58:23.894 + 154 + 154 + Y + + Run Scheduler Processor + + false + false + false + false + true + This process allows run the scheduler processor from external calling + N + ECA46 + Run the Scheduler Processor + 100 + 2023-03-09 18:58:23.894 + N + org.spin.eca46.process.SchedulerProcessor + + + 54661 + + 0 + + 0 + + 3 + + + + + cfb9fbdd-bcd0-4a18-88f5-df21196a9f85 + 100 + 2023-03-09 18:58:24.525 + Ejecutar Procesador de Tareas + false + true + Este proceso permite ejecutar el procesador de tareas desde una llamada externa + Ejecuta el Procesador de Tareas + 100 + 2023-03-09 18:58:24.525 + 54661 + 0 + es_MX + 0 + + + + + + + + 179ee1e5-4669-47b3-bf3c-5767b53b12e5 + 100 + 2023-03-09 18:58:24.643 + 10 + + Scheduler + false + true + false + true + true + Schedule processes to be executed asynchronously + 22 + ECA46 + + Schedule Processes + + -1 + 100 + 2023-03-09 18:58:24.643 + AD_Scheduler_ID + + + 19 + 58841 + 54661 + 0 + 2356 + 0 + + + + + a08e9cc1-ee08-4b48-ad56-c15b2ad46b8f + 100 + 2023-03-09 18:58:25.321 + Scheduler + false + true + Schedule processes to be executed asynchronously + Schedule Processes + 100 + 2023-03-09 18:58:25.321 + 58841 + 0 + es_MX + 0 + + + + + c47061e6-4eb0-4cf4-98e6-61d9f915e535 + 100 + 2023-03-09 18:58:25.432 + Run Scheduler Processor + false + false + false + true + true + ECA46 + + 100 + 2023-03-09 18:58:25.432 + + + + + 54661 + 0 + 54857 + + 0 + + P + + + + + 9cf5e7b0-1620-4534-94f3-baffff6ce9f5 + 100 + 2023-03-09 18:58:26.183 + Run Scheduler Processor + false + true + + 100 + 2023-03-09 18:58:26.183 + 0 + 54857 + es_MX + 0 + + + + + 5f2385d7-2109-43c4-b41f-85a38e478287 + 100 + 2023-03-09 18:58:26.378 + 4 + 54852 + 54857 + true + 100 + 2023-03-09 18:58:26.378 + 10 + 0 + 0 + + + + + + ECA46_Run_Alert_Processor + 2f320f89-bf82-4aab-b60a-0668c7e16467 + 100 + 2023-03-10 10:40:25.696 + 0 + 0 + Y + + Run Alert Processor + + false + false + false + false + true + This process allows run the alert processor from external calling + N + U + Run the Alert Processor + 100 + 2023-03-10 10:40:25.696 + N + org.spin.eca46.process.AlertProcessor + + + 54662 + + 0 + + 0 + + 3 + + + + + 4f3dc420-72ad-4e29-8369-d582007dca0f + 100 + 2023-03-10 10:40:27.332 + Run Alert Processor + false + true + This process allows run the alert processor from external calling + Run the Alert Processor + 100 + 2023-03-10 10:40:27.332 + 54662 + 0 + es_MX + 0 + + + + + Ejecutar Procesador de Alertas + 54662 + es_MX + + + + + Ejecuta el Procesador de Alertas + 54662 + es_MX + + + + + Este proceso permite ejecutar el procesador de alertas desde una llamada externa + 54662 + es_MX + + + + + + + + 8beee7c0-66c4-46a4-9157-76b97d688567 + 100 + 2023-03-10 10:41:52.454 + 10 + + Alert Processor + false + true + false + true + true + Alert Processor/Server Parameter + 22 + U + + Alert Processor/Server Parameter + + -1 + 100 + 2023-03-10 10:41:52.454 + AD_AlertProcessor_ID + + + 19 + 58842 + 54662 + 0 + 2370 + 0 + + + + + 2903fcc2-0520-4f90-ad43-842c5c3fb787 + 100 + 2023-03-10 10:41:53.562 + Alert Processor + false + true + Alert Processor/Server Parameter + Alert Processor/Server Parameter + 100 + 2023-03-10 10:41:53.562 + 58842 + 0 + es_MX + 0 + + + + + d7377a83-dabd-4f5d-b6f3-68041a43b874 + 100 + 2023-03-10 10:42:44.959 + Run Alert Processor + false + false + false + true + true + ECA46 + + 100 + 2023-03-10 10:42:44.959 + + + + + 54662 + 0 + 54858 + + 0 + + P + + + + + 65d2a4ad-6fcd-431c-bec4-e1d8a49f4d6e + 100 + 2023-03-10 10:42:45.659 + Run Alert Processor + false + true + + 100 + 2023-03-10 10:42:45.659 + 0 + 54858 + es_MX + 0 + + + + + dedc999b-3dd1-4e87-b2a2-94fd2188bf1b + 100 + 2023-03-10 10:42:46.078 + 999 + 0 + 54858 + true + 100 + 2023-03-10 10:42:46.078 + 10 + 0 + 0 + + + + + 4 + 54852 + 54858 + 10 + + + + + 5 + 54857 + 10 + + + + + ECA46 + + + + + ECA46 + + + + diff --git a/processors/xml/migration/10120_Add_Export_Process_for_external_processor.xml b/processors/xml/migration/10120_Add_Export_Process_for_external_processor.xml new file mode 100644 index 0000000000..d92d09a6e6 --- /dev/null +++ b/processors/xml/migration/10120_Add_Export_Process_for_external_processor.xml @@ -0,0 +1,356 @@ + + + + + + + ECA46_Export_Internal_Processors + 550d73ea-9a5e-41f4-bd30-a96875bbe654 + 100 + 2023-03-13 10:09:59.409 + 0 + 0 + Y + + Export Internal Processors + + false + false + false + false + true + This process allows export internal definition to external processors, this allows run it from other external handler + N + ECA46 + Export all definition of processors to external processor instead ADempiere calling + 100 + 2023-03-13 10:09:59.409 + N + org.spin.eca46.process.ExportInternalProcessors + + + 54663 + + 0 + + 0 + + 3 + + + + + 6a84efc2-8d1c-4bd0-8b7c-444a1a5a8ddf + 100 + 2023-03-13 10:10:00.735 + Export Internal Processors + false + true + This process allows export internal definition to external processors, this allows run it from other external handler + Export all definition of processors to external processor instead ADempiere calling + 100 + 2023-03-13 10:10:00.735 + 54663 + 0 + es_MX + 0 + + + + + Exportar Procesadores Internos + Éste proceso permite exportar la definición de procesadores interno de ADempiere para ser ejecutados desde un procesador externo + Exporta todas las definiciones de procesadores a un procesador externo + 54663 + es_MX + + + + + EPR + + + 15b06e92-8ce4-4b09-93a0-9515ded52e06 + 100 + 2023-03-13 10:30:56.55 + External Processor Runner + true + ECA46 + A external processor for run any process from ADempiere + 100 + 2023-03-13 10:30:56.55 + 55753 + 54081 + 0 + 0 + + + + + e967e0d8-47f9-424b-b3d7-3b679b925ac6 + 100 + 2023-03-13 10:30:57.505 + External Processor Runner + false + true + A external processor for run any process from ADempiere + 100 + 2023-03-13 10:30:57.505 + 55753 + 0 + es_MX + 0 + + + + + Procesador de Tareas Externo + Un procesador de tareas que permite ejecutar procesos de ADempiere desde otro servicio + 55753 + es_MX + + + + + e2fdac3e-f5eb-4b7c-aad7-318212e3cd06 + 100 + 2023-03-13 10:33:19.886 + External Processor + + + + + External Processor + true + Use this field for select a external processor connection + 10 + ECA46 + External Processor for Running + 100 + 2023-03-13 10:33:19.886 + ExternalProcessor_ID + 54134 + 18 + 0 + 62135 + 0 + + + + + 5a9fec94-e29e-4adb-89d2-e80fc1914cd9 + 100 + 2023-03-13 10:33:20.559 + External Processor + + + + + External Processor + false + true + Use this field for select a external processor connection + External Processor for Running + 100 + 2023-03-13 10:33:20.559 + 0 + es_MX + 62135 + 0 + + + + + Procesador Externo + Procesador Externo + Use éste campo para seleccionar el procesador de procesos externo + Procesador Externo para Ejecución + es_MX + 62135 + + + + + 276518be-3986-4a92-a26a-091bb53a345c + 100 + 2023-03-13 10:34:57.543 + S + AD_AppRegistration from only External Processor + true + ECA46 + + 100 + 2023-03-13 10:34:57.543 + EXISTS(SELECT 1 FROM AD_AppSupport s WHERE s.AD_AppSupport_ID = AD_AppRegistration.AD_AppSupport_ID AND s.ApplicationType IN('EPR')) + 52923 + 0 + 0 + + + + + + + + c4dbb1d0-5560-4370-9e70-2f3911f80872 + 100 + 2023-03-13 10:35:29.168 + 10 + + External Processor + false + true + false + true + true + Use this field for select a external processor connection + 10 + ECA46 + + External Processor for Running + + -1 + 100 + 2023-03-13 10:35:29.168 + ExternalProcessor_ID + 52923 + 54134 + 18 + 58843 + 54663 + 0 + 62135 + 0 + + + + + f9d048e6-7b06-4312-9576-a785c88c755c + 100 + 2023-03-13 10:35:29.942 + External Processor + false + true + Use this field for select a external processor connection + External Processor for Running + 100 + 2023-03-13 10:35:29.942 + 58843 + 0 + es_MX + 0 + + + + + 8a34a4c6-d2b8-41c4-a217-4de316d0ba9f + 100 + 2023-03-13 10:36:11.786 + Export Internal Processors + false + false + false + true + true + ECA46 + + 100 + 2023-03-13 10:36:11.786 + + + + + 54663 + 0 + 54859 + + 0 + + P + + + + + d5948c1c-76a4-4671-807c-e4b86426f1a8 + 100 + 2023-03-13 10:36:12.578 + Export Internal Processors + false + true + + 100 + 2023-03-13 10:36:12.578 + 0 + 54859 + es_MX + 0 + + + + + 5c63aa99-38ab-4518-9311-5af80ec2ff50 + 100 + 2023-03-13 10:36:12.986 + 999 + 0 + 54859 + true + 100 + 2023-03-13 10:36:12.986 + 10 + 0 + 0 + + + + + 0 + 54852 + 54859 + 10 + + + + + 1 + 54853 + 10 + + + + + 2 + 54854 + 10 + + + + + 3 + 54855 + 10 + + + + + 4 + 54856 + 10 + + + + + 5 + 54858 + 10 + + + + + 6 + 54857 + 10 + + + + diff --git a/processors/xml/migration/10130_ECA46_Add_App_Support_for_External_Processor.xml b/processors/xml/migration/10130_ECA46_Add_App_Support_for_External_Processor.xml new file mode 100644 index 0000000000..89e43a8e7a --- /dev/null +++ b/processors/xml/migration/10130_ECA46_Add_App_Support_for_External_Processor.xml @@ -0,0 +1,67 @@ + + + + + + EPR-dKron + 4e644deb-52db-4fc8-b436-001b8260a47d + 100 + 2023-03-13 10:40:26.64 + dKron Processor + false + true + + See: +- https://dkron.io/ +- https://dkron.io/docs/basics/getting-started + 100 + 2023-03-13 10:40:26.64 + org.spin.eca46.util.support.DKron + EPR + 0 + 0 + 50034 + + + + + 3ce51780-b08a-4ee9-af33-9efc2455323e + 100 + 2023-03-13 10:41:39.255 + C + adempiere_token + + true + true + ADempiere generated token for allows run it + 100 + 2023-03-13 10:41:39.255 + 10 + 0 + 0 + 50065 + 50034 + + + + + 542f85ef-78e2-4b2b-9e55-ac01326a2344 + 100 + 2023-03-13 15:04:34.563 + C + adempiere_host + http://localhost:7878/process + true + true + A host for execution, note that this host has a endpoint and port also + 100 + 2023-03-13 15:04:34.563 + 10 + 0 + 0 + 50066 + 50034 + + + + diff --git a/processors/xml/migration/10140_ECA46_Add_Default_Setup.xml b/processors/xml/migration/10140_ECA46_Add_Default_Setup.xml new file mode 100644 index 0000000000..485b3d8e85 --- /dev/null +++ b/processors/xml/migration/10140_ECA46_Add_Default_Setup.xml @@ -0,0 +1,23 @@ + + + + + + baabf28b-1d40-4330-9b93-72a56fef6010 + 100 + 2023-03-13 10:44:38.486 + Create dKron Setup + true + + ECA46 + Just add all need for dKron Setup + 100 + 2023-03-13 10:44:38.486 + org.spin.eca46.setup.CreateDKron + 50071 + 0 + 0 + + + + diff --git a/processors/xml/migration/10150_ECA46_Add_Scheduler_Management_form.xml b/processors/xml/migration/10150_ECA46_Add_Scheduler_Management_form.xml new file mode 100644 index 0000000000..8d3324e9b7 --- /dev/null +++ b/processors/xml/migration/10150_ECA46_Add_Scheduler_Management_form.xml @@ -0,0 +1,169 @@ + + + + + + 0 + 53088 + 0 + 7 + org.spin.eca46.form.TaskManager + 2023-05-17 12:29:42.315 + 100 + Automates the execution of processes and tasks + ECA46 + + true + false + + Task Manager + bf8e738e-67ed-4458-9fa4-1d109229a47f + 2023-05-17 12:29:42.315 + 100 + + + + + 0 + 53088 + es_MX + 0 + 2023-05-17 12:29:43.798 + 100 + Automatiza la ejecución de procesos y tareas + + true + true + Programador de Tareas + 83f0efb6-4cf9-4f72-945f-b78107036857 + 2023-05-17 12:29:43.798 + 100 + + + + + + 0 + 53088 + 54873 + 0 + + + + + + X + 2023-05-17 13:50:22.992 + 100 + Automates the execution of processes and tasks + ECA46 + true + true + false + false + false + Task Manager + 2b306e67-5b5f-4594-a556-51e1e98209af + 2023-05-17 13:50:22.992 + 100 + + + + + 0 + es_MX + 54873 + 0 + 2023-05-17 13:50:24.358 + 100 + Automatiza la ejecución de procesos y tareas + true + true + Programador de Tareas + 55994941-d172-40ad-a33f-57f4e319bd32 + 2023-05-17 13:50:24.358 + 100 + + + + + 0 + 0 + 10 + 2023-05-17 13:50:24.409 + 100 + true + 54873 + 0 + 999 + 7934cf2a-f1be-4bd9-b53d-d9de58675bcf + 2023-05-17 13:50:24.409 + 100 + + + + + 10 + 54873 + 161 + 11 + + + + + 10 + 294 + 12 + + + + + 10 + 395 + 13 + + + + + 10 + 296 + 14 + + + + + 10 + 221 + 15 + + + + + 10 + 233 + 16 + + + + + 10 + 290 + 17 + + + + + 10 + 109 + 18 + + + + + 10 + 50008 + 19 + + + + diff --git a/processors/xml/migration/10160_ECA46_Add_Process_Parameter.xml b/processors/xml/migration/10160_ECA46_Add_Process_Parameter.xml new file mode 100644 index 0000000000..fde32e8be8 --- /dev/null +++ b/processors/xml/migration/10160_ECA46_Add_Process_Parameter.xml @@ -0,0 +1,194 @@ + + + + + + + + + 19694b7f-805e-4344-a32b-c0046fb991de + 100 + 2023-06-28 15:40:19.61 + 20 + + Role + false + true + false + true + true + The Role determines security and access a user who has this Role will have in the System. + 22 + ECA46 + + Responsibility Role + + -1 + 100 + 2023-06-28 15:40:19.61 + AD_Role_ID + + 53317 + 30 + 58910 + 54663 + 0 + 123 + 0 + + + + + 4fe0d485-03df-4690-911e-86b9601d654a + 100 + 2023-06-28 15:40:20.845 + Role + false + true + The Role determines security and access a user who has this Role will have in the System. + Responsibility Role + 100 + 2023-06-28 15:40:20.845 + 58910 + 0 + es_MX + 0 + + + + + + + + da57b41d-d5af-4adc-859c-7685bf7f9af8 + 100 + 2023-06-28 15:41:29.812 + 30 + + User/Contact + false + true + false + true + true + The User identifies a unique user in the system. This could be an internal user or a business partner contact + 22 + ECA46 + + User within the system - Internal or Business Partner Contact + + -1 + 100 + 2023-06-28 15:41:29.812 + AD_User_ID + 52835 + 110 + 30 + 58911 + 54663 + 0 + 138 + 0 + + + + + 7ac463a5-a27a-46f3-b2c4-bb3ed7660547 + 100 + 2023-06-28 15:41:30.734 + User/Contact + false + true + The User identifies a unique user in the system. This could be an internal user or a business partner contact + User within the system - Internal or Business Partner Contact + 100 + 2023-06-28 15:41:30.734 + 58911 + 0 + es_MX + 0 + + + + + adempiere_endpoint + /v1/process + Endpoint for run from external processor + + + + + + + + + + + + + + + + + + + + + + + + + + + + 7c74ccc3-0f94-4c16-af07-50ce6ffc2424 + 100 + 2023-06-28 15:46:18.841 + 40 + + Host + false + true + false + true + true + + 255 + ECA46 + + + + http://0.0.0.0 + 100 + 2023-06-28 15:46:18.841 + Host + + + 10 + 58912 + 54663 + 0 + 53374 + 0 + + + + + 3495bb6e-4e24-41aa-9095-0317567fde58 + 100 + 2023-06-28 15:46:19.818 + Host + false + true + + + 100 + 2023-06-28 15:46:19.818 + 58912 + 0 + es_MX + 0 + + + + diff --git a/processors/xml/migration/10170_ECA46_Add_Support_to_ADEmpiere_Processor.xml b/processors/xml/migration/10170_ECA46_Add_Support_to_ADEmpiere_Processor.xml new file mode 100644 index 0000000000..3aef47b9ea --- /dev/null +++ b/processors/xml/migration/10170_ECA46_Add_Support_to_ADEmpiere_Processor.xml @@ -0,0 +1,10 @@ + + + + + + /v1 + + + + diff --git a/s3/xml/migration/09910_ECA62_Add_Entity_Type.xml b/s3/xml/migration/09910_ECA62_Add_Entity_Type.xml new file mode 100644 index 0000000000..71e385a8f0 --- /dev/null +++ b/s3/xml/migration/09910_ECA62_Add_Entity_Type.xml @@ -0,0 +1,26 @@ + + + + + + + 3625acdf-6dbb-4f91-8efe-2ff4f80c811a + 100 + 2024-07-04 18:45:19.502 + false + Spin Contribution (S3 Connector) + org.spin.eca62.model + true + Contribution by E.R.P Consultores y Asociados, C.A + ECA62 + Spin Contribution (S3 complete connector) + 100 + 2024-07-04 18:45:19.502 + + 0 + 50169 + 0 + + + + diff --git a/s3/xml/migration/09920_ECA62_Add_App_Support.xml b/s3/xml/migration/09920_ECA62_Add_App_Support.xml new file mode 100644 index 0000000000..d38951807b --- /dev/null +++ b/s3/xml/migration/09920_ECA62_Add_App_Support.xml @@ -0,0 +1,181 @@ + + + + + + AS3 + + + 709197b0-5efb-458f-805c-f81e68a3706c + 100 + 2024-07-05 15:11:30.093 + S3 File Storage + true + ECA62 + + 100 + 2024-07-05 15:11:30.093 + 55862 + 54081 + 0 + 0 + + + + + 6523d3be-4c5c-4b70-80d1-86436d070b75 + 100 + 2024-07-05 15:11:30.873 + S3 File Storage + false + true + + 100 + 2024-07-05 15:11:30.873 + 55862 + 0 + es_MX + 0 + + + + + Almacenamiento S3 + 55862 + es_MX + + + + + S3-Minio + 083737d1-4f61-49a4-8862-109be12f2d46 + 100 + 2024-07-05 15:13:37.406 + Minio Connection + false + true + + See: https://min.io/ + 100 + 2024-07-05 15:13:37.406 + org.spin.eca62.support.S3 + AS3 + 0 + 0 + 50045 + + + + + This API allows use Amazon S3 service for storage files generated from ADempiere + See: https://min.io/ +See: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/examples-s3-objects.html for more information + + + + + c0e41ab0-ac89-4aeb-b596-eda157020460 + 100 + 2024-07-05 15:14:29.545 + C + ACCESS_KEY + + true + true + Access key provided by S3 storage provider + 100 + 2024-07-05 15:14:29.545 + 10 + 0 + 0 + 50097 + 50045 + + + + + 0bf08de3-b8c5-464d-874c-53a05184dbbb + 100 + 2024-07-05 15:14:37.543 + C + SECRET_KEY + + true + true + Secret key provided by S3 storage provider + 100 + 2024-07-05 15:14:37.543 + 10 + 0 + 0 + 50098 + 50045 + + + + + 6597f545-1617-4bc9-8327-e7a78a6b169c + 100 + 2024-07-05 15:14:48.964 + C + BUCKET_REGION + + true + true + Bucket region + 100 + 2024-07-05 15:14:48.964 + 10 + 0 + 0 + 50099 + 50045 + + + + + 240cc689-c502-49c3-8bf8-a564760a75f4 + 100 + 2024-07-05 15:14:58.425 + C + BUCKET_NAME + + true + true + Bucket Name + 100 + 2024-07-05 15:14:58.425 + 10 + 0 + 0 + 50100 + 50045 + + + + + AD_AppSupport.ApplicationType IN('WDV', 'AS3') + + + + + adempiere + + + + + adempiere + + + + + adempiere + + + + + adempiere + + + + diff --git a/s3/xml/migration/09930_ECA62_Add_Setup.xml b/s3/xml/migration/09930_ECA62_Add_Setup.xml new file mode 100644 index 0000000000..25635afe2b --- /dev/null +++ b/s3/xml/migration/09930_ECA62_Add_Setup.xml @@ -0,0 +1,23 @@ + + + + + + f2667f04-07b7-4807-aaec-bce7b86a7ca7 + 100 + 2024-07-05 15:19:56.043 + AWS3 Deploy + true + + ECA62 + Connect ADempiere to Minio using AWS3 + 100 + 2024-07-05 15:19:56.043 + org.spin.eca62.setup.Deploy + 50101 + 0 + 0 + + + + diff --git a/settings.gradle b/settings.gradle index 908289b552..d91f22498b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,4 @@ -rootProject.name = 'adempiere-lib' +rootProject.name = 'adempiere-base' include ':base' include ':project' @@ -20,4 +20,10 @@ include ':authentication' include ':discord' include ':telegram' include ':jasper_reports' -include ':store' \ No newline at end of file +include ':store' +include ':processors' +include ':dashboard' +include ':jwt' +include ':kafka' +include ':pos' +include ':withholding_engine' \ No newline at end of file diff --git a/withholding_engine/build.gradle b/withholding_engine/build.gradle new file mode 100644 index 0000000000..35d12cec7e --- /dev/null +++ b/withholding_engine/build.gradle @@ -0,0 +1,79 @@ +plugins { + id 'java-library' + id 'maven-publish' + id 'signing' +} + +java { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_17 +} + +repositories { + mavenLocal() + mavenCentral() +} + +dependencies { + // Local + api project(path: ':base') +} + +sourceSets { + main { + java { + srcDirs = ['src/main/java/base'] + } + } +} + +def entityType = 'WHH' + +jar { + manifest { + attributes( + "Implementation-Title": "Withholding", + "Implementation-Version": publishVersion, + "EntityType": entityType + ) + } +} + +publishing { + repositories { + mavenLocal() + maven { + url = publishLibraryRepo + credentials { + username = publishUsername + password = publishPassword + } + } + } + publications { + mavenJava(MavenPublication) { + groupId publishGroupId + artifactId 'withholding-engine' + version publishVersion + from components.java + pom { + name = 'Withholding Engine' + description = 'Withholding Engine for ADempiere manage' + url = 'http://adempiere.io/' + licenses { + license { + name = 'GNU General Public License, version 2' + url = 'https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt' + } + } + developers { + developer { + id = 'yamelsenih' + name = 'Yamel Senih' + email = 'ysenih@erpya.com' + } + } + } + } + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/model/I_WH_Definition.java b/withholding_engine/src/main/java/base/org/spin/model/I_WH_Definition.java new file mode 100644 index 0000000000..ae4123aeb7 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/I_WH_Definition.java @@ -0,0 +1,267 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ +package org.spin.model; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import org.compiere.model.*; +import org.compiere.util.KeyNamePair; + +/** Generated Interface for WH_Definition + * @author Adempiere (generated) + * @version Release 3.9.2 + */ +public interface I_WH_Definition +{ + + /** TableName=WH_Definition */ + public static final String Table_Name = "WH_Definition"; + + /** AD_Table_ID=54645 */ + public static final int Table_ID = MTable.getTable_ID(Table_Name); + + KeyNamePair Model = new KeyNamePair(Table_ID, Table_Name); + + /** AccessLevel = 3 - Client - Org + */ + BigDecimal accessLevel = BigDecimal.valueOf(3); + + /** Load Meta Data */ + + /** Column name AD_Client_ID */ + public static final String COLUMNNAME_AD_Client_ID = "AD_Client_ID"; + + /** Get Client. + * Client/Tenant for this installation. + */ + public int getAD_Client_ID(); + + /** Column name AD_Org_ID */ + public static final String COLUMNNAME_AD_Org_ID = "AD_Org_ID"; + + /** Set Organization. + * Organizational entity within client + */ + public void setAD_Org_ID (int AD_Org_ID); + + /** Get Organization. + * Organizational entity within client + */ + public int getAD_Org_ID(); + + /** Column name C_BPartner_ID */ + public static final String COLUMNNAME_C_BPartner_ID = "C_BPartner_ID"; + + /** Set Business Partner . + * Identifies a Business Partner + */ + public void setC_BPartner_ID (int C_BPartner_ID); + + /** Get Business Partner . + * Identifies a Business Partner + */ + public int getC_BPartner_ID(); + + public org.adempiere.core.domains.models.I_C_BPartner getC_BPartner() throws RuntimeException; + + /** Column name C_Charge_ID */ + public static final String COLUMNNAME_C_Charge_ID = "C_Charge_ID"; + + /** Set Charge. + * Additional document charges + */ + public void setC_Charge_ID (int C_Charge_ID); + + /** Get Charge. + * Additional document charges + */ + public int getC_Charge_ID(); + + public org.adempiere.core.domains.models.I_C_Charge getC_Charge() throws RuntimeException; + + /** Column name Created */ + public static final String COLUMNNAME_Created = "Created"; + + /** Get Created. + * Date this record was created + */ + public Timestamp getCreated(); + + /** Column name CreatedBy */ + public static final String COLUMNNAME_CreatedBy = "CreatedBy"; + + /** Get Created By. + * User who created this records + */ + public int getCreatedBy(); + + /** Column name DeclarationCreditDocType_ID */ + public static final String COLUMNNAME_DeclarationCreditDocType_ID = "DeclarationCreditDocType_ID"; + + /** Set Declaration Credit Document Type. + * Declaration Credit Document Type + */ + public void setDeclarationCreditDocType_ID (int DeclarationCreditDocType_ID); + + /** Get Declaration Credit Document Type. + * Declaration Credit Document Type + */ + public int getDeclarationCreditDocType_ID(); + + public org.adempiere.core.domains.models.I_C_DocType getDeclarationCreditDocType() throws RuntimeException; + + /** Column name DeclarationDebitDocType_ID */ + public static final String COLUMNNAME_DeclarationDebitDocType_ID = "DeclarationDebitDocType_ID"; + + /** Set Declaration Debit Document Type. + * Declaration Debit Document Type + */ + public void setDeclarationDebitDocType_ID (int DeclarationDebitDocType_ID); + + /** Get Declaration Debit Document Type. + * Declaration Debit Document Type + */ + public int getDeclarationDebitDocType_ID(); + + public org.adempiere.core.domains.models.I_C_DocType getDeclarationDebitDocType() throws RuntimeException; + + /** Column name Description */ + public static final String COLUMNNAME_Description = "Description"; + + /** Set Description. + * Optional short description of the record + */ + public void setDescription (String Description); + + /** Get Description. + * Optional short description of the record + */ + public String getDescription(); + + /** Column name IsActive */ + public static final String COLUMNNAME_IsActive = "IsActive"; + + /** Set Active. + * The record is active in the system + */ + public void setIsActive (boolean IsActive); + + /** Get Active. + * The record is active in the system + */ + public boolean isActive(); + + /** Column name Name */ + public static final String COLUMNNAME_Name = "Name"; + + /** Set Name. + * Alphanumeric identifier of the entity + */ + public void setName (String Name); + + /** Get Name. + * Alphanumeric identifier of the entity + */ + public String getName(); + + /** Column name Updated */ + public static final String COLUMNNAME_Updated = "Updated"; + + /** Get Updated. + * Date this record was updated + */ + public Timestamp getUpdated(); + + /** Column name UpdatedBy */ + public static final String COLUMNNAME_UpdatedBy = "UpdatedBy"; + + /** Get Updated By. + * User who updated this records + */ + public int getUpdatedBy(); + + /** Column name UUID */ + public static final String COLUMNNAME_UUID = "UUID"; + + /** Set Immutable Universally Unique Identifier. + * Immutable Universally Unique Identifier + */ + public void setUUID (String UUID); + + /** Get Immutable Universally Unique Identifier. + * Immutable Universally Unique Identifier + */ + public String getUUID(); + + /** Column name WH_Definition_ID */ + public static final String COLUMNNAME_WH_Definition_ID = "WH_Definition_ID"; + + /** Set Withholding . + * Withholding Definition is used for define a withholding rule for BP + */ + public void setWH_Definition_ID (int WH_Definition_ID); + + /** Get Withholding . + * Withholding Definition is used for define a withholding rule for BP + */ + public int getWH_Definition_ID(); + + /** Column name WH_Type_ID */ + public static final String COLUMNNAME_WH_Type_ID = "WH_Type_ID"; + + /** Set Withholding Type. + * Indicates the types of national tax withholdings + */ + public void setWH_Type_ID (int WH_Type_ID); + + /** Get Withholding Type. + * Indicates the types of national tax withholdings + */ + public int getWH_Type_ID(); + + public org.spin.model.I_WH_Type getWH_Type() throws RuntimeException; + + /** Column name WithholdingCreditDocType_ID */ + public static final String COLUMNNAME_WithholdingCreditDocType_ID = "WithholdingCreditDocType_ID"; + + /** Set Withholding Credit Document Type. + * Withholding Credit Document Type + */ + public void setWithholdingCreditDocType_ID (int WithholdingCreditDocType_ID); + + /** Get Withholding Credit Document Type. + * Withholding Credit Document Type + */ + public int getWithholdingCreditDocType_ID(); + + public org.adempiere.core.domains.models.I_C_DocType getWithholdingCreditDocType() throws RuntimeException; + + /** Column name WithholdingDebitDocType_ID */ + public static final String COLUMNNAME_WithholdingDebitDocType_ID = "WithholdingDebitDocType_ID"; + + /** Set Withholding Debit Document Type. + * Withholding Debit Document Type + */ + public void setWithholdingDebitDocType_ID (int WithholdingDebitDocType_ID); + + /** Get Withholding Debit Document Type. + * Withholding Debit Document Type + */ + public int getWithholdingDebitDocType_ID(); + + public org.adempiere.core.domains.models.I_C_DocType getWithholdingDebitDocType() throws RuntimeException; +} diff --git a/withholding_engine/src/main/java/base/org/spin/model/I_WH_DefinitionLine.java b/withholding_engine/src/main/java/base/org/spin/model/I_WH_DefinitionLine.java new file mode 100644 index 0000000000..99252b61ec --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/I_WH_DefinitionLine.java @@ -0,0 +1,175 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ +package org.spin.model; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import org.compiere.model.*; +import org.compiere.util.KeyNamePair; + +/** Generated Interface for WH_DefinitionLine + * @author Adempiere (generated) + * @version Release 3.9.2 + */ +public interface I_WH_DefinitionLine +{ + + /** TableName=WH_DefinitionLine */ + public static final String Table_Name = "WH_DefinitionLine"; + + /** AD_Table_ID=54646 */ + public static final int Table_ID = MTable.getTable_ID(Table_Name); + + KeyNamePair Model = new KeyNamePair(Table_ID, Table_Name); + + /** AccessLevel = 3 - Client - Org + */ + BigDecimal accessLevel = BigDecimal.valueOf(3); + + /** Load Meta Data */ + + /** Column name AD_Client_ID */ + public static final String COLUMNNAME_AD_Client_ID = "AD_Client_ID"; + + /** Get Client. + * Client/Tenant for this installation. + */ + public int getAD_Client_ID(); + + /** Column name AD_Org_ID */ + public static final String COLUMNNAME_AD_Org_ID = "AD_Org_ID"; + + /** Set Organization. + * Organizational entity within client + */ + public void setAD_Org_ID (int AD_Org_ID); + + /** Get Organization. + * Organizational entity within client + */ + public int getAD_Org_ID(); + + /** Column name C_DocType_ID */ + public static final String COLUMNNAME_C_DocType_ID = "C_DocType_ID"; + + /** Set Document Type. + * Document type or rules + */ + public void setC_DocType_ID (int C_DocType_ID); + + /** Get Document Type. + * Document type or rules + */ + public int getC_DocType_ID(); + + public org.adempiere.core.domains.models.I_C_DocType getC_DocType() throws RuntimeException; + + /** Column name Created */ + public static final String COLUMNNAME_Created = "Created"; + + /** Get Created. + * Date this record was created + */ + public Timestamp getCreated(); + + /** Column name CreatedBy */ + public static final String COLUMNNAME_CreatedBy = "CreatedBy"; + + /** Get Created By. + * User who created this records + */ + public int getCreatedBy(); + + /** Column name IsActive */ + public static final String COLUMNNAME_IsActive = "IsActive"; + + /** Set Active. + * The record is active in the system + */ + public void setIsActive (boolean IsActive); + + /** Get Active. + * The record is active in the system + */ + public boolean isActive(); + + /** Column name IsIncludeProcessed */ + public static final String COLUMNNAME_IsIncludeProcessed = "IsIncludeProcessed"; + + /** Set Is Include Processed. + * allows me to point out that the document is already processed + */ + public void setIsIncludeProcessed (boolean IsIncludeProcessed); + + /** Get Is Include Processed. + * allows me to point out that the document is already processed + */ + public boolean isIncludeProcessed(); + + /** Column name Updated */ + public static final String COLUMNNAME_Updated = "Updated"; + + /** Get Updated. + * Date this record was updated + */ + public Timestamp getUpdated(); + + /** Column name UpdatedBy */ + public static final String COLUMNNAME_UpdatedBy = "UpdatedBy"; + + /** Get Updated By. + * User who updated this records + */ + public int getUpdatedBy(); + + /** Column name UUID */ + public static final String COLUMNNAME_UUID = "UUID"; + + /** Set Immutable Universally Unique Identifier. + * Immutable Universally Unique Identifier + */ + public void setUUID (String UUID); + + /** Get Immutable Universally Unique Identifier. + * Immutable Universally Unique Identifier + */ + public String getUUID(); + + /** Column name WH_Definition_ID */ + public static final String COLUMNNAME_WH_Definition_ID = "WH_Definition_ID"; + + /** Set Withholding . + * Withholding Definition is used for define a withholding rule for BP + */ + public void setWH_Definition_ID (int WH_Definition_ID); + + /** Get Withholding . + * Withholding Definition is used for define a withholding rule for BP + */ + public int getWH_Definition_ID(); + + public org.spin.model.I_WH_Definition getWH_Definition() throws RuntimeException; + + /** Column name WH_DefinitionLine_ID */ + public static final String COLUMNNAME_WH_DefinitionLine_ID = "WH_DefinitionLine_ID"; + + /** Set Withholding Line */ + public void setWH_DefinitionLine_ID (int WH_DefinitionLine_ID); + + /** Get Withholding Line */ + public int getWH_DefinitionLine_ID(); +} diff --git a/withholding_engine/src/main/java/base/org/spin/model/I_WH_Log.java b/withholding_engine/src/main/java/base/org/spin/model/I_WH_Log.java new file mode 100644 index 0000000000..7282baa007 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/I_WH_Log.java @@ -0,0 +1,242 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ +package org.spin.model; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import org.compiere.model.*; +import org.compiere.util.KeyNamePair; + +/** Generated Interface for WH_Log + * @author Adempiere (generated) + * @version Release 3.9.2 + */ +public interface I_WH_Log +{ + + /** TableName=WH_Log */ + public static final String Table_Name = "WH_Log"; + + /** AD_Table_ID=54651 */ + public static final int Table_ID = MTable.getTable_ID(Table_Name); + + KeyNamePair Model = new KeyNamePair(Table_ID, Table_Name); + + /** AccessLevel = 3 - Client - Org + */ + BigDecimal accessLevel = BigDecimal.valueOf(3); + + /** Load Meta Data */ + + /** Column name AD_Client_ID */ + public static final String COLUMNNAME_AD_Client_ID = "AD_Client_ID"; + + /** Get Client. + * Client/Tenant for this installation. + */ + public int getAD_Client_ID(); + + /** Column name AD_Org_ID */ + public static final String COLUMNNAME_AD_Org_ID = "AD_Org_ID"; + + /** Set Organization. + * Organizational entity within client + */ + public void setAD_Org_ID (int AD_Org_ID); + + /** Get Organization. + * Organizational entity within client + */ + public int getAD_Org_ID(); + + /** Column name C_Invoice_ID */ + public static final String COLUMNNAME_C_Invoice_ID = "C_Invoice_ID"; + + /** Set Invoice. + * Invoice Identifier + */ + public void setC_Invoice_ID (int C_Invoice_ID); + + /** Get Invoice. + * Invoice Identifier + */ + public int getC_Invoice_ID(); + + public org.adempiere.core.domains.models.I_C_Invoice getC_Invoice() throws RuntimeException; + + /** Column name C_InvoiceLine_ID */ + public static final String COLUMNNAME_C_InvoiceLine_ID = "C_InvoiceLine_ID"; + + /** Set Invoice Line. + * Invoice Detail Line + */ + public void setC_InvoiceLine_ID (int C_InvoiceLine_ID); + + /** Get Invoice Line. + * Invoice Detail Line + */ + public int getC_InvoiceLine_ID(); + + public org.adempiere.core.domains.models.I_C_InvoiceLine getC_InvoiceLine() throws RuntimeException; + + /** Column name Comments */ + public static final String COLUMNNAME_Comments = "Comments"; + + /** Set Comments. + * Comments or additional information + */ + public void setComments (String Comments); + + /** Get Comments. + * Comments or additional information + */ + public String getComments(); + + /** Column name Created */ + public static final String COLUMNNAME_Created = "Created"; + + /** Get Created. + * Date this record was created + */ + public Timestamp getCreated(); + + /** Column name CreatedBy */ + public static final String COLUMNNAME_CreatedBy = "CreatedBy"; + + /** Get Created By. + * User who created this records + */ + public int getCreatedBy(); + + /** Column name IsActive */ + public static final String COLUMNNAME_IsActive = "IsActive"; + + /** Set Active. + * The record is active in the system + */ + public void setIsActive (boolean IsActive); + + /** Get Active. + * The record is active in the system + */ + public boolean isActive(); + + /** Column name SourceInvoice_ID */ + public static final String COLUMNNAME_SourceInvoice_ID = "SourceInvoice_ID"; + + /** Set Source Invoice */ + public void setSourceInvoice_ID (int SourceInvoice_ID); + + /** Get Source Invoice */ + public int getSourceInvoice_ID(); + + public org.adempiere.core.domains.models.I_C_Invoice getSourceInvoice() throws RuntimeException; + + /** Column name SourceInvoiceLine_ID */ + public static final String COLUMNNAME_SourceInvoiceLine_ID = "SourceInvoiceLine_ID"; + + /** Set Source Invoice Line */ + public void setSourceInvoiceLine_ID (int SourceInvoiceLine_ID); + + /** Get Source Invoice Line */ + public int getSourceInvoiceLine_ID(); + + public org.adempiere.core.domains.models.I_C_InvoiceLine getSourceInvoiceLine() throws RuntimeException; + + /** Column name Updated */ + public static final String COLUMNNAME_Updated = "Updated"; + + /** Get Updated. + * Date this record was updated + */ + public Timestamp getUpdated(); + + /** Column name UpdatedBy */ + public static final String COLUMNNAME_UpdatedBy = "UpdatedBy"; + + /** Get Updated By. + * User who updated this records + */ + public int getUpdatedBy(); + + /** Column name UUID */ + public static final String COLUMNNAME_UUID = "UUID"; + + /** Set Immutable Universally Unique Identifier. + * Immutable Universally Unique Identifier + */ + public void setUUID (String UUID); + + /** Get Immutable Universally Unique Identifier. + * Immutable Universally Unique Identifier + */ + public String getUUID(); + + /** Column name WH_Definition_ID */ + public static final String COLUMNNAME_WH_Definition_ID = "WH_Definition_ID"; + + /** Set Withholding . + * Withholding Definition is used for define a withholding rule for BP + */ + public void setWH_Definition_ID (int WH_Definition_ID); + + /** Get Withholding . + * Withholding Definition is used for define a withholding rule for BP + */ + public int getWH_Definition_ID(); + + public org.spin.model.I_WH_Definition getWH_Definition() throws RuntimeException; + + /** Column name WH_Log_ID */ + public static final String COLUMNNAME_WH_Log_ID = "WH_Log_ID"; + + /** Set Withholding Log. + * Save a log for each document processed + */ + public void setWH_Log_ID (int WH_Log_ID); + + /** Get Withholding Log. + * Save a log for each document processed + */ + public int getWH_Log_ID(); + + /** Column name WH_Setting_ID */ + public static final String COLUMNNAME_WH_Setting_ID = "WH_Setting_ID"; + + /** Set Withholding Setting. + * specifies the setting to each applied withholding + */ + public void setWH_Setting_ID (int WH_Setting_ID); + + /** Get Withholding Setting. + * specifies the setting to each applied withholding + */ + public int getWH_Setting_ID(); + + public org.spin.model.I_WH_Setting getWH_Setting() throws RuntimeException; + + /** Column name WH_Withholding_ID */ + public static final String COLUMNNAME_WH_Withholding_ID = "WH_Withholding_ID"; + + /** Set Withholding Allocation */ + public void setWH_Withholding_ID (int WH_Withholding_ID); + + /** Get Withholding Allocation */ + public int getWH_Withholding_ID(); + + public org.spin.model.I_WH_Withholding getWH_Withholding() throws RuntimeException; +} diff --git a/withholding_engine/src/main/java/base/org/spin/model/I_WH_Setting.java b/withholding_engine/src/main/java/base/org/spin/model/I_WH_Setting.java new file mode 100644 index 0000000000..de413a5253 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/I_WH_Setting.java @@ -0,0 +1,300 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ +package org.spin.model; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import org.compiere.model.*; +import org.compiere.util.KeyNamePair; + +/** Generated Interface for WH_Setting + * @author Adempiere (generated) + * @version Release 3.9.2 + */ +public interface I_WH_Setting +{ + + /** TableName=WH_Setting */ + public static final String Table_Name = "WH_Setting"; + + /** AD_Table_ID=54649 */ + public static final int Table_ID = MTable.getTable_ID(Table_Name); + + KeyNamePair Model = new KeyNamePair(Table_ID, Table_Name); + + /** AccessLevel = 3 - Client - Org + */ + BigDecimal accessLevel = BigDecimal.valueOf(3); + + /** Load Meta Data */ + + /** Column name AD_Client_ID */ + public static final String COLUMNNAME_AD_Client_ID = "AD_Client_ID"; + + /** Get Client. + * Client/Tenant for this installation. + */ + public int getAD_Client_ID(); + + /** Column name AD_Org_ID */ + public static final String COLUMNNAME_AD_Org_ID = "AD_Org_ID"; + + /** Set Organization. + * Organizational entity within client + */ + public void setAD_Org_ID (int AD_Org_ID); + + /** Get Organization. + * Organizational entity within client + */ + public int getAD_Org_ID(); + + /** Column name AD_Table_ID */ + public static final String COLUMNNAME_AD_Table_ID = "AD_Table_ID"; + + /** Set Table. + * Database Table information + */ + public void setAD_Table_ID (int AD_Table_ID); + + /** Get Table. + * Database Table information + */ + public int getAD_Table_ID(); + + public org.adempiere.core.domains.models.I_AD_Table getAD_Table() throws RuntimeException; + + /** Column name C_Charge_ID */ + public static final String COLUMNNAME_C_Charge_ID = "C_Charge_ID"; + + /** Set Charge. + * Additional document charges + */ + public void setC_Charge_ID (int C_Charge_ID); + + /** Get Charge. + * Additional document charges + */ + public int getC_Charge_ID(); + + public org.adempiere.core.domains.models.I_C_Charge getC_Charge() throws RuntimeException; + + /** Column name Created */ + public static final String COLUMNNAME_Created = "Created"; + + /** Get Created. + * Date this record was created + */ + public Timestamp getCreated(); + + /** Column name CreatedBy */ + public static final String COLUMNNAME_CreatedBy = "CreatedBy"; + + /** Get Created By. + * User who created this records + */ + public int getCreatedBy(); + + /** Column name Description */ + public static final String COLUMNNAME_Description = "Description"; + + /** Set Description. + * Optional short description of the record + */ + public void setDescription (String Description); + + /** Get Description. + * Optional short description of the record + */ + public String getDescription(); + + /** Column name EventModelValidator */ + public static final String COLUMNNAME_EventModelValidator = "EventModelValidator"; + + /** Set Event Model Validator */ + public void setEventModelValidator (String EventModelValidator); + + /** Get Event Model Validator */ + public String getEventModelValidator(); + + /** Column name EventType */ + public static final String COLUMNNAME_EventType = "EventType"; + + /** Set Event Type. + * Type of Event + */ + public void setEventType (String EventType); + + /** Get Event Type. + * Type of Event + */ + public String getEventType(); + + /** Column name IsActive */ + public static final String COLUMNNAME_IsActive = "IsActive"; + + /** Set Active. + * The record is active in the system + */ + public void setIsActive (boolean IsActive); + + /** Get Active. + * The record is active in the system + */ + public boolean isActive(); + + /** Column name Name */ + public static final String COLUMNNAME_Name = "Name"; + + /** Set Name. + * Alphanumeric identifier of the entity + */ + public void setName (String Name); + + /** Get Name. + * Alphanumeric identifier of the entity + */ + public String getName(); + + /** Column name SeqNo */ + public static final String COLUMNNAME_SeqNo = "SeqNo"; + + /** Set Sequence. + * Method of ordering records; + lowest number comes first + */ + public void setSeqNo (int SeqNo); + + /** Get Sequence. + * Method of ordering records; + lowest number comes first + */ + public int getSeqNo(); + + /** Column name Updated */ + public static final String COLUMNNAME_Updated = "Updated"; + + /** Get Updated. + * Date this record was updated + */ + public Timestamp getUpdated(); + + /** Column name UpdatedBy */ + public static final String COLUMNNAME_UpdatedBy = "UpdatedBy"; + + /** Get Updated By. + * User who updated this records + */ + public int getUpdatedBy(); + + /** Column name UUID */ + public static final String COLUMNNAME_UUID = "UUID"; + + /** Set Immutable Universally Unique Identifier. + * Immutable Universally Unique Identifier + */ + public void setUUID (String UUID); + + /** Get Immutable Universally Unique Identifier. + * Immutable Universally Unique Identifier + */ + public String getUUID(); + + /** Column name Value */ + public static final String COLUMNNAME_Value = "Value"; + + /** Set Search Key. + * Search key for the record in the format required - must be unique + */ + public void setValue (String Value); + + /** Get Search Key. + * Search key for the record in the format required - must be unique + */ + public String getValue(); + + /** Column name WH_Setting_ID */ + public static final String COLUMNNAME_WH_Setting_ID = "WH_Setting_ID"; + + /** Set Withholding Setting. + * specifies the setting to each applied withholding + */ + public void setWH_Setting_ID (int WH_Setting_ID); + + /** Get Withholding Setting. + * specifies the setting to each applied withholding + */ + public int getWH_Setting_ID(); + + /** Column name WH_Type_ID */ + public static final String COLUMNNAME_WH_Type_ID = "WH_Type_ID"; + + /** Set Withholding Type. + * Indicates the types of national tax withholdings + */ + public void setWH_Type_ID (int WH_Type_ID); + + /** Get Withholding Type. + * Indicates the types of national tax withholdings + */ + public int getWH_Type_ID(); + + public org.spin.model.I_WH_Type getWH_Type() throws RuntimeException; + + /** Column name WithholdingClassName */ + public static final String COLUMNNAME_WithholdingClassName = "WithholdingClassName"; + + /** Set Withholding Class Name. + * Java Classname + */ + public void setWithholdingClassName (String WithholdingClassName); + + /** Get Withholding Class Name. + * Java Classname + */ + public String getWithholdingClassName(); + + /** Column name WithholdingCreditDocType_ID */ + public static final String COLUMNNAME_WithholdingCreditDocType_ID = "WithholdingCreditDocType_ID"; + + /** Set Withholding Credit Document Type. + * Withholding Credit Document Type + */ + public void setWithholdingCreditDocType_ID (int WithholdingCreditDocType_ID); + + /** Get Withholding Credit Document Type. + * Withholding Credit Document Type + */ + public int getWithholdingCreditDocType_ID(); + + public org.adempiere.core.domains.models.I_C_DocType getWithholdingCreditDocType() throws RuntimeException; + + /** Column name WithholdingDebitDocType_ID */ + public static final String COLUMNNAME_WithholdingDebitDocType_ID = "WithholdingDebitDocType_ID"; + + /** Set Withholding Debit Document Type. + * Withholding Debit Document Type + */ + public void setWithholdingDebitDocType_ID (int WithholdingDebitDocType_ID); + + /** Get Withholding Debit Document Type. + * Withholding Debit Document Type + */ + public int getWithholdingDebitDocType_ID(); + + public org.adempiere.core.domains.models.I_C_DocType getWithholdingDebitDocType() throws RuntimeException; +} diff --git a/withholding_engine/src/main/java/base/org/spin/model/I_WH_Type.java b/withholding_engine/src/main/java/base/org/spin/model/I_WH_Type.java new file mode 100644 index 0000000000..50cc02069e --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/I_WH_Type.java @@ -0,0 +1,250 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ +package org.spin.model; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import org.compiere.model.*; +import org.compiere.util.KeyNamePair; + +/** Generated Interface for WH_Type + * @author Adempiere (generated) + * @version Release 3.9.2 + */ +public interface I_WH_Type +{ + + /** TableName=WH_Type */ + public static final String Table_Name = "WH_Type"; + + /** AD_Table_ID=54648 */ + public static final int Table_ID = MTable.getTable_ID(Table_Name); + + KeyNamePair Model = new KeyNamePair(Table_ID, Table_Name); + + /** AccessLevel = 3 - Client - Org + */ + BigDecimal accessLevel = BigDecimal.valueOf(3); + + /** Load Meta Data */ + + /** Column name AD_Client_ID */ + public static final String COLUMNNAME_AD_Client_ID = "AD_Client_ID"; + + /** Get Client. + * Client/Tenant for this installation. + */ + public int getAD_Client_ID(); + + /** Column name AD_Org_ID */ + public static final String COLUMNNAME_AD_Org_ID = "AD_Org_ID"; + + /** Set Organization. + * Organizational entity within client + */ + public void setAD_Org_ID (int AD_Org_ID); + + /** Get Organization. + * Organizational entity within client + */ + public int getAD_Org_ID(); + + /** Column name AD_View_ID */ + public static final String COLUMNNAME_AD_View_ID = "AD_View_ID"; + + /** Set View. + * View allows you to create dynamic views of information from the dictionary application + */ + public void setAD_View_ID (int AD_View_ID); + + /** Get View. + * View allows you to create dynamic views of information from the dictionary application + */ + public int getAD_View_ID(); + + public org.adempiere.core.domains.models.I_AD_View getAD_View() throws RuntimeException; + + /** Column name Created */ + public static final String COLUMNNAME_Created = "Created"; + + /** Get Created. + * Date this record was created + */ + public Timestamp getCreated(); + + /** Column name CreatedBy */ + public static final String COLUMNNAME_CreatedBy = "CreatedBy"; + + /** Get Created By. + * User who created this records + */ + public int getCreatedBy(); + + /** Column name DeclarationCreditDocType_ID */ + public static final String COLUMNNAME_DeclarationCreditDocType_ID = "DeclarationCreditDocType_ID"; + + /** Set Declaration Credit Document Type. + * Declaration Credit Document Type + */ + public void setDeclarationCreditDocType_ID (int DeclarationCreditDocType_ID); + + /** Get Declaration Credit Document Type. + * Declaration Credit Document Type + */ + public int getDeclarationCreditDocType_ID(); + + public org.adempiere.core.domains.models.I_C_DocType getDeclarationCreditDocType() throws RuntimeException; + + /** Column name DeclarationDebitDocType_ID */ + public static final String COLUMNNAME_DeclarationDebitDocType_ID = "DeclarationDebitDocType_ID"; + + /** Set Declaration Debit Document Type. + * Declaration Debit Document Type + */ + public void setDeclarationDebitDocType_ID (int DeclarationDebitDocType_ID); + + /** Get Declaration Debit Document Type. + * Declaration Debit Document Type + */ + public int getDeclarationDebitDocType_ID(); + + public org.adempiere.core.domains.models.I_C_DocType getDeclarationDebitDocType() throws RuntimeException; + + /** Column name Description */ + public static final String COLUMNNAME_Description = "Description"; + + /** Set Description. + * Optional short description of the record + */ + public void setDescription (String Description); + + /** Get Description. + * Optional short description of the record + */ + public String getDescription(); + + /** Column name IsActive */ + public static final String COLUMNNAME_IsActive = "IsActive"; + + /** Set Active. + * The record is active in the system + */ + public void setIsActive (boolean IsActive); + + /** Get Active. + * The record is active in the system + */ + public boolean isActive(); + + /** Column name Name */ + public static final String COLUMNNAME_Name = "Name"; + + /** Set Name. + * Alphanumeric identifier of the entity + */ + public void setName (String Name); + + /** Get Name. + * Alphanumeric identifier of the entity + */ + public String getName(); + + /** Column name Updated */ + public static final String COLUMNNAME_Updated = "Updated"; + + /** Get Updated. + * Date this record was updated + */ + public Timestamp getUpdated(); + + /** Column name UpdatedBy */ + public static final String COLUMNNAME_UpdatedBy = "UpdatedBy"; + + /** Get Updated By. + * User who updated this records + */ + public int getUpdatedBy(); + + /** Column name UUID */ + public static final String COLUMNNAME_UUID = "UUID"; + + /** Set Immutable Universally Unique Identifier. + * Immutable Universally Unique Identifier + */ + public void setUUID (String UUID); + + /** Get Immutable Universally Unique Identifier. + * Immutable Universally Unique Identifier + */ + public String getUUID(); + + /** Column name Value */ + public static final String COLUMNNAME_Value = "Value"; + + /** Set Search Key. + * Search key for the record in the format required - must be unique + */ + public void setValue (String Value); + + /** Get Search Key. + * Search key for the record in the format required - must be unique + */ + public String getValue(); + + /** Column name WH_Type_ID */ + public static final String COLUMNNAME_WH_Type_ID = "WH_Type_ID"; + + /** Set Withholding Type. + * Indicates the types of national tax withholdings + */ + public void setWH_Type_ID (int WH_Type_ID); + + /** Get Withholding Type. + * Indicates the types of national tax withholdings + */ + public int getWH_Type_ID(); + + /** Column name WithholdingCreditDocType_ID */ + public static final String COLUMNNAME_WithholdingCreditDocType_ID = "WithholdingCreditDocType_ID"; + + /** Set Withholding Credit Document Type. + * Withholding Credit Document Type + */ + public void setWithholdingCreditDocType_ID (int WithholdingCreditDocType_ID); + + /** Get Withholding Credit Document Type. + * Withholding Credit Document Type + */ + public int getWithholdingCreditDocType_ID(); + + public org.adempiere.core.domains.models.I_C_DocType getWithholdingCreditDocType() throws RuntimeException; + + /** Column name WithholdingDebitDocType_ID */ + public static final String COLUMNNAME_WithholdingDebitDocType_ID = "WithholdingDebitDocType_ID"; + + /** Set Withholding Debit Document Type. + * Withholding Debit Document Type + */ + public void setWithholdingDebitDocType_ID (int WithholdingDebitDocType_ID); + + /** Get Withholding Debit Document Type. + * Withholding Debit Document Type + */ + public int getWithholdingDebitDocType_ID(); + + public org.adempiere.core.domains.models.I_C_DocType getWithholdingDebitDocType() throws RuntimeException; +} diff --git a/withholding_engine/src/main/java/base/org/spin/model/I_WH_Withholding.java b/withholding_engine/src/main/java/base/org/spin/model/I_WH_Withholding.java new file mode 100644 index 0000000000..ecc6a0d6a8 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/I_WH_Withholding.java @@ -0,0 +1,537 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ +package org.spin.model; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import org.compiere.model.*; +import org.compiere.util.KeyNamePair; + +/** Generated Interface for WH_Withholding + * @author Adempiere (generated) + * @version Release 3.9.3 + */ +public interface I_WH_Withholding +{ + + /** TableName=WH_Withholding */ + public static final String Table_Name = "WH_Withholding"; + + /** AD_Table_ID=54647 */ + public static final int Table_ID = MTable.getTable_ID(Table_Name); + + KeyNamePair Model = new KeyNamePair(Table_ID, Table_Name); + + /** AccessLevel = 3 - Client - Org + */ + BigDecimal accessLevel = BigDecimal.valueOf(3); + + /** Load Meta Data */ + + /** Column name AD_Client_ID */ + public static final String COLUMNNAME_AD_Client_ID = "AD_Client_ID"; + + /** Get Client. + * Client/Tenant for this installation. + */ + public int getAD_Client_ID(); + + /** Column name AD_Org_ID */ + public static final String COLUMNNAME_AD_Org_ID = "AD_Org_ID"; + + /** Set Organization. + * Organizational entity within client + */ + public void setAD_Org_ID (int AD_Org_ID); + + /** Get Organization. + * Organizational entity within client + */ + public int getAD_Org_ID(); + + /** Column name A_Base_Amount */ + public static final String COLUMNNAME_A_Base_Amount = "A_Base_Amount"; + + /** Set A_Base_Amount */ + public void setA_Base_Amount (BigDecimal A_Base_Amount); + + /** Get A_Base_Amount */ + public BigDecimal getA_Base_Amount(); + + /** Column name C_BPartner_ID */ + public static final String COLUMNNAME_C_BPartner_ID = "C_BPartner_ID"; + + /** Set Business Partner . + * Identifies a Business Partner + */ + public void setC_BPartner_ID (int C_BPartner_ID); + + /** Get Business Partner . + * Identifies a Business Partner + */ + public int getC_BPartner_ID(); + + public org.adempiere.core.domains.models.I_C_BPartner getC_BPartner() throws RuntimeException; + + /** Column name C_BPartner_Location_ID */ + public static final String COLUMNNAME_C_BPartner_Location_ID = "C_BPartner_Location_ID"; + + /** Set Partner Location. + * Identifies the (ship to) address for this Business Partner + */ + public void setC_BPartner_Location_ID (int C_BPartner_Location_ID); + + /** Get Partner Location. + * Identifies the (ship to) address for this Business Partner + */ + public int getC_BPartner_Location_ID(); + + public org.adempiere.core.domains.models.I_C_BPartner_Location getC_BPartner_Location() throws RuntimeException; + + /** Column name C_ConversionType_ID */ + public static final String COLUMNNAME_C_ConversionType_ID = "C_ConversionType_ID"; + + /** Set Currency Type. + * Currency Conversion Rate Type + */ + public void setC_ConversionType_ID (int C_ConversionType_ID); + + /** Get Currency Type. + * Currency Conversion Rate Type + */ + public int getC_ConversionType_ID(); + + public org.adempiere.core.domains.models.I_C_ConversionType getC_ConversionType() throws RuntimeException; + + /** Column name C_Currency_ID */ + public static final String COLUMNNAME_C_Currency_ID = "C_Currency_ID"; + + /** Set Currency. + * The Currency for this record + */ + public void setC_Currency_ID (int C_Currency_ID); + + /** Get Currency. + * The Currency for this record + */ + public int getC_Currency_ID(); + + public org.adempiere.core.domains.models.I_C_Currency getC_Currency() throws RuntimeException; + + /** Column name C_DocType_ID */ + public static final String COLUMNNAME_C_DocType_ID = "C_DocType_ID"; + + /** Set Document Type. + * Document type or rules + */ + public void setC_DocType_ID (int C_DocType_ID); + + /** Get Document Type. + * Document type or rules + */ + public int getC_DocType_ID(); + + public org.adempiere.core.domains.models.I_C_DocType getC_DocType() throws RuntimeException; + + /** Column name C_InvoiceLine_ID */ + public static final String COLUMNNAME_C_InvoiceLine_ID = "C_InvoiceLine_ID"; + + /** Set Invoice Line. + * Invoice Detail Line + */ + public void setC_InvoiceLine_ID (int C_InvoiceLine_ID); + + /** Get Invoice Line. + * Invoice Detail Line + */ + public int getC_InvoiceLine_ID(); + + public org.adempiere.core.domains.models.I_C_InvoiceLine getC_InvoiceLine() throws RuntimeException; + + /** Column name C_Invoice_ID */ + public static final String COLUMNNAME_C_Invoice_ID = "C_Invoice_ID"; + + /** Set Invoice. + * Invoice Identifier + */ + public void setC_Invoice_ID (int C_Invoice_ID); + + /** Get Invoice. + * Invoice Identifier + */ + public int getC_Invoice_ID(); + + public org.adempiere.core.domains.models.I_C_Invoice getC_Invoice() throws RuntimeException; + + /** Column name C_Tax_ID */ + public static final String COLUMNNAME_C_Tax_ID = "C_Tax_ID"; + + /** Set Tax. + * Tax identifier + */ + public void setC_Tax_ID (int C_Tax_ID); + + /** Get Tax. + * Tax identifier + */ + public int getC_Tax_ID(); + + public org.adempiere.core.domains.models.I_C_Tax getC_Tax() throws RuntimeException; + + /** Column name Created */ + public static final String COLUMNNAME_Created = "Created"; + + /** Get Created. + * Date this record was created + */ + public Timestamp getCreated(); + + /** Column name CreatedBy */ + public static final String COLUMNNAME_CreatedBy = "CreatedBy"; + + /** Get Created By. + * User who created this records + */ + public int getCreatedBy(); + + /** Column name DateAcct */ + public static final String COLUMNNAME_DateAcct = "DateAcct"; + + /** Set Account Date. + * Accounting Date + */ + public void setDateAcct (Timestamp DateAcct); + + /** Get Account Date. + * Accounting Date + */ + public Timestamp getDateAcct(); + + /** Column name DateDoc */ + public static final String COLUMNNAME_DateDoc = "DateDoc"; + + /** Set Document Date. + * Date of the Document + */ + public void setDateDoc (Timestamp DateDoc); + + /** Get Document Date. + * Date of the Document + */ + public Timestamp getDateDoc(); + + /** Column name Description */ + public static final String COLUMNNAME_Description = "Description"; + + /** Set Description. + * Optional short description of the record + */ + public void setDescription (String Description); + + /** Get Description. + * Optional short description of the record + */ + public String getDescription(); + + /** Column name DocAction */ + public static final String COLUMNNAME_DocAction = "DocAction"; + + /** Set Document Action. + * The targeted status of the document + */ + public void setDocAction (String DocAction); + + /** Get Document Action. + * The targeted status of the document + */ + public String getDocAction(); + + /** Column name DocStatus */ + public static final String COLUMNNAME_DocStatus = "DocStatus"; + + /** Set Document Status. + * The current status of the document + */ + public void setDocStatus (String DocStatus); + + /** Get Document Status. + * The current status of the document + */ + public String getDocStatus(); + + /** Column name DocumentNo */ + public static final String COLUMNNAME_DocumentNo = "DocumentNo"; + + /** Set Document No. + * Document sequence number of the document + */ + public void setDocumentNo (String DocumentNo); + + /** Get Document No. + * Document sequence number of the document + */ + public String getDocumentNo(); + + /** Column name IsActive */ + public static final String COLUMNNAME_IsActive = "IsActive"; + + /** Set Active. + * The record is active in the system + */ + public void setIsActive (boolean IsActive); + + /** Get Active. + * The record is active in the system + */ + public boolean isActive(); + + /** Column name IsApproved */ + public static final String COLUMNNAME_IsApproved = "IsApproved"; + + /** Set Approved. + * Indicates if this document requires approval + */ + public void setIsApproved (boolean IsApproved); + + /** Get Approved. + * Indicates if this document requires approval + */ + public boolean isApproved(); + + /** Column name IsDeclared */ + public static final String COLUMNNAME_IsDeclared = "IsDeclared"; + + /** Set Is Declared. + * Show if a withholding has been declared + */ + public void setIsDeclared (boolean IsDeclared); + + /** Get Is Declared. + * Show if a withholding has been declared + */ + public boolean isDeclared(); + + /** Column name IsManual */ + public static final String COLUMNNAME_IsManual = "IsManual"; + + /** Set Manual. + * This is a manual process + */ + public void setIsManual (boolean IsManual); + + /** Get Manual. + * This is a manual process + */ + public boolean isManual(); + + /** Column name IsSOTrx */ + public static final String COLUMNNAME_IsSOTrx = "IsSOTrx"; + + /** Set Sales Transaction. + * This is a Sales Transaction + */ + public void setIsSOTrx (boolean IsSOTrx); + + /** Get Sales Transaction. + * This is a Sales Transaction + */ + public boolean isSOTrx(); + + /** Column name IsSimulation */ + public static final String COLUMNNAME_IsSimulation = "IsSimulation"; + + /** Set Simulation. + * Performing the function is only simulated + */ + public void setIsSimulation (boolean IsSimulation); + + /** Get Simulation. + * Performing the function is only simulated + */ + public boolean isSimulation(); + + /** Column name Processed */ + public static final String COLUMNNAME_Processed = "Processed"; + + /** Set Processed. + * The document has been processed + */ + public void setProcessed (boolean Processed); + + /** Get Processed. + * The document has been processed + */ + public boolean isProcessed(); + + /** Column name Processing */ + public static final String COLUMNNAME_Processing = "Processing"; + + /** Set Process Now */ + public void setProcessing (boolean Processing); + + /** Get Process Now */ + public boolean isProcessing(); + + /** Column name SourceInvoiceLine_ID */ + public static final String COLUMNNAME_SourceInvoiceLine_ID = "SourceInvoiceLine_ID"; + + /** Set Source Invoice Line */ + public void setSourceInvoiceLine_ID (int SourceInvoiceLine_ID); + + /** Get Source Invoice Line */ + public int getSourceInvoiceLine_ID(); + + public org.adempiere.core.domains.models.I_C_InvoiceLine getSourceInvoiceLine() throws RuntimeException; + + /** Column name SourceInvoice_ID */ + public static final String COLUMNNAME_SourceInvoice_ID = "SourceInvoice_ID"; + + /** Set Source Invoice */ + public void setSourceInvoice_ID (int SourceInvoice_ID); + + /** Get Source Invoice */ + public int getSourceInvoice_ID(); + + public org.adempiere.core.domains.models.I_C_Invoice getSourceInvoice() throws RuntimeException; + + /** Column name SourceOrderLine_ID */ + public static final String COLUMNNAME_SourceOrderLine_ID = "SourceOrderLine_ID"; + + /** Set Source Order Line */ + public void setSourceOrderLine_ID (int SourceOrderLine_ID); + + /** Get Source Order Line */ + public int getSourceOrderLine_ID(); + + public org.adempiere.core.domains.models.I_C_OrderLine getSourceOrderLine() throws RuntimeException; + + /** Column name SourceOrder_ID */ + public static final String COLUMNNAME_SourceOrder_ID = "SourceOrder_ID"; + + /** Set Source Order */ + public void setSourceOrder_ID (int SourceOrder_ID); + + /** Get Source Order */ + public int getSourceOrder_ID(); + + public org.adempiere.core.domains.models.I_C_Order getSourceOrder() throws RuntimeException; + + /** Column name UUID */ + public static final String COLUMNNAME_UUID = "UUID"; + + /** Set Immutable Universally Unique Identifier. + * Immutable Universally Unique Identifier + */ + public void setUUID (String UUID); + + /** Get Immutable Universally Unique Identifier. + * Immutable Universally Unique Identifier + */ + public String getUUID(); + + /** Column name Updated */ + public static final String COLUMNNAME_Updated = "Updated"; + + /** Get Updated. + * Date this record was updated + */ + public Timestamp getUpdated(); + + /** Column name UpdatedBy */ + public static final String COLUMNNAME_UpdatedBy = "UpdatedBy"; + + /** Get Updated By. + * User who updated this records + */ + public int getUpdatedBy(); + + /** Column name WH_Definition_ID */ + public static final String COLUMNNAME_WH_Definition_ID = "WH_Definition_ID"; + + /** Set Withholding . + * Withholding Definition is used for define a withholding rule for BP + */ + public void setWH_Definition_ID (int WH_Definition_ID); + + /** Get Withholding . + * Withholding Definition is used for define a withholding rule for BP + */ + public int getWH_Definition_ID(); + + public org.spin.model.I_WH_Definition getWH_Definition() throws RuntimeException; + + /** Column name WH_Setting_ID */ + public static final String COLUMNNAME_WH_Setting_ID = "WH_Setting_ID"; + + /** Set Withholding Setting. + * specifies the setting to each applied withholding + */ + public void setWH_Setting_ID (int WH_Setting_ID); + + /** Get Withholding Setting. + * specifies the setting to each applied withholding + */ + public int getWH_Setting_ID(); + + public org.spin.model.I_WH_Setting getWH_Setting() throws RuntimeException; + + /** Column name WH_Withholding_ID */ + public static final String COLUMNNAME_WH_Withholding_ID = "WH_Withholding_ID"; + + /** Set Withholding Allocation */ + public void setWH_Withholding_ID (int WH_Withholding_ID); + + /** Get Withholding Allocation */ + public int getWH_Withholding_ID(); + + /** Column name WithholdingAmt */ + public static final String COLUMNNAME_WithholdingAmt = "WithholdingAmt"; + + /** Set Withholding Amt */ + public void setWithholdingAmt (BigDecimal WithholdingAmt); + + /** Get Withholding Amt */ + public BigDecimal getWithholdingAmt(); + + /** Column name WithholdingDeclaration_ID */ + public static final String COLUMNNAME_WithholdingDeclaration_ID = "WithholdingDeclaration_ID"; + + /** Set Withholding Declaration. + * Withholding Declaration reference + */ + public void setWithholdingDeclaration_ID (int WithholdingDeclaration_ID); + + /** Get Withholding Declaration. + * Withholding Declaration reference + */ + public int getWithholdingDeclaration_ID(); + + public org.adempiere.core.domains.models.I_C_Invoice getWithholdingDeclaration() throws RuntimeException; + + /** Column name WithholdingRate */ + public static final String COLUMNNAME_WithholdingRate = "WithholdingRate"; + + /** Set Withholding Rate. + * Withholding Rate applied to Document + */ + public void setWithholdingRate (BigDecimal WithholdingRate); + + /** Get Withholding Rate. + * Withholding Rate applied to Document + */ + public BigDecimal getWithholdingRate(); +} diff --git a/withholding_engine/src/main/java/base/org/spin/model/MWHDefinition.java b/withholding_engine/src/main/java/base/org/spin/model/MWHDefinition.java new file mode 100644 index 0000000000..86b493e410 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/MWHDefinition.java @@ -0,0 +1,242 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2016 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.model; + +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; +import java.util.stream.Collectors; + +import org.compiere.model.MTable; +import org.compiere.model.Query; +import org.compiere.util.CCache; +import org.compiere.util.Env; +import org.compiere.util.Util; + +/** + * Withholding Setting + * @author Yamel Senih, ysenih@erpya.com , http://www.erpya.com + */ +public class MWHDefinition extends X_WH_Definition { + + public MWHDefinition(Properties ctx, int WH_Setting_ID, String trxName) { + super(ctx, WH_Setting_ID, trxName); + } + + public MWHDefinition(Properties ctx, ResultSet rs, String trxName) { + super(ctx, rs, trxName); + } + + /** + * + */ + private static final long serialVersionUID = -7050562622116465459L; + /** Static Cache */ + private static CCache definitionCacheIds = new CCache(Table_Name, 30); + /** Static Cache */ + private static CCache> wihholdingDefinitionFromDocumentTypeCacheValues = new CCache>(Table_Name + "_DocumentType", 30); + /** Static Cache for tables */ + private static CCache> wihholdingDefinitionFromTableCacheValues = new CCache>(Table_Name + "_Table", 30); + /** Type + + + /** + * Get/Load Setting [CACHED] + * @param ctx context + * @param definitionId + * @param trxName + * @return activity or null + */ + public static MWHDefinition getById(Properties ctx, int definitionId, String trxName) + { + if (definitionId <= 0) + return null; + + MWHDefinition definition = definitionCacheIds.get(definitionId); + if (definition != null && definition.get_ID() > 0) + return definition; + + definition = new Query(ctx , Table_Name , COLUMNNAME_WH_Definition_ID + "=?" , trxName) + .setClient_ID() + .setParameters(definitionId) + .first(); + if (definition != null && definition.get_ID() > 0) + { + definitionCacheIds.put(definition.get_ID(), definition); + } + return definition; + } + + /** + * Get All Setting + * @param ctx + * @param resetCache + * @param trxName + * @return + */ + public static List getAll(Properties ctx, boolean resetCache, String trxName) { + List definitionList; + if (resetCache || definitionCacheIds.size() > 0 ) { + definitionList = new Query(Env.getCtx(), Table_Name, null , trxName) + .setClient_ID() + .setOrderBy(COLUMNNAME_Name) + .list(); + definitionList.stream().forEach(setting -> { + definitionCacheIds.put(setting.getWH_Definition_ID(), setting); + }); + return definitionList; + } + definitionList = definitionCacheIds.entrySet().stream() + .map(activity -> activity.getValue()) + .collect(Collectors.toList()); + return definitionList; + } + + /** + * Get from document type + * @param ctx + * @param documentTypeId + * @return + */ + public static List getFromDocumentType(Properties ctx, int documentTypeId) { + return getFromDocumentType(ctx, documentTypeId, 0); + } + + /** + * Get from document type + * @param ctx + * @param documentTypeId + * @param organizationId + * @return + */ + public static List getFromDocumentType(Properties ctx, int documentTypeId, int organizationId) { + String key = documentTypeId + "_" + organizationId; + List definitionList = wihholdingDefinitionFromDocumentTypeCacheValues.get(key); + if(definitionList != null) { + return definitionList; + } + // + String whereClause = new String("EXISTS(SELECT 1 FROM WH_DefinitionLine " + + "WHERE C_DocType_ID = ? " + + " AND AD_Org_ID IN (0,?) " + + "AND WH_Definition_ID = WH_Definition.WH_Definition_ID)"); + // + definitionList = new Query(ctx, I_WH_Definition.Table_Name, whereClause, null) + .setClient_ID() + .setParameters(documentTypeId, organizationId) + .setOnlyActiveRecords(true) + .list(); + // Set + wihholdingDefinitionFromDocumentTypeCacheValues.put(key, definitionList); + // Return + return definitionList; + } + + /** + * Get from table + * @param ctx + * @param tableName + * @param organizationId + * @return + */ + public static List getFromTable(Properties ctx, String tableName) { + List definitionList = wihholdingDefinitionFromTableCacheValues.get(tableName); + if(definitionList != null) { + return definitionList; + } + // + MTable table = MTable.get(ctx, tableName); + String whereClause = new String("EXISTS(SELECT 1 FROM WH_Setting s " + + "WHERE s.AD_Table_ID = ? " + + "AND s.WH_Type_ID = WH_Definition.WH_Type_ID)"); + // + definitionList = new Query(ctx, I_WH_Definition.Table_Name, whereClause, null) + .setClient_ID() + .setParameters(table.getAD_Table_ID()) + .setOnlyActiveRecords(true) + .list(); + // Set + wihholdingDefinitionFromTableCacheValues.put(tableName, definitionList); + // Return + return definitionList; + } + + /** + * Clear values from local store + * @return void + */ + public static void clear() { + definitionCacheIds.clear(); + wihholdingDefinitionFromDocumentTypeCacheValues.clear(); + } + + /** + * Get Applicability without table + * @param eventType + * @return + */ + public List getApplicability(String eventType) { + MWHType withholdingType = MWHType.getById(getCtx(), getWH_Type_ID(), get_TrxName()); + return withholdingType.getApplicability(eventType); + } + + /** + * Get from Table and event model validator + * @param tableName + * @param eventModelValidator + * @return + */ + public List getSettingList(String tableName, String eventModelValidator) { + if(Util.isEmpty(tableName)) { + return new ArrayList(); + } + MWHType withholdingType = MWHType.getById(getCtx(), getWH_Type_ID(), get_TrxName()); + return withholdingType.getApplicability(tableName, eventModelValidator); + } + + /** + * Get from event type + * @param eventType + * @return + */ + public List getSettingList(String eventType) { + MWHType withholdingType = MWHType.getById(getCtx(), getWH_Type_ID(), get_TrxName()); + return withholdingType.getApplicability(eventType); + } + + @Override + protected boolean afterDelete(boolean success) { + clear(); + MWHDefinitionLine.clear(); + return super.afterDelete(success); + } + + @Override + protected boolean afterSave(boolean newRecord, boolean success) { + clear(); + MWHDefinitionLine.clear(); + return super.afterSave(newRecord, success); + } + + @Override + public String toString() { + return "MWHDefinition [getC_Charge_ID()=" + getC_Charge_ID() + + ", getName()=" + getName() + ", getWH_Definition_ID()=" + getWH_Definition_ID() + "]"; + } +} diff --git a/withholding_engine/src/main/java/base/org/spin/model/MWHDefinitionLine.java b/withholding_engine/src/main/java/base/org/spin/model/MWHDefinitionLine.java new file mode 100644 index 0000000000..12bad40f3e --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/MWHDefinitionLine.java @@ -0,0 +1,127 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2016 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.model; + +import java.sql.ResultSet; +import java.util.List; +import java.util.Properties; +import java.util.stream.Collectors; + +import org.compiere.model.Query; +import org.compiere.util.CCache; +import org.compiere.util.Env; + +/** + * Withholding Setting + * @author Yamel Senih, ysenih@erpya.com , http://www.erpya.com + */ +public class MWHDefinitionLine extends X_WH_DefinitionLine { + + public MWHDefinitionLine(Properties ctx, int WH_Setting_ID, String trxName) { + super(ctx, WH_Setting_ID, trxName); + } + + public MWHDefinitionLine(Properties ctx, ResultSet rs, String trxName) { + super(ctx, rs, trxName); + } + + /** + * + */ + private static final long serialVersionUID = -7050562622116465459L; + /** Static Cache */ + private static CCache definitionLineCacheIds = new CCache(Table_Name, 30); + + /** + * Get/Load Setting [CACHED] + * @param ctx context + * @param settingId + * @param trxName + * @return activity or null + */ + public static MWHDefinitionLine getById(Properties ctx, int settingId, String trxName) + { + if (settingId <= 0) + return null; + + MWHDefinitionLine definition = definitionLineCacheIds.get(settingId); + if (definition != null && definition.get_ID() > 0) + return definition; + + definition = new Query(ctx , Table_Name , COLUMNNAME_WH_DefinitionLine_ID + "=?" , trxName) + .setClient_ID() + .setParameters(settingId) + .first(); + if (definition != null && definition.get_ID() > 0) { + definitionLineCacheIds.put(definition.get_ID(), definition); + } + return definition; + } + + /** + * Get All Setting + * @param ctx + * @param resetCache + * @param trxName + * @return + */ + public static List getAll(Properties ctx, boolean resetCache, String trxName) { + List definitionLineList; + if (resetCache || definitionLineCacheIds.size() > 0 ) { + definitionLineList = new Query(Env.getCtx(), Table_Name, null , trxName) + .setClient_ID() + .list(); + definitionLineList.stream().forEach(setting -> { + definitionLineCacheIds.put(setting.getWH_DefinitionLine_ID(), setting); + }); + return definitionLineList; + } + definitionLineList = definitionLineCacheIds.entrySet().stream() + .map(activity -> activity.getValue()) + .collect(Collectors.toList()); + return definitionLineList; + } + + /** + * Clear values from local store + * @return void + */ + public static void clear() { + definitionLineCacheIds.clear(); + } + + @Override + protected boolean afterDelete(boolean success) { + clear(); + MWHDefinition.clear(); + return super.afterDelete(success); + } + + @Override + protected boolean afterSave(boolean newRecord, boolean success) { + clear(); + MWHDefinition.clear(); + return super.afterSave(newRecord, success); + } + + @Override + public String toString() { + return "MWHDefinitionLine [getC_DocType_ID()=" + getC_DocType_ID() + ", isIncludeProcessed()=" + + isIncludeProcessed() + ", getWH_DefinitionLine_ID()=" + getWH_DefinitionLine_ID() + "]"; + } +} diff --git a/withholding_engine/src/main/java/base/org/spin/model/MWHLog.java b/withholding_engine/src/main/java/base/org/spin/model/MWHLog.java new file mode 100644 index 0000000000..3b0937d103 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/MWHLog.java @@ -0,0 +1,73 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2016 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.model; + +import java.sql.ResultSet; +import java.util.Properties; + +import org.compiere.model.Query; +import org.compiere.util.CCache; + +/** + * Withholding Setting + * @author Yamel Senih, ysenih@erpya.com , http://www.erpya.com + */ +public class MWHLog extends X_WH_Log { + + public MWHLog(Properties ctx, int WH_Log_ID, String trxName) { + super(ctx, WH_Log_ID, trxName); + } + + public MWHLog(Properties ctx, ResultSet rs, String trxName) { + super(ctx, rs, trxName); + } + + /** + * + */ + private static final long serialVersionUID = -7050562622116465459L; + /** Static Cache */ + private static CCache logCacheIds = new CCache(Table_Name, 30); + + + /** + * Get/Load Log [CACHED] + * @param ctx context + * @param logId + * @param trxName + * @return activity or null + */ + public static MWHLog getById(Properties ctx, int logId, String trxName) { + if (logId <= 0) + return null; + + MWHLog definition = logCacheIds.get(logId); + if (definition != null && definition.get_ID() > 0) + return definition; + + definition = new Query(ctx , Table_Name , COLUMNNAME_WH_Log_ID + "=?" , trxName) + .setClient_ID() + .setParameters(logId) + .first(); + if (definition != null && definition.get_ID() > 0) + { + logCacheIds.put(definition.get_ID(), definition); + } + return definition; + } +} diff --git a/withholding_engine/src/main/java/base/org/spin/model/MWHSetting.java b/withholding_engine/src/main/java/base/org/spin/model/MWHSetting.java new file mode 100644 index 0000000000..4c50a2b698 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/MWHSetting.java @@ -0,0 +1,206 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2016 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.model; + +import java.lang.reflect.Constructor; +import java.sql.ResultSet; +import java.util.List; +import java.util.Properties; +import java.util.logging.Level; +import java.util.stream.Collectors; + +import org.compiere.model.Query; +import org.compiere.util.CCache; +import org.compiere.util.Env; +import org.compiere.util.Util; +import org.spin.util.AbstractWithholdingSetting; +import org.spin.util.GenericWithholdingSetting; + +/** + * Withholding Setting + * @author Yamel Senih, ysenih@erpya.com , http://www.erpya.com + */ +public class MWHSetting extends X_WH_Setting { + + public MWHSetting(Properties ctx, int WH_Setting_ID, String trxName) { + super(ctx, WH_Setting_ID, trxName); + } + + public MWHSetting(Properties ctx, ResultSet rs, String trxName) { + super(ctx, rs, trxName); + } + + /** + * + */ + private static final long serialVersionUID = -7050562622116465459L; + /** Static Cache */ + private static CCache settingCacheIds = new CCache(Table_Name, 30); + /** Static Cache */ + private static CCache settingCacheValues = new CCache(Table_Name, 30); + + /** + * Get/Load Setting [CACHED] + * @param ctx context + * @param settingId + * @param trxName + * @return activity or null + */ + public static MWHSetting getById(Properties ctx, int settingId, String trxName) + { + if (settingId <= 0) + return null; + + MWHSetting setting = settingCacheIds.get(settingId); + if (setting != null && setting.get_ID() > 0) + return setting; + + setting = new Query(ctx , Table_Name , COLUMNNAME_WH_Setting_ID + "=?" , trxName) + .setClient_ID() + .setParameters(settingId) + .first(); + if (setting != null && setting.get_ID() > 0) + { + int clientId = Env.getAD_Client_ID(ctx); + String key = clientId + "#" + setting.getValue(); + settingCacheValues.put(key, setting); + settingCacheIds.put(setting.get_ID(), setting); + } + return setting; + } + + /** + * get Setting By Value [CACHED] + * @param ctx + * @param settingValue + * @param trxName + * @return + */ + public static MWHSetting getByValue(Properties ctx, String settingValue, String trxName) + { + if (settingValue == null) + return null; + if (settingCacheValues.size() == 0 ) + getAll(ctx, true, trxName); + + int clientId = Env.getAD_Client_ID(ctx); + String key = clientId + "#" + settingValue; + MWHSetting setting = settingCacheValues.get(key); + if (setting != null && setting.get_ID() > 0 ) + return setting; + + setting = new Query(ctx, Table_Name , COLUMNNAME_Value + "=?", trxName) + .setClient_ID() + .setParameters(settingValue) + .first(); + + if (setting != null && setting.get_ID() > 0) { + settingCacheValues.put(key, setting); + settingCacheIds.put(setting.get_ID() , setting); + } + return setting; + } + + /** + * Get All Setting + * @param ctx + * @param resetCache + * @param trxName + * @return + */ + public static List getAll(Properties ctx, boolean resetCache, String trxName) { + List settingList; + if (resetCache || settingCacheIds.size() > 0 ) { + settingList = new Query(Env.getCtx(), Table_Name, null , trxName) + .setClient_ID() + .setOrderBy(COLUMNNAME_Name) + .list(); + settingList.stream().forEach(setting -> { + int clientId = Env.getAD_Client_ID(ctx); + String key = clientId + "#" + setting.getValue(); + settingCacheIds.put(setting.getWH_Setting_ID(), setting); + settingCacheValues.put(key, setting); + }); + return settingList; + } + settingList = settingCacheIds.entrySet().stream() + .map(setting -> setting.getValue()) + .collect(Collectors.toList()); + return settingList; + } + + /** + * Get Class from device type, used for handler + * @author Yamel Senih, ysenih@erpcya.com, ERPCyA http://www.erpcya.com + * @return + * @return Class + */ + private Class getHandlerClass() { + String className = getWithholdingClassName(); + // Validate null values + if(Util.isEmpty(className)) { + return null; + } + try { + Class clazz = Class.forName(className); + // Make sure that it is a PO class + Class superClazz = clazz.getSuperclass(); + // Validate super class + while (superClazz != null) { + if (superClazz == AbstractWithholdingSetting.class) { + log.fine("Use: " + className); + return clazz; + } + // Get Super Class + superClazz = superClazz.getSuperclass(); + } + } catch (Exception e) { + log.severe(e.getMessage()); + } + // + log.finest("Not found: " + className); + return null; + } // getHandlerClass + + /** + * Get Report export instance + * @return + */ + public AbstractWithholdingSetting getSettingInstance() throws Exception { + // Load it + // Get class from parent + Class clazz = getHandlerClass(); + // Not yet implemented + if (clazz == null) { + log.log(Level.INFO, "Using Standard Functional Setting"); + return new GenericWithholdingSetting(this); + } + // + Constructor constructor = clazz.getDeclaredConstructor(new Class[]{MWHSetting.class}); + // new instance + return (AbstractWithholdingSetting) constructor.newInstance(new Object[] {this}); + } + + @Override + public String toString() { + return "MWHSetting [getAD_Table_ID()=" + getAD_Table_ID() + ", getEventModelValidator()=" + + getEventModelValidator() + ", getEventType()=" + getEventType() + ", getName()=" + getName() + + ", getSeqNo()=" + getSeqNo() + ", getValue()=" + getValue() + ", getWH_Setting_ID()=" + + getWH_Setting_ID() + "]"; + } +} diff --git a/withholding_engine/src/main/java/base/org/spin/model/MWHType.java b/withholding_engine/src/main/java/base/org/spin/model/MWHType.java new file mode 100644 index 0000000000..03a0790c0a --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/MWHType.java @@ -0,0 +1,235 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2016 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.model; + +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; +import java.util.stream.Collectors; + +import org.compiere.model.MTable; +import org.compiere.model.Query; +import org.compiere.util.CCache; +import org.compiere.util.Env; +import org.compiere.util.Util; + +/** + * Withholding Type + * @author Yamel Senih, ysenih@erpya.com , http://www.erpya.com + */ +public class MWHType extends X_WH_Type { + + public MWHType(Properties ctx, int WH_Type_ID, String trxName) { + super(ctx, WH_Type_ID, trxName); + } + + public MWHType(Properties ctx, ResultSet rs, String trxName) { + super(ctx, rs, trxName); + } + + /** + * + */ + private static final long serialVersionUID = -7050562622116465459L; + /** Static Cache */ + private static CCache typeCacheIds = new CCache(Table_Name, 30); + /** Static Cache */ + private static CCache typeCacheValues = new CCache(Table_Name, 30); + /** Static Cache */ + private static CCache> wihholdingSettingCacheValues = new CCache>(Table_Name, 30); + /** Setting List */ + private List settingList = null; + + + /** + * Get/Load Setting [CACHED] + * @param ctx context + * @param typeId + * @param trxName + * @return activity or null + */ + public static MWHType getById(Properties ctx, int typeId, String trxName) { + if (typeId <= 0) + return null; + + MWHType type = typeCacheIds.get(typeId); + if (type != null && type.get_ID() > 0) + return type; + + type = new Query(ctx , Table_Name , COLUMNNAME_WH_Type_ID + "=?" , trxName) + .setClient_ID() + .setParameters(typeId) + .first(); + if (type != null && type.get_ID() > 0) + { + int clientId = Env.getAD_Client_ID(ctx); + String key = clientId + "#" + type.getValue(); + typeCacheValues.put(key, type); + typeCacheIds.put(type.get_ID(), type); + } + return type; + } + + /** + * get Setting By Value [CACHED] + * @param ctx + * @param typeValue + * @param trxName + * @return + */ + public static MWHType getByValue(Properties ctx, String typeValue, String trxName) { + if (typeValue == null) + return null; + if (typeCacheValues.size() == 0 ) + getAll(ctx, true, trxName); + + int clientId = Env.getAD_Client_ID(ctx); + String key = clientId + "#" + typeValue; + MWHType type = typeCacheValues.get(key); + if (type != null && type.get_ID() > 0 ) + return type; + + type = new Query(ctx, Table_Name , COLUMNNAME_Value + "=?", trxName) + .setClient_ID() + .setParameters(typeValue) + .first(); + + if (type != null && type.get_ID() > 0) { + typeCacheValues.put(key, type); + typeCacheIds.put(type.get_ID() , type); + } + return type; + } + + /** + * Get All Setting + * @param ctx + * @param resetCache + * @param trxName + * @return + */ + public static List getAll(Properties ctx, boolean resetCache, String trxName) { + List typeList; + if (resetCache || typeCacheIds.size() > 0 ) { + typeList = new Query(Env.getCtx(), Table_Name, null , trxName) + .setClient_ID() + .setOrderBy(COLUMNNAME_Name) + .list(); + typeList.stream().forEach(setting -> { + int clientId = Env.getAD_Client_ID(ctx); + String key = clientId + "#" + setting.getValue(); + typeCacheIds.put(setting.getWH_Type_ID(), setting); + typeCacheValues.put(key, setting); + }); + return typeList; + } + typeList = typeCacheIds.entrySet().stream() + .map(type -> type.getValue()) + .collect(Collectors.toList()); + return typeList; + } + + /** + * Get Setting list from Withholding type + * @return + */ + public List getSettingList() { + if(settingList == null) { + settingList = new Query(getCtx(), I_WH_Setting.Table_Name, I_WH_Setting.COLUMNNAME_WH_Type_ID + " = ?", get_TrxName()) + .setParameters(getWH_Type_ID()) + .setOnlyActiveRecords(true) + .setClient_ID() + .list(); + } + // Return list + return settingList; + } + + /** + * Get for all + * @param eventType + * @param tableId + * @param eventModelValidator + * @return + */ + private List getApplicability(String eventType, int tableId, String eventModelValidator) { + String key = getWH_Type_ID() + "|" + eventType + "|" + tableId + "|" + (Util.isEmpty(eventModelValidator)? "": eventModelValidator); + List applicabilityList = wihholdingSettingCacheValues.get(key); + if(applicabilityList != null) { + return applicabilityList; + } + // + StringBuffer whereClause = new StringBuffer(I_WH_Setting.COLUMNNAME_WH_Type_ID + " = ?"); + ArrayList params = new ArrayList(); + // + whereClause.append(" AND ").append(I_WH_Setting.COLUMNNAME_EventType + " = ?"); + params.add(getWH_Type_ID()); + params.add(eventType); + // For Table + if(tableId > 0) { + whereClause.append(" AND ").append(I_WH_Setting.COLUMNNAME_AD_Table_ID + " = ?"); + params.add(tableId); + } + // For Event Model Validator + if(tableId > 0) { + whereClause.append(" AND ").append(I_WH_Setting.COLUMNNAME_EventModelValidator + " = ?"); + params.add(eventModelValidator); + } + // + applicabilityList = new Query(getCtx(), I_WH_Setting.Table_Name, whereClause.toString(), get_TrxName()) + .setClient_ID() + .setParameters(params) + .setOnlyActiveRecords(true) + .list(); + // Set + wihholdingSettingCacheValues.put(key, applicabilityList); + // Return + return applicabilityList; + } + + /** + * Get Applicability without table + * @param eventType + * @return + */ + public List getApplicability(String eventType) { + return getApplicability(eventType, 0, null); + } + + /** + * Get from Table and event model validator + * @param tableName + * @param eventModelValidator + * @return + */ + public List getApplicability(String tableName, String eventModelValidator) { + if(Util.isEmpty(tableName)) { + return new ArrayList(); + } + // + MTable table = MTable.get(getCtx(), tableName); + return getApplicability(MWHSetting.EVENTTYPE_Event, table.getAD_Table_ID(), eventModelValidator); + } + + @Override + public String toString() { + return "MWHType [getName()=" + getName() + ", getValue()=" + getValue() + ", getWH_Type_ID()=" + getWH_Type_ID() + + "]"; + } +} diff --git a/withholding_engine/src/main/java/base/org/spin/model/MWHWithholding.java b/withholding_engine/src/main/java/base/org/spin/model/MWHWithholding.java new file mode 100644 index 0000000000..1d930776cf --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/MWHWithholding.java @@ -0,0 +1,594 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ +package org.spin.model; + +import java.io.File; +import java.math.BigDecimal; +import java.sql.ResultSet; +import java.sql.Timestamp; +import java.util.List; +import java.util.Optional; +import java.util.Properties; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.*; +import org.compiere.process.DocAction; +import org.compiere.process.DocOptions; +import org.compiere.process.DocumentEngine; +import org.compiere.util.DB; +import org.compiere.util.Msg; + +/** Generated Model for WH_Allocation + * @author Adempiere (generated) + * @version Release 3.9.2 - $Id$ */ +public class MWHWithholding extends X_WH_Withholding implements DocAction, DocOptions { + + /** + * + */ + private static final long serialVersionUID = 20190611L; + + /** Standard Constructor */ + public MWHWithholding (Properties ctx, int WH_Allocation_ID, String trxName) + { + super (ctx, WH_Allocation_ID, trxName); + } + + /** Load Constructor */ + public MWHWithholding (Properties ctx, ResultSet rs, String trxName) + { + super (ctx, rs, trxName); + } + + /** + * Get Document Info + * @return document info (untranslated) + */ + public String getDocumentInfo() + { + MDocType dt = MDocType.get(getCtx(), getC_DocType_ID()); + return dt.getName() + " " + getDocumentNo(); + } // getDocumentInfo + + /** + * Create PDF + * @return File or null + */ + public File createPDF () + { + try + { + File temp = File.createTempFile(get_TableName() + get_ID() +"_", ".pdf"); + return createPDF (temp); + } + catch (Exception e) + { + log.severe("Could not create PDF - " + e.getMessage()); + } + return null; + } // getPDF + + /** + * Create PDF file + * @param file output file + * @return file if success + */ + public File createPDF (File file) + { + // ReportEngine re = ReportEngine.get (getCtx(), ReportEngine.INVOICE, getC_Invoice_ID()); + // if (re == null) + return null; + // return re.getPDF(file); + } // createPDF + + + /************************************************************************** + * Process document + * @param processAction document action + * @return true if performed + */ + public boolean processIt (String processAction) + { + m_processMsg = null; + DocumentEngine engine = new DocumentEngine (this, getDocStatus()); + return engine.processIt (processAction, getDocAction()); + } // processIt + + /** Process Message */ + private String m_processMsg = null; + /** Just Prepared Flag */ + private boolean m_justPrepared = false; + + /** + * Unlock Document. + * @return true if success + */ + public boolean unlockIt() + { + log.info("unlockIt - " + toString()); + // setProcessing(false); + return true; + } // unlockIt + + /** + * Invalidate Document + * @return true if success + */ + public boolean invalidateIt() + { + log.info("invalidateIt - " + toString()); + setDocAction(DOCACTION_Prepare); + return true; + } // invalidateIt + + @Override + protected boolean beforeSave(boolean newRecord) { + setValuesFromSourceDocument(); + return true; + } + /** + * Prepare Document + * @return new status (In Progress or Invalid) + */ + public String prepareIt() + { + log.info(toString()); + m_processMsg = ModelValidationEngine.get().fireDocValidate(this, ModelValidator.TIMING_BEFORE_PREPARE); + if (m_processMsg != null) + return DocAction.STATUS_Invalid; + + MDocType dt = MDocType.get(getCtx(), getC_DocType_ID()); + + // Std Period open? + if (!MPeriod.isOpen(getCtx(), getDateDoc(), dt.getDocBaseType(), getAD_Org_ID())) + { + m_processMsg = "@PeriodClosed@"; + return DocAction.STATUS_Invalid; + } + // Add up Amounts + m_processMsg = ModelValidationEngine.get().fireDocValidate(this, ModelValidator.TIMING_AFTER_PREPARE); + if (m_processMsg != null) + return DocAction.STATUS_Invalid; + m_justPrepared = true; + if (!DOCACTION_Complete.equals(getDocAction())) + setDocAction(DOCACTION_Complete); + return DocAction.STATUS_InProgress; + } // prepareIt + + /** + * Approve Document + * @return true if success + */ + public boolean approveIt() + { + log.info("approveIt - " + toString()); + setIsApproved(true); + return true; + } // approveIt + + /** + * Reject Approval + * @return true if success + */ + public boolean rejectIt() + { + log.info("rejectIt - " + toString()); + setIsApproved(false); + return true; + } // rejectIt + + /** + * Complete Document + * @return new status (Complete, In Progress, Invalid, Waiting ..) + */ + public String completeIt() + { + // Re-Check + if (!m_justPrepared) + { + String status = prepareIt(); + if (!DocAction.STATUS_InProgress.equals(status)) + return status; + } + + m_processMsg = ModelValidationEngine.get().fireDocValidate(this, ModelValidator.TIMING_BEFORE_COMPLETE); + if (m_processMsg != null) + return DocAction.STATUS_Invalid; + + // Implicit Approval + if (!isApproved()) + approveIt(); + log.info(toString()); + // + + // User Validation + String valid = ModelValidationEngine.get().fireDocValidate(this, ModelValidator.TIMING_AFTER_COMPLETE); + if (valid != null) + { + m_processMsg = valid; + return DocAction.STATUS_Invalid; + } + // Set Definitive Document No + setDefiniteDocumentNo(); + + setProcessed(true); + setDocAction(DOCACTION_Close); + return DocAction.STATUS_Completed; + } // completeIt + + /** + * Set the definite document number after completed + */ + private void setDefiniteDocumentNo() { + MDocType dt = MDocType.get(getCtx(), getC_DocType_ID()); + if (dt.isOverwriteDateOnComplete()) { + setDateDoc(new Timestamp(System.currentTimeMillis())); + } + if (dt.isOverwriteSeqOnComplete()) { + String value = null; + int index = p_info.getColumnIndex("C_DocType_ID"); + if (index == -1) + index = p_info.getColumnIndex("C_DocTypeTarget_ID"); + if (index != -1) // get based on Doc Type (might return null) + value = DB.getDocumentNo(get_ValueAsInt(index), get_TrxName(), true); + if (value != null) { + setDocumentNo(value); + } + } + } + + /** + * Set Document Type + */ + public void setC_DocType_ID() { + String sql = "SELECT C_DocType_ID FROM C_DocType " + + "WHERE AD_Client_ID = ? AND AD_Org_ID IN (0," + getAD_Org_ID() + + ") AND DocBaseType = ? " + + " AND IsActive = 'Y' " + + "ORDER BY AD_Org_ID, IsDefault DESC"; + int documentTypeId = DB.getSQLValue(null, sql, getAD_Client_ID(), "WHH"); + if (documentTypeId <= 0) { + log.severe ("Not found for AD_Client_ID=" + getAD_Client_ID () + ", DocBaseType=WHH"); + } else { + log.fine("(APS) - " + "WHH"); + setC_DocType_ID(documentTypeId); + } + } // setC_DocTypeTarget_ID + + /** + * Set Values From Document + * @return void + */ + private void setValuesFromSourceDocument() { + + PO document = null; + if (getSourceInvoice_ID() > 0) + document = new MInvoice(getCtx(), getSourceInvoice_ID(), get_TrxName()); + if (document == null + && getSourceOrder_ID() > 0) + document = new MOrder(getCtx(), getSourceOrder_ID(), get_TrxName()); + + Optional maybeSourceDocument = Optional.ofNullable(document); + maybeSourceDocument.ifPresent(sourceDocument -> { + if (getC_Currency_ID() == 0) + setC_Currency_ID(sourceDocument.get_ValueAsInt(MWHWithholding.COLUMNNAME_C_Currency_ID)); + if (getC_ConversionType_ID() == 0) { + int C_ConversionType_ID = sourceDocument.get_ValueAsInt(MWHWithholding.COLUMNNAME_C_ConversionType_ID); + if (C_ConversionType_ID == 0) + C_ConversionType_ID = MConversionType.getDefault(getAD_Client_ID()); + setC_ConversionType_ID(C_ConversionType_ID); + } + if (getC_BPartner_Location_ID() == 0 ) + setC_BPartner_Location_ID(sourceDocument.get_ValueAsInt(MWHWithholding.COLUMNNAME_C_BPartner_Location_ID)); + if (getDateAcct() == null) + setDateAcct((Timestamp)sourceDocument.get_Value(MWHWithholding.COLUMNNAME_DateAcct)); + + setIsSOTrx(sourceDocument.get_ValueAsBoolean(MWHWithholding.COLUMNNAME_IsSOTrx)); + }); + } + + /** + * Void Document. + * Same as Close. + * @return true if success + */ + public boolean voidIt() + { + log.info("voidIt - " + toString()); + // Before Void + m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_BEFORE_VOID); + if (m_processMsg != null) + return false; + // After Void + // Declaration + if(getWithholdingDeclaration_ID() != 0) { + MInvoice declaration = (MInvoice) getWithholdingDeclaration(); + if(!declaration.getDocStatus().equals(MInvoice.DOCSTATUS_Reversed) + && !declaration.getDocStatus().equals(MInvoice.DOCSTATUS_Voided)) { + throw new AdempiereException("@DeclarationReferenceError@: @WithholdingDeclaration_ID@ " + declaration.getDocumentNo()); + } + } + // Withholding + if(getC_Invoice_ID() != 0) { + MInvoice withholdingDoc = (MInvoice) getC_Invoice(); + if(!withholdingDoc.getDocStatus().equals(MInvoice.DOCSTATUS_Reversed) + && !withholdingDoc.getDocStatus().equals(MInvoice.DOCSTATUS_Voided)) { + throw new AdempiereException("@WithholdingReferenceError@: @C_Invoice_ID@ " + withholdingDoc.getDocumentNo()); + } + } + // AP document + if(getC_Invoice_ID() != 0) { + MInvoice invoice = (MInvoice) getC_Invoice(); + if(invoice.getDocStatus().equals(MInvoice.DOCSTATUS_Completed)) { + if(!invoice.processIt(MInvoice.ACTION_Reverse_Correct)) { + throw new AdempiereException(invoice.getProcessMsg()); + } + invoice.saveEx(); + } + } + // Validate reference + addDescription(Msg.getMsg(getCtx(), "Voided")); + m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_AFTER_VOID); + if (m_processMsg != null) + return false; + + setProcessed(true); + setDocAction(DOCACTION_None); + return true; + } // voidIt + + /** + * Add to Description + * @param description text + */ + public void addDescription (String description) { + String desc = getDescription(); + if (desc == null) + setDescription(description); + else + setDescription(desc + " | " + description); + } // addDescription + + /** + * Close Document. + * Cancel not delivered Qunatities + * @return true if success + */ + public boolean closeIt() { + log.info("closeIt - " + toString()); + // Before Close + m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_BEFORE_CLOSE); + if (m_processMsg != null) + return false; + + setProcessed(true); + setDocAction(DOCACTION_None); + + // After Close + m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_AFTER_CLOSE); + if (m_processMsg != null) + return false; + + return true; + } // closeIt + + /** + * Reverse Correction + * @return true if success + */ + public boolean reverseCorrectIt() + { + log.info("reverseCorrectIt - " + toString()); + // Before reverseCorrect + m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_BEFORE_REVERSECORRECT); + if (m_processMsg != null) + return false; + // Void It + voidIt(); + // After reverseCorrect + m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_AFTER_REVERSECORRECT); + if (m_processMsg != null) + return false; + + return false; + } // reverseCorrectionIt + + /** + * Reverse Accrual - none + * @return true if success + */ + public boolean reverseAccrualIt() + { + log.info("reverseAccrualIt - " + toString()); + // Before reverseAccrual + m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_BEFORE_REVERSEACCRUAL); + if (m_processMsg != null) + return false; + // Void It + voidIt(); + // After reverseAccrual + m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_AFTER_REVERSEACCRUAL); + if (m_processMsg != null) + return false; + + return false; + } // reverseAccrualIt + + /** + * Re-activate + * @return true if success + */ + public boolean reActivateIt() + { + log.info("reActivateIt - " + toString()); + // Before reActivate + m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_BEFORE_REACTIVATE); + if (m_processMsg != null) + return false; + // After reActivate + m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_AFTER_REACTIVATE); + if (m_processMsg != null) + return false; + + setDocAction(DOCACTION_Complete); + setProcessed(false); + return true; + } // reActivateIt + + + /************************************************************************* + * Get Summary + * @return Summary of Document + */ + public String getSummary() + { + StringBuffer sb = new StringBuffer(); + sb.append(getDocumentNo()); + // sb.append(": ") + // .append(Msg.translate(getCtx(),"TotalLines")).append("=").append(getTotalLines()) + // .append(" (#").append(getLines(false).length).append(")"); + // - Description + if (getDescription() != null && getDescription().length() > 0) + sb.append(" - ").append(getDescription()); + return sb.toString(); + } // getSummary + + /** + * Get Process Message + * @return clear text error message + */ + public String getProcessMsg() + { + return m_processMsg; + } // getProcessMsg + + /** + * Get Document Owner (Responsible) + * @return AD_User_ID + */ + public int getDoc_User_ID() + { + // return getSalesRep_ID(); + return 0; + } // getDoc_User_ID + + /** + * Get Document Approval Amount + * @return amount + */ + public BigDecimal getApprovalAmt() + { + return null; //getTotalLines(); + } // getApprovalAmt + + /** + * Get Withholding list from invoice + * @param context + * @param sourceInvoiceId + * @param transactionName + * @return + */ + public static List getWithholdingFromInvoice(Properties context, int sourceInvoiceId, String transactionName) { + return new Query(context, I_WH_Withholding.Table_Name, I_WH_Withholding.COLUMNNAME_SourceInvoice_ID + " = ?", transactionName) + .setClient_ID() + .setParameters(sourceInvoiceId) + .setOnlyActiveRecords(true) + .list(); + } + + /** + * Get Withholding source list from invoice + * @param context + * @param invoiceId + * @param transactionName + * @return + */ + public static List getWithholdingSourceFromInvoice(Properties context, int invoiceId, String transactionName) { + return new Query(context, I_WH_Withholding.Table_Name, I_WH_Withholding.COLUMNNAME_C_Invoice_ID + " = ?", transactionName) + .setClient_ID() + .setParameters(invoiceId) + .setOnlyActiveRecords(true) + .list(); + } + + /** + * Get Withholding source list from declaration + * @param context + * @param withholdingDeclarationId + * @param transactionName + * @return + */ + public static List getWithholdingSourceFromDeclaration(Properties context, int withholdingDeclarationId, String transactionName) { + return new Query(context, I_WH_Withholding.Table_Name, I_WH_Withholding.COLUMNNAME_WithholdingDeclaration_ID + " = ?", transactionName) + .setClient_ID() + .setParameters(withholdingDeclarationId) + .setOnlyActiveRecords(true) + .list(); + } + + public int getWHDocType() { + if (getSourceInvoice_ID() !=0) { + if (getSourceInvoice().getC_DocType().getDocBaseType().equals(MDocType.DOCBASETYPE_APInvoice) + || getSourceInvoice().getC_DocType().getDocBaseType().equals(MDocType.DOCBASETYPE_ARInvoice)) { + if (getWH_Setting().getWithholdingDebitDocType_ID()!=0) + return getWH_Setting().getWithholdingDebitDocType_ID(); + if (getWH_Definition().getWithholdingDebitDocType_ID()!=0) + return getWH_Definition().getWithholdingDebitDocType_ID(); + if (getWH_Setting().getWH_Type().getWithholdingDebitDocType_ID()!=0) + return getWH_Setting().getWH_Type().getWithholdingDebitDocType_ID(); + }else if (getSourceInvoice().getC_DocType().getDocBaseType().equals(MDocType.DOCBASETYPE_APCreditMemo) + || getSourceInvoice().getC_DocType().getDocBaseType().equals(MDocType.DOCBASETYPE_ARCreditMemo)){ + if (getWH_Setting().getWithholdingCreditDocType_ID()!=0) + return getWH_Setting().getWithholdingCreditDocType_ID(); + if (getWH_Definition().getWithholdingCreditDocType_ID()!=0) + return getWH_Definition().getWithholdingCreditDocType_ID(); + if (getWH_Setting().getWH_Type().getWithholdingCreditDocType_ID()!=0) + return getWH_Setting().getWH_Type().getWithholdingCreditDocType_ID(); + } + + } + return 0; + } + + @Override + public int customizeValidActions(String docStatus, Object processing, + String orderType, String isSOTrx, int AD_Table_ID, + String[] docAction, String[] options, int index) { + // Valid Document Action + if (AD_Table_ID == Table_ID){ + if (docStatus.equals(DocumentEngine.STATUS_Completed)) { + options[index++] = DocumentEngine.ACTION_Void; + } + } + // Default + return index; + } + + @Override + public String toString() + { + StringBuffer sb = new StringBuffer ("MWHAllocation[") + .append(getSummary()).append("]"); + return sb.toString(); + } + + @Override + public void setWithholdingDeclaration_ID(int WithholdingDeclaration_ID) { + setIsDeclared(WithholdingDeclaration_ID > 0); + super.setWithholdingDeclaration_ID(WithholdingDeclaration_ID); + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/model/Withholding.java b/withholding_engine/src/main/java/base/org/spin/model/Withholding.java new file mode 100644 index 0000000000..137f10b72a --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/Withholding.java @@ -0,0 +1,184 @@ +/************************************************************************************* + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2012-2018 E.R.P. Consultores y Asociados, C.A. * + * Contributor(s): Yamel Senih ysenih@erpya.com * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ************************************************************************************/ +package org.spin.model; + +import java.util.List; +import java.util.stream.Collectors; + +import org.adempiere.exceptions.AdempiereException; +import org.adempiere.core.domains.models.I_C_Order; +import org.compiere.model.MClient; +import org.compiere.model.MInvoice; +import org.compiere.model.MTable; +import org.compiere.model.ModelValidationEngine; +import org.compiere.model.ModelValidator; +import org.compiere.model.PO; +import org.compiere.model.Query; +import org.compiere.util.CLogger; +import org.compiere.util.Env; +import org.compiere.util.Util; +import org.spin.util.WithholdingEngine; + +/** + * Add Default Model Validator for Withholding Engine + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com> + */ +public class Withholding implements ModelValidator { + + /** + * Constructor + */ + public Withholding() { + super(); + } + + /** Logger */ + private static CLogger log = CLogger + .getCLogger(Withholding.class); + /** Client */ + private int clientId = -1; + + @Override + public void initialize(ModelValidationEngine engine, MClient client) { + // client = null for global validator + if (client != null) { + clientId = client.getAD_Client_ID(); + log.info(client.toString()); + } else { + log.info("Initializing global validator: " + this.toString()); + } + // Add Timing change only for invoice + engine.addDocValidate(MInvoice.Table_Name, this); + // List it + List settings = new Query(Env.getCtx(), MWHSetting.Table_Name, "EventType = 'E' AND AD_Client_ID =? " + + "AND EXISTS(SELECT 1 FROM WH_Type wt WHERE wt.WH_Type_ID = WH_Setting.WH_Type_ID AND wt.IsActive = 'Y')", null) + .setOnlyActiveRecords(true) + .setParameters(clientId) + .setOrderBy(MWHSetting.COLUMNNAME_SeqNo) + .list(); + // for Tables + settings + .stream() + .filter(setting -> setting.getEventModelValidator().startsWith("T")) + .collect(Collectors.groupingBy(MWHSetting::getAD_Table_ID)) + .entrySet() + .forEach(tableSet -> { + String tableName = MTable.getTableName(Env.getCtx(), tableSet.getKey()); + engine.addModelChange(tableName, this); + }); + // For documents + settings + .stream() + .filter(setting -> setting.getEventModelValidator().startsWith("D")) + .collect(Collectors.groupingBy(MWHSetting::getAD_Table_ID)) + .entrySet() + .forEach(tableSet -> { + String tableName = MTable.getTableName(Env.getCtx(), tableSet.getKey()); + engine.addDocValidate(tableName, this); + }); + } + + @Override + public int getAD_Client_ID() { + return clientId; + } + + @Override + public String login(int AD_Org_ID, int AD_Role_ID, int AD_User_ID) { + log.info("AD_User_ID=" + AD_User_ID); + return null; + } + + @Override + public String docValidate(PO entity, int timing) { + // Default running for invoices + String error = WithholdingEngine.get().fireDocValidate(entity, timing); + if(!Util.isEmpty(error)) { + throw new AdempiereException(error); + } + // For table + if (entity.get_TableName().equals(MInvoice.Table_Name)) { + MInvoice invoice = (MInvoice) entity; + // For Reverse Correct + if(timing == TIMING_BEFORE_REVERSECORRECT + || timing == TIMING_BEFORE_REVERSEACCRUAL + || timing == TIMING_BEFORE_VOID) { + if(!invoice.isReversal()) { + StringBuffer errorMessage = new StringBuffer(); + List withholdingList = MWHWithholding.getWithholdingFromInvoice(invoice.getCtx(), invoice.getC_Invoice_ID(), invoice.get_TrxName()); + // Validate + withholdingList.stream() + .filter(withholding -> withholding.getDocStatus().equals(MWHWithholding.STATUS_Completed) && withholding.getC_Invoice_ID() != 0) + .forEach(withholding -> { + if(errorMessage.length() > 0) { + errorMessage.append(Env.NL); + } + errorMessage.append("@WH_Withholding_ID@ ").append(withholding.getDocumentNo()).append(" @C_Invoice_ID@ ").append(withholding.getC_Invoice().getDocumentNo()); + }); + // Throw if exist documents + if(errorMessage.length() > 0) { + throw new AdempiereException("@WithholdingReferenceError@: " + errorMessage); + } + // Else + withholdingList.stream() + .filter(withholding -> withholding.getDocStatus().equals(MWHWithholding.STATUS_Completed)) + .forEach(withholding -> { + if(!withholding.processIt(MWHWithholding.ACTION_Void)) { + throw new AdempiereException(withholding.getProcessMsg()); + } + withholding.saveEx(); + }); + } + StringBuffer errorMessage = new StringBuffer(); + List withholdingList = new Query(Env.getCtx(), MWHWithholding.Table_Name, "C_Invoice_ID = ? AND WithholdingDeclaration_ID > 0", null) + .setOnlyActiveRecords(true) + .setParameters(invoice.getC_Invoice_ID()) + .list(); + withholdingList.stream() + .forEach(withholding -> { + MInvoice withholdingDeclaration = MInvoice.get(Env.getCtx(), withholding.getWithholdingDeclaration_ID()); + if(errorMessage.length() > 0) { + errorMessage.append(Env.NL); + } + if (withholdingDeclaration.getDocStatus().equals(MInvoice.DOCSTATUS_Completed) + || withholdingDeclaration.getDocStatus().equals(MInvoice.DOCSTATUS_Closed) + || withholdingDeclaration.getDocStatus().equals(MInvoice.DOCSTATUS_Drafted)) { + errorMessage.append("@WH_Withholding_ID@ ").append(withholding.getDocumentNo()).append(" @C_Invoice_ID@ ").append(withholdingDeclaration.getDocumentNo()); + } + }); + if(errorMessage.length() > 0) { + throw new AdempiereException("@WithholdingReferenceError@: " + errorMessage); + } + } + } + // + return null; + } + + @Override + public String modelChange(PO entity, int type) throws Exception { + // Default running for invoices + int documentTypeId = entity.get_ValueAsInt(I_C_Order.COLUMNNAME_C_DocTypeTarget_ID); + if(documentTypeId <= 0) { + documentTypeId = entity.get_ValueAsInt(I_C_Order.COLUMNNAME_C_DocType_ID); + } + String error = WithholdingEngine.get().fireModelChange(entity, type, documentTypeId); + if(!Util.isEmpty(error)) { + throw new AdempiereException(error); + } + return null; + } +} diff --git a/withholding_engine/src/main/java/base/org/spin/model/X_WH_Definition.java b/withholding_engine/src/main/java/base/org/spin/model/X_WH_Definition.java new file mode 100644 index 0000000000..691d5b6c68 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/X_WH_Definition.java @@ -0,0 +1,344 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ +/** Generated Model - DO NOT CHANGE */ +package org.spin.model; + +import java.sql.ResultSet; +import java.util.Properties; +import org.compiere.model.*; + +/** Generated Model for WH_Definition + * @author Adempiere (generated) + * @version Release 3.9.2 - $Id$ */ +public class X_WH_Definition extends PO implements I_WH_Definition, I_Persistent +{ + + /** + * + */ + private static final long serialVersionUID = 20190817L; + + /** Standard Constructor */ + public X_WH_Definition (Properties ctx, int WH_Definition_ID, String trxName) + { + super (ctx, WH_Definition_ID, trxName); + /** if (WH_Definition_ID == 0) + { + setName (null); + setWH_Definition_ID (0); + setWH_Type_ID (0); + } */ + } + + /** Load Constructor */ + public X_WH_Definition (Properties ctx, ResultSet rs, String trxName) + { + super (ctx, rs, trxName); + } + + /** AccessLevel + * @return 3 - Client - Org + */ + protected int get_AccessLevel() + { + return accessLevel.intValue(); + } + + /** Load Meta Data */ + protected POInfo initPO (Properties ctx) + { + POInfo poi = POInfo.getPOInfo (ctx, Table_ID, get_TrxName()); + return poi; + } + + public String toString() + { + StringBuffer sb = new StringBuffer ("X_WH_Definition[") + .append(get_ID()).append("]"); + return sb.toString(); + } + + public org.adempiere.core.domains.models.I_C_BPartner getC_BPartner() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_BPartner)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_BPartner.Table_Name) + .getPO(getC_BPartner_ID(), get_TrxName()); } + + /** Set Business Partner . + @param C_BPartner_ID + Identifies a Business Partner + */ + public void setC_BPartner_ID (int C_BPartner_ID) + { + if (C_BPartner_ID < 1) + set_Value (COLUMNNAME_C_BPartner_ID, null); + else + set_Value (COLUMNNAME_C_BPartner_ID, Integer.valueOf(C_BPartner_ID)); + } + + /** Get Business Partner . + @return Identifies a Business Partner + */ + public int getC_BPartner_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_BPartner_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_Charge getC_Charge() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_Charge)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_Charge.Table_Name) + .getPO(getC_Charge_ID(), get_TrxName()); } + + /** Set Charge. + @param C_Charge_ID + Additional document charges + */ + public void setC_Charge_ID (int C_Charge_ID) + { + if (C_Charge_ID < 1) + set_Value (COLUMNNAME_C_Charge_ID, null); + else + set_Value (COLUMNNAME_C_Charge_ID, Integer.valueOf(C_Charge_ID)); + } + + /** Get Charge. + @return Additional document charges + */ + public int getC_Charge_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_Charge_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_DocType getDeclarationCreditDocType() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_DocType)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_DocType.Table_Name) + .getPO(getDeclarationCreditDocType_ID(), get_TrxName()); } + + /** Set Declaration Credit Document Type. + @param DeclarationCreditDocType_ID + Declaration Credit Document Type + */ + public void setDeclarationCreditDocType_ID (int DeclarationCreditDocType_ID) + { + if (DeclarationCreditDocType_ID < 1) + set_Value (COLUMNNAME_DeclarationCreditDocType_ID, null); + else + set_Value (COLUMNNAME_DeclarationCreditDocType_ID, Integer.valueOf(DeclarationCreditDocType_ID)); + } + + /** Get Declaration Credit Document Type. + @return Declaration Credit Document Type + */ + public int getDeclarationCreditDocType_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_DeclarationCreditDocType_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_DocType getDeclarationDebitDocType() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_DocType)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_DocType.Table_Name) + .getPO(getDeclarationDebitDocType_ID(), get_TrxName()); } + + /** Set Declaration Debit Document Type. + @param DeclarationDebitDocType_ID + Declaration Debit Document Type + */ + public void setDeclarationDebitDocType_ID (int DeclarationDebitDocType_ID) + { + if (DeclarationDebitDocType_ID < 1) + set_Value (COLUMNNAME_DeclarationDebitDocType_ID, null); + else + set_Value (COLUMNNAME_DeclarationDebitDocType_ID, Integer.valueOf(DeclarationDebitDocType_ID)); + } + + /** Get Declaration Debit Document Type. + @return Declaration Debit Document Type + */ + public int getDeclarationDebitDocType_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_DeclarationDebitDocType_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Description. + @param Description + Optional short description of the record + */ + public void setDescription (String Description) + { + set_Value (COLUMNNAME_Description, Description); + } + + /** Get Description. + @return Optional short description of the record + */ + public String getDescription () + { + return (String)get_Value(COLUMNNAME_Description); + } + + /** Set Name. + @param Name + Alphanumeric identifier of the entity + */ + public void setName (String Name) + { + set_Value (COLUMNNAME_Name, Name); + } + + /** Get Name. + @return Alphanumeric identifier of the entity + */ + public String getName () + { + return (String)get_Value(COLUMNNAME_Name); + } + + /** Set Immutable Universally Unique Identifier. + @param UUID + Immutable Universally Unique Identifier + */ + public void setUUID (String UUID) + { + set_Value (COLUMNNAME_UUID, UUID); + } + + /** Get Immutable Universally Unique Identifier. + @return Immutable Universally Unique Identifier + */ + public String getUUID () + { + return (String)get_Value(COLUMNNAME_UUID); + } + + /** Set Withholding . + @param WH_Definition_ID + Withholding Definition is used for define a withholding rule for BP + */ + public void setWH_Definition_ID (int WH_Definition_ID) + { + if (WH_Definition_ID < 1) + set_ValueNoCheck (COLUMNNAME_WH_Definition_ID, null); + else + set_ValueNoCheck (COLUMNNAME_WH_Definition_ID, Integer.valueOf(WH_Definition_ID)); + } + + /** Get Withholding . + @return Withholding Definition is used for define a withholding rule for BP + */ + public int getWH_Definition_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WH_Definition_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.spin.model.I_WH_Type getWH_Type() throws RuntimeException + { + return (org.spin.model.I_WH_Type)MTable.get(getCtx(), org.spin.model.I_WH_Type.Table_Name) + .getPO(getWH_Type_ID(), get_TrxName()); } + + /** Set Withholding Type. + @param WH_Type_ID + Indicates the types of national tax withholdings + */ + public void setWH_Type_ID (int WH_Type_ID) + { + if (WH_Type_ID < 1) + set_Value (COLUMNNAME_WH_Type_ID, null); + else + set_Value (COLUMNNAME_WH_Type_ID, Integer.valueOf(WH_Type_ID)); + } + + /** Get Withholding Type. + @return Indicates the types of national tax withholdings + */ + public int getWH_Type_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WH_Type_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_DocType getWithholdingCreditDocType() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_DocType)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_DocType.Table_Name) + .getPO(getWithholdingCreditDocType_ID(), get_TrxName()); } + + /** Set Withholding Credit Document Type. + @param WithholdingCreditDocType_ID + Withholding Credit Document Type + */ + public void setWithholdingCreditDocType_ID (int WithholdingCreditDocType_ID) + { + if (WithholdingCreditDocType_ID < 1) + set_Value (COLUMNNAME_WithholdingCreditDocType_ID, null); + else + set_Value (COLUMNNAME_WithholdingCreditDocType_ID, Integer.valueOf(WithholdingCreditDocType_ID)); + } + + /** Get Withholding Credit Document Type. + @return Withholding Credit Document Type + */ + public int getWithholdingCreditDocType_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WithholdingCreditDocType_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_DocType getWithholdingDebitDocType() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_DocType)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_DocType.Table_Name) + .getPO(getWithholdingDebitDocType_ID(), get_TrxName()); } + + /** Set Withholding Debit Document Type. + @param WithholdingDebitDocType_ID + Withholding Debit Document Type + */ + public void setWithholdingDebitDocType_ID (int WithholdingDebitDocType_ID) + { + if (WithholdingDebitDocType_ID < 1) + set_Value (COLUMNNAME_WithholdingDebitDocType_ID, null); + else + set_Value (COLUMNNAME_WithholdingDebitDocType_ID, Integer.valueOf(WithholdingDebitDocType_ID)); + } + + /** Get Withholding Debit Document Type. + @return Withholding Debit Document Type + */ + public int getWithholdingDebitDocType_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WithholdingDebitDocType_ID); + if (ii == null) + return 0; + return ii.intValue(); + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/model/X_WH_DefinitionLine.java b/withholding_engine/src/main/java/base/org/spin/model/X_WH_DefinitionLine.java new file mode 100644 index 0000000000..722a0cca32 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/X_WH_DefinitionLine.java @@ -0,0 +1,191 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ +/** Generated Model - DO NOT CHANGE */ +package org.spin.model; + +import java.sql.ResultSet; +import java.util.Properties; +import org.compiere.model.*; + +/** Generated Model for WH_DefinitionLine + * @author Adempiere (generated) + * @version Release 3.9.2 - $Id$ */ +public class X_WH_DefinitionLine extends PO implements I_WH_DefinitionLine, I_Persistent +{ + + /** + * + */ + private static final long serialVersionUID = 20190817L; + + /** Standard Constructor */ + public X_WH_DefinitionLine (Properties ctx, int WH_DefinitionLine_ID, String trxName) + { + super (ctx, WH_DefinitionLine_ID, trxName); + /** if (WH_DefinitionLine_ID == 0) + { + setC_DocType_ID (0); + setWH_Definition_ID (0); + setWH_DefinitionLine_ID (0); + } */ + } + + /** Load Constructor */ + public X_WH_DefinitionLine (Properties ctx, ResultSet rs, String trxName) + { + super (ctx, rs, trxName); + } + + /** AccessLevel + * @return 3 - Client - Org + */ + protected int get_AccessLevel() + { + return accessLevel.intValue(); + } + + /** Load Meta Data */ + protected POInfo initPO (Properties ctx) + { + POInfo poi = POInfo.getPOInfo (ctx, Table_ID, get_TrxName()); + return poi; + } + + public String toString() + { + StringBuffer sb = new StringBuffer ("X_WH_DefinitionLine[") + .append(get_ID()).append("]"); + return sb.toString(); + } + + public org.adempiere.core.domains.models.I_C_DocType getC_DocType() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_DocType)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_DocType.Table_Name) + .getPO(getC_DocType_ID(), get_TrxName()); } + + /** Set Document Type. + @param C_DocType_ID + Document type or rules + */ + public void setC_DocType_ID (int C_DocType_ID) + { + if (C_DocType_ID < 0) + set_Value (COLUMNNAME_C_DocType_ID, null); + else + set_Value (COLUMNNAME_C_DocType_ID, Integer.valueOf(C_DocType_ID)); + } + + /** Get Document Type. + @return Document type or rules + */ + public int getC_DocType_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_DocType_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Is Include Processed. + @param IsIncludeProcessed + allows me to point out that the document is already processed + */ + public void setIsIncludeProcessed (boolean IsIncludeProcessed) + { + set_Value (COLUMNNAME_IsIncludeProcessed, Boolean.valueOf(IsIncludeProcessed)); + } + + /** Get Is Include Processed. + @return allows me to point out that the document is already processed + */ + public boolean isIncludeProcessed () + { + Object oo = get_Value(COLUMNNAME_IsIncludeProcessed); + if (oo != null) + { + if (oo instanceof Boolean) + return ((Boolean)oo).booleanValue(); + return "Y".equals(oo); + } + return false; + } + + /** Set Immutable Universally Unique Identifier. + @param UUID + Immutable Universally Unique Identifier + */ + public void setUUID (String UUID) + { + set_Value (COLUMNNAME_UUID, UUID); + } + + /** Get Immutable Universally Unique Identifier. + @return Immutable Universally Unique Identifier + */ + public String getUUID () + { + return (String)get_Value(COLUMNNAME_UUID); + } + + public org.spin.model.I_WH_Definition getWH_Definition() throws RuntimeException + { + return (org.spin.model.I_WH_Definition)MTable.get(getCtx(), org.spin.model.I_WH_Definition.Table_Name) + .getPO(getWH_Definition_ID(), get_TrxName()); } + + /** Set Withholding . + @param WH_Definition_ID + Withholding Definition is used for define a withholding rule for BP + */ + public void setWH_Definition_ID (int WH_Definition_ID) + { + if (WH_Definition_ID < 1) + set_ValueNoCheck (COLUMNNAME_WH_Definition_ID, null); + else + set_ValueNoCheck (COLUMNNAME_WH_Definition_ID, Integer.valueOf(WH_Definition_ID)); + } + + /** Get Withholding . + @return Withholding Definition is used for define a withholding rule for BP + */ + public int getWH_Definition_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WH_Definition_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Withholding Line . + @param WH_DefinitionLine_ID Withholding Line */ + public void setWH_DefinitionLine_ID (int WH_DefinitionLine_ID) + { + if (WH_DefinitionLine_ID < 1) + set_ValueNoCheck (COLUMNNAME_WH_DefinitionLine_ID, null); + else + set_ValueNoCheck (COLUMNNAME_WH_DefinitionLine_ID, Integer.valueOf(WH_DefinitionLine_ID)); + } + + /** Get Withholding Line . + @return Withholding Line */ + public int getWH_DefinitionLine_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WH_DefinitionLine_ID); + if (ii == null) + return 0; + return ii.intValue(); + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/model/X_WH_Log.java b/withholding_engine/src/main/java/base/org/spin/model/X_WH_Log.java new file mode 100644 index 0000000000..44e33ff134 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/X_WH_Log.java @@ -0,0 +1,327 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ +/** Generated Model - DO NOT CHANGE */ +package org.spin.model; + +import java.sql.ResultSet; +import java.util.Properties; +import org.compiere.model.*; +import org.compiere.util.KeyNamePair; + +/** Generated Model for WH_Log + * @author Adempiere (generated) + * @version Release 3.9.2 - $Id$ */ +public class X_WH_Log extends PO implements I_WH_Log, I_Persistent +{ + + /** + * + */ + private static final long serialVersionUID = 20190817L; + + /** Standard Constructor */ + public X_WH_Log (Properties ctx, int WH_Log_ID, String trxName) + { + super (ctx, WH_Log_ID, trxName); + /** if (WH_Log_ID == 0) + { + setWH_Definition_ID (0); + setWH_Log_ID (0); + setWH_Setting_ID (0); + } */ + } + + /** Load Constructor */ + public X_WH_Log (Properties ctx, ResultSet rs, String trxName) + { + super (ctx, rs, trxName); + } + + /** AccessLevel + * @return 3 - Client - Org + */ + protected int get_AccessLevel() + { + return accessLevel.intValue(); + } + + /** Load Meta Data */ + protected POInfo initPO (Properties ctx) + { + POInfo poi = POInfo.getPOInfo (ctx, Table_ID, get_TrxName()); + return poi; + } + + public String toString() + { + StringBuffer sb = new StringBuffer ("X_WH_Log[") + .append(get_ID()).append("]"); + return sb.toString(); + } + + public org.adempiere.core.domains.models.I_C_Invoice getC_Invoice() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_Invoice)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_Invoice.Table_Name) + .getPO(getC_Invoice_ID(), get_TrxName()); } + + /** Set Invoice. + @param C_Invoice_ID + Invoice Identifier + */ + public void setC_Invoice_ID (int C_Invoice_ID) + { + if (C_Invoice_ID < 1) + set_Value (COLUMNNAME_C_Invoice_ID, null); + else + set_Value (COLUMNNAME_C_Invoice_ID, Integer.valueOf(C_Invoice_ID)); + } + + /** Get Invoice. + @return Invoice Identifier + */ + public int getC_Invoice_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_Invoice_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_InvoiceLine getC_InvoiceLine() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_InvoiceLine)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_InvoiceLine.Table_Name) + .getPO(getC_InvoiceLine_ID(), get_TrxName()); } + + /** Set Invoice Line. + @param C_InvoiceLine_ID + Invoice Detail Line + */ + public void setC_InvoiceLine_ID (int C_InvoiceLine_ID) + { + if (C_InvoiceLine_ID < 1) + set_Value (COLUMNNAME_C_InvoiceLine_ID, null); + else + set_Value (COLUMNNAME_C_InvoiceLine_ID, Integer.valueOf(C_InvoiceLine_ID)); + } + + /** Get Invoice Line. + @return Invoice Detail Line + */ + public int getC_InvoiceLine_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_InvoiceLine_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Comments. + @param Comments + Comments or additional information + */ + public void setComments (String Comments) + { + set_Value (COLUMNNAME_Comments, Comments); + } + + /** Get Comments. + @return Comments or additional information + */ + public String getComments () + { + return (String)get_Value(COLUMNNAME_Comments); + } + + public org.adempiere.core.domains.models.I_C_Invoice getSourceInvoice() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_Invoice)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_Invoice.Table_Name) + .getPO(getSourceInvoice_ID(), get_TrxName()); } + + /** Set Source Invoice. + @param SourceInvoice_ID Source Invoice */ + public void setSourceInvoice_ID (int SourceInvoice_ID) + { + if (SourceInvoice_ID < 1) + set_Value (COLUMNNAME_SourceInvoice_ID, null); + else + set_Value (COLUMNNAME_SourceInvoice_ID, Integer.valueOf(SourceInvoice_ID)); + } + + /** Get Source Invoice. + @return Source Invoice */ + public int getSourceInvoice_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_SourceInvoice_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_InvoiceLine getSourceInvoiceLine() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_InvoiceLine)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_InvoiceLine.Table_Name) + .getPO(getSourceInvoiceLine_ID(), get_TrxName()); } + + /** Set Source Invoice Line. + @param SourceInvoiceLine_ID Source Invoice Line */ + public void setSourceInvoiceLine_ID (int SourceInvoiceLine_ID) + { + if (SourceInvoiceLine_ID < 1) + set_Value (COLUMNNAME_SourceInvoiceLine_ID, null); + else + set_Value (COLUMNNAME_SourceInvoiceLine_ID, Integer.valueOf(SourceInvoiceLine_ID)); + } + + /** Get Source Invoice Line. + @return Source Invoice Line */ + public int getSourceInvoiceLine_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_SourceInvoiceLine_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Immutable Universally Unique Identifier. + @param UUID + Immutable Universally Unique Identifier + */ + public void setUUID (String UUID) + { + set_Value (COLUMNNAME_UUID, UUID); + } + + /** Get Immutable Universally Unique Identifier. + @return Immutable Universally Unique Identifier + */ + public String getUUID () + { + return (String)get_Value(COLUMNNAME_UUID); + } + + public org.spin.model.I_WH_Definition getWH_Definition() throws RuntimeException + { + return (org.spin.model.I_WH_Definition)MTable.get(getCtx(), org.spin.model.I_WH_Definition.Table_Name) + .getPO(getWH_Definition_ID(), get_TrxName()); } + + /** Set Withholding . + @param WH_Definition_ID + Withholding Definition is used for define a withholding rule for BP + */ + public void setWH_Definition_ID (int WH_Definition_ID) + { + if (WH_Definition_ID < 1) + set_Value (COLUMNNAME_WH_Definition_ID, null); + else + set_Value (COLUMNNAME_WH_Definition_ID, Integer.valueOf(WH_Definition_ID)); + } + + /** Get Withholding . + @return Withholding Definition is used for define a withholding rule for BP + */ + public int getWH_Definition_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WH_Definition_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Get Record ID/ColumnName + @return ID/ColumnName pair + */ + public KeyNamePair getKeyNamePair() + { + return new KeyNamePair(get_ID(), String.valueOf(getWH_Definition_ID())); + } + + /** Set Withholding Log. + @param WH_Log_ID + Save a log for each document processed + */ + public void setWH_Log_ID (int WH_Log_ID) + { + if (WH_Log_ID < 1) + set_ValueNoCheck (COLUMNNAME_WH_Log_ID, null); + else + set_ValueNoCheck (COLUMNNAME_WH_Log_ID, Integer.valueOf(WH_Log_ID)); + } + + /** Get Withholding Log. + @return Save a log for each document processed + */ + public int getWH_Log_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WH_Log_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.spin.model.I_WH_Setting getWH_Setting() throws RuntimeException + { + return (org.spin.model.I_WH_Setting)MTable.get(getCtx(), org.spin.model.I_WH_Setting.Table_Name) + .getPO(getWH_Setting_ID(), get_TrxName()); } + + /** Set Withholding Setting. + @param WH_Setting_ID + specifies the setting to each applied withholding + */ + public void setWH_Setting_ID (int WH_Setting_ID) + { + if (WH_Setting_ID < 1) + set_Value (COLUMNNAME_WH_Setting_ID, null); + else + set_Value (COLUMNNAME_WH_Setting_ID, Integer.valueOf(WH_Setting_ID)); + } + + /** Get Withholding Setting. + @return specifies the setting to each applied withholding + */ + public int getWH_Setting_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WH_Setting_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.spin.model.I_WH_Withholding getWH_Withholding() throws RuntimeException + { + return (org.spin.model.I_WH_Withholding)MTable.get(getCtx(), org.spin.model.I_WH_Withholding.Table_Name) + .getPO(getWH_Withholding_ID(), get_TrxName()); } + + /** Set Withholding Allocation. + @param WH_Withholding_ID Withholding Allocation */ + public void setWH_Withholding_ID (int WH_Withholding_ID) + { + if (WH_Withholding_ID < 1) + set_Value (COLUMNNAME_WH_Withholding_ID, null); + else + set_Value (COLUMNNAME_WH_Withholding_ID, Integer.valueOf(WH_Withholding_ID)); + } + + /** Get Withholding Allocation. + @return Withholding Allocation */ + public int getWH_Withholding_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WH_Withholding_ID); + if (ii == null) + return 0; + return ii.intValue(); + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/model/X_WH_Setting.java b/withholding_engine/src/main/java/base/org/spin/model/X_WH_Setting.java new file mode 100644 index 0000000000..c31004c7ee --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/X_WH_Setting.java @@ -0,0 +1,447 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ +/** Generated Model - DO NOT CHANGE */ +package org.spin.model; + +import java.sql.ResultSet; +import java.util.Properties; +import org.compiere.model.*; +import org.compiere.util.KeyNamePair; + +/** Generated Model for WH_Setting + * @author Adempiere (generated) + * @version Release 3.9.2 - $Id$ */ +public class X_WH_Setting extends PO implements I_WH_Setting, I_Persistent +{ + + /** + * + */ + private static final long serialVersionUID = 20190817L; + + /** Standard Constructor */ + public X_WH_Setting (Properties ctx, int WH_Setting_ID, String trxName) + { + super (ctx, WH_Setting_ID, trxName); + /** if (WH_Setting_ID == 0) + { + setEventType (null); + setName (null); + setSeqNo (0); +// @SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM WH_Setting WHERE WH_Type_ID=@WH_Type_ID@ + setValue (null); + setWH_Setting_ID (0); + setWH_Type_ID (0); + setWithholdingClassName (null); + } */ + } + + /** Load Constructor */ + public X_WH_Setting (Properties ctx, ResultSet rs, String trxName) + { + super (ctx, rs, trxName); + } + + /** AccessLevel + * @return 3 - Client - Org + */ + protected int get_AccessLevel() + { + return accessLevel.intValue(); + } + + /** Load Meta Data */ + protected POInfo initPO (Properties ctx) + { + POInfo poi = POInfo.getPOInfo (ctx, Table_ID, get_TrxName()); + return poi; + } + + public String toString() + { + StringBuffer sb = new StringBuffer ("X_WH_Setting[") + .append(get_ID()).append("]"); + return sb.toString(); + } + + public org.adempiere.core.domains.models.I_AD_Table getAD_Table() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_AD_Table)MTable.get(getCtx(), org.adempiere.core.domains.models.I_AD_Table.Table_Name) + .getPO(getAD_Table_ID(), get_TrxName()); } + + /** Set Table. + @param AD_Table_ID + Database Table information + */ + public void setAD_Table_ID (int AD_Table_ID) + { + if (AD_Table_ID < 1) + set_Value (COLUMNNAME_AD_Table_ID, null); + else + set_Value (COLUMNNAME_AD_Table_ID, Integer.valueOf(AD_Table_ID)); + } + + /** Get Table. + @return Database Table information + */ + public int getAD_Table_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_AD_Table_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_Charge getC_Charge() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_Charge)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_Charge.Table_Name) + .getPO(getC_Charge_ID(), get_TrxName()); } + + /** Set Charge. + @param C_Charge_ID + Additional document charges + */ + public void setC_Charge_ID (int C_Charge_ID) + { + if (C_Charge_ID < 1) + set_Value (COLUMNNAME_C_Charge_ID, null); + else + set_Value (COLUMNNAME_C_Charge_ID, Integer.valueOf(C_Charge_ID)); + } + + /** Get Charge. + @return Additional document charges + */ + public int getC_Charge_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_Charge_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Description. + @param Description + Optional short description of the record + */ + public void setDescription (String Description) + { + set_Value (COLUMNNAME_Description, Description); + } + + /** Get Description. + @return Optional short description of the record + */ + public String getDescription () + { + return (String)get_Value(COLUMNNAME_Description); + } + + /** EventModelValidator AD_Reference_ID=53237 */ + public static final int EVENTMODELVALIDATOR_AD_Reference_ID=53237; + /** Table Before New = TBN */ + public static final String EVENTMODELVALIDATOR_TableBeforeNew = "TBN"; + /** Table Before Change = TBC */ + public static final String EVENTMODELVALIDATOR_TableBeforeChange = "TBC"; + /** Table Before Delete = TBD */ + public static final String EVENTMODELVALIDATOR_TableBeforeDelete = "TBD"; + /** Table After New = TAN */ + public static final String EVENTMODELVALIDATOR_TableAfterNew = "TAN"; + /** Table After Change = TAC */ + public static final String EVENTMODELVALIDATOR_TableAfterChange = "TAC"; + /** Table After Delete = TAD */ + public static final String EVENTMODELVALIDATOR_TableAfterDelete = "TAD"; + /** Document Before Prepare = DBPR */ + public static final String EVENTMODELVALIDATOR_DocumentBeforePrepare = "DBPR"; + /** Document Before Void = DBVO */ + public static final String EVENTMODELVALIDATOR_DocumentBeforeVoid = "DBVO"; + /** Document Before Close = DBCL */ + public static final String EVENTMODELVALIDATOR_DocumentBeforeClose = "DBCL"; + /** Document Before Reactivate = DBAC */ + public static final String EVENTMODELVALIDATOR_DocumentBeforeReactivate = "DBAC"; + /** Document Before Reverse Correct = DBRC */ + public static final String EVENTMODELVALIDATOR_DocumentBeforeReverseCorrect = "DBRC"; + /** Document Before Reverse Accrual = DBRA */ + public static final String EVENTMODELVALIDATOR_DocumentBeforeReverseAccrual = "DBRA"; + /** Document Before Complete = DBCO */ + public static final String EVENTMODELVALIDATOR_DocumentBeforeComplete = "DBCO"; + /** Document Before Post = DBPO */ + public static final String EVENTMODELVALIDATOR_DocumentBeforePost = "DBPO"; + /** Document After Prepare = DAPR */ + public static final String EVENTMODELVALIDATOR_DocumentAfterPrepare = "DAPR"; + /** Document After Void = DAVO */ + public static final String EVENTMODELVALIDATOR_DocumentAfterVoid = "DAVO"; + /** Document After Close = DACL */ + public static final String EVENTMODELVALIDATOR_DocumentAfterClose = "DACL"; + /** Document After Reactivate = DAAC */ + public static final String EVENTMODELVALIDATOR_DocumentAfterReactivate = "DAAC"; + /** Document After Reverse Correct = DARC */ + public static final String EVENTMODELVALIDATOR_DocumentAfterReverseCorrect = "DARC"; + /** Document After Reverse Accrual = DARA */ + public static final String EVENTMODELVALIDATOR_DocumentAfterReverseAccrual = "DARA"; + /** Document After Complete = DACO */ + public static final String EVENTMODELVALIDATOR_DocumentAfterComplete = "DACO"; + /** Document After Post = DAPO */ + public static final String EVENTMODELVALIDATOR_DocumentAfterPost = "DAPO"; + /** Table After New Replication = TANR */ + public static final String EVENTMODELVALIDATOR_TableAfterNewReplication = "TANR"; + /** Table After Change Replication = TACR */ + public static final String EVENTMODELVALIDATOR_TableAfterChangeReplication = "TACR"; + /** Table Before Delete Replication = TBDR */ + public static final String EVENTMODELVALIDATOR_TableBeforeDeleteReplication = "TBDR"; + /** Set Event Model Validator. + @param EventModelValidator Event Model Validator */ + public void setEventModelValidator (String EventModelValidator) + { + + set_Value (COLUMNNAME_EventModelValidator, EventModelValidator); + } + + /** Get Event Model Validator. + @return Event Model Validator */ + public String getEventModelValidator () + { + return (String)get_Value(COLUMNNAME_EventModelValidator); + } + + /** EventType AD_Reference_ID=54139 */ + public static final int EVENTTYPE_AD_Reference_ID=54139; + /** Process = P */ + public static final String EVENTTYPE_Process = "P"; + /** Event = E */ + public static final String EVENTTYPE_Event = "E"; + /** Set Event Type. + @param EventType + Type of Event + */ + public void setEventType (String EventType) + { + + set_Value (COLUMNNAME_EventType, EventType); + } + + /** Get Event Type. + @return Type of Event + */ + public String getEventType () + { + return (String)get_Value(COLUMNNAME_EventType); + } + + /** Set Name. + @param Name + Alphanumeric identifier of the entity + */ + public void setName (String Name) + { + set_Value (COLUMNNAME_Name, Name); + } + + /** Get Name. + @return Alphanumeric identifier of the entity + */ + public String getName () + { + return (String)get_Value(COLUMNNAME_Name); + } + + /** Set Sequence. + @param SeqNo + Method of ordering records; lowest number comes first + */ + public void setSeqNo (int SeqNo) + { + set_Value (COLUMNNAME_SeqNo, Integer.valueOf(SeqNo)); + } + + /** Get Sequence. + @return Method of ordering records; lowest number comes first + */ + public int getSeqNo () + { + Integer ii = (Integer)get_Value(COLUMNNAME_SeqNo); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Immutable Universally Unique Identifier. + @param UUID + Immutable Universally Unique Identifier + */ + public void setUUID (String UUID) + { + set_Value (COLUMNNAME_UUID, UUID); + } + + /** Get Immutable Universally Unique Identifier. + @return Immutable Universally Unique Identifier + */ + public String getUUID () + { + return (String)get_Value(COLUMNNAME_UUID); + } + + /** Set Search Key. + @param Value + Search key for the record in the format required - must be unique + */ + public void setValue (String Value) + { + set_Value (COLUMNNAME_Value, Value); + } + + /** Get Search Key. + @return Search key for the record in the format required - must be unique + */ + public String getValue () + { + return (String)get_Value(COLUMNNAME_Value); + } + + /** Get Record ID/ColumnName + @return ID/ColumnName pair + */ + public KeyNamePair getKeyNamePair() + { + return new KeyNamePair(get_ID(), getValue()); + } + + /** Set Withholding Setting. + @param WH_Setting_ID + specifies the setting to each applied withholding + */ + public void setWH_Setting_ID (int WH_Setting_ID) + { + if (WH_Setting_ID < 1) + set_ValueNoCheck (COLUMNNAME_WH_Setting_ID, null); + else + set_ValueNoCheck (COLUMNNAME_WH_Setting_ID, Integer.valueOf(WH_Setting_ID)); + } + + /** Get Withholding Setting. + @return specifies the setting to each applied withholding + */ + public int getWH_Setting_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WH_Setting_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.spin.model.I_WH_Type getWH_Type() throws RuntimeException + { + return (org.spin.model.I_WH_Type)MTable.get(getCtx(), org.spin.model.I_WH_Type.Table_Name) + .getPO(getWH_Type_ID(), get_TrxName()); } + + /** Set Withholding Type. + @param WH_Type_ID + Indicates the types of national tax withholdings + */ + public void setWH_Type_ID (int WH_Type_ID) + { + if (WH_Type_ID < 1) + set_ValueNoCheck (COLUMNNAME_WH_Type_ID, null); + else + set_ValueNoCheck (COLUMNNAME_WH_Type_ID, Integer.valueOf(WH_Type_ID)); + } + + /** Get Withholding Type. + @return Indicates the types of national tax withholdings + */ + public int getWH_Type_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WH_Type_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Withholding Class Name. + @param WithholdingClassName + Java Classname + */ + public void setWithholdingClassName (String WithholdingClassName) + { + set_Value (COLUMNNAME_WithholdingClassName, WithholdingClassName); + } + + /** Get Withholding Class Name. + @return Java Classname + */ + public String getWithholdingClassName () + { + return (String)get_Value(COLUMNNAME_WithholdingClassName); + } + + public org.adempiere.core.domains.models.I_C_DocType getWithholdingCreditDocType() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_DocType)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_DocType.Table_Name) + .getPO(getWithholdingCreditDocType_ID(), get_TrxName()); } + + /** Set Withholding Credit Document Type. + @param WithholdingCreditDocType_ID + Withholding Credit Document Type + */ + public void setWithholdingCreditDocType_ID (int WithholdingCreditDocType_ID) + { + if (WithholdingCreditDocType_ID < 1) + set_Value (COLUMNNAME_WithholdingCreditDocType_ID, null); + else + set_Value (COLUMNNAME_WithholdingCreditDocType_ID, Integer.valueOf(WithholdingCreditDocType_ID)); + } + + /** Get Withholding Credit Document Type. + @return Withholding Credit Document Type + */ + public int getWithholdingCreditDocType_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WithholdingCreditDocType_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_DocType getWithholdingDebitDocType() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_DocType)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_DocType.Table_Name) + .getPO(getWithholdingDebitDocType_ID(), get_TrxName()); } + + /** Set Withholding Debit Document Type. + @param WithholdingDebitDocType_ID + Withholding Debit Document Type + */ + public void setWithholdingDebitDocType_ID (int WithholdingDebitDocType_ID) + { + if (WithholdingDebitDocType_ID < 1) + set_Value (COLUMNNAME_WithholdingDebitDocType_ID, null); + else + set_Value (COLUMNNAME_WithholdingDebitDocType_ID, Integer.valueOf(WithholdingDebitDocType_ID)); + } + + /** Get Withholding Debit Document Type. + @return Withholding Debit Document Type + */ + public int getWithholdingDebitDocType_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WithholdingDebitDocType_ID); + if (ii == null) + return 0; + return ii.intValue(); + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/model/X_WH_Type.java b/withholding_engine/src/main/java/base/org/spin/model/X_WH_Type.java new file mode 100644 index 0000000000..858fc920c7 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/X_WH_Type.java @@ -0,0 +1,314 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ +/** Generated Model - DO NOT CHANGE */ +package org.spin.model; + +import java.sql.ResultSet; +import java.util.Properties; +import org.compiere.model.*; +import org.compiere.util.KeyNamePair; + +/** Generated Model for WH_Type + * @author Adempiere (generated) + * @version Release 3.9.2 - $Id$ */ +public class X_WH_Type extends PO implements I_WH_Type, I_Persistent +{ + + /** + * + */ + private static final long serialVersionUID = 20190817L; + + /** Standard Constructor */ + public X_WH_Type (Properties ctx, int WH_Type_ID, String trxName) + { + super (ctx, WH_Type_ID, trxName); + /** if (WH_Type_ID == 0) + { + setName (null); + setValue (null); + setWH_Type_ID (0); + } */ + } + + /** Load Constructor */ + public X_WH_Type (Properties ctx, ResultSet rs, String trxName) + { + super (ctx, rs, trxName); + } + + /** AccessLevel + * @return 3 - Client - Org + */ + protected int get_AccessLevel() + { + return accessLevel.intValue(); + } + + /** Load Meta Data */ + protected POInfo initPO (Properties ctx) + { + POInfo poi = POInfo.getPOInfo (ctx, Table_ID, get_TrxName()); + return poi; + } + + public String toString() + { + StringBuffer sb = new StringBuffer ("X_WH_Type[") + .append(get_ID()).append("]"); + return sb.toString(); + } + + public org.adempiere.core.domains.models.I_AD_View getAD_View() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_AD_View)MTable.get(getCtx(), org.adempiere.core.domains.models.I_AD_View.Table_Name) + .getPO(getAD_View_ID(), get_TrxName()); } + + /** Set View. + @param AD_View_ID + View allows you to create dynamic views of information from the dictionary application + */ + public void setAD_View_ID (int AD_View_ID) + { + if (AD_View_ID < 1) + set_Value (COLUMNNAME_AD_View_ID, null); + else + set_Value (COLUMNNAME_AD_View_ID, Integer.valueOf(AD_View_ID)); + } + + /** Get View. + @return View allows you to create dynamic views of information from the dictionary application + */ + public int getAD_View_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_AD_View_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_DocType getDeclarationCreditDocType() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_DocType)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_DocType.Table_Name) + .getPO(getDeclarationCreditDocType_ID(), get_TrxName()); } + + /** Set Declaration Credit Document Type. + @param DeclarationCreditDocType_ID + Declaration Credit Document Type + */ + public void setDeclarationCreditDocType_ID (int DeclarationCreditDocType_ID) + { + if (DeclarationCreditDocType_ID < 1) + set_Value (COLUMNNAME_DeclarationCreditDocType_ID, null); + else + set_Value (COLUMNNAME_DeclarationCreditDocType_ID, Integer.valueOf(DeclarationCreditDocType_ID)); + } + + /** Get Declaration Credit Document Type. + @return Declaration Credit Document Type + */ + public int getDeclarationCreditDocType_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_DeclarationCreditDocType_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_DocType getDeclarationDebitDocType() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_DocType)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_DocType.Table_Name) + .getPO(getDeclarationDebitDocType_ID(), get_TrxName()); } + + /** Set Declaration Debit Document Type. + @param DeclarationDebitDocType_ID + Declaration Debit Document Type + */ + public void setDeclarationDebitDocType_ID (int DeclarationDebitDocType_ID) + { + if (DeclarationDebitDocType_ID < 1) + set_Value (COLUMNNAME_DeclarationDebitDocType_ID, null); + else + set_Value (COLUMNNAME_DeclarationDebitDocType_ID, Integer.valueOf(DeclarationDebitDocType_ID)); + } + + /** Get Declaration Debit Document Type. + @return Declaration Debit Document Type + */ + public int getDeclarationDebitDocType_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_DeclarationDebitDocType_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Description. + @param Description + Optional short description of the record + */ + public void setDescription (String Description) + { + set_Value (COLUMNNAME_Description, Description); + } + + /** Get Description. + @return Optional short description of the record + */ + public String getDescription () + { + return (String)get_Value(COLUMNNAME_Description); + } + + /** Set Name. + @param Name + Alphanumeric identifier of the entity + */ + public void setName (String Name) + { + set_Value (COLUMNNAME_Name, Name); + } + + /** Get Name. + @return Alphanumeric identifier of the entity + */ + public String getName () + { + return (String)get_Value(COLUMNNAME_Name); + } + + /** Set Immutable Universally Unique Identifier. + @param UUID + Immutable Universally Unique Identifier + */ + public void setUUID (String UUID) + { + set_Value (COLUMNNAME_UUID, UUID); + } + + /** Get Immutable Universally Unique Identifier. + @return Immutable Universally Unique Identifier + */ + public String getUUID () + { + return (String)get_Value(COLUMNNAME_UUID); + } + + /** Set Search Key. + @param Value + Search key for the record in the format required - must be unique + */ + public void setValue (String Value) + { + set_Value (COLUMNNAME_Value, Value); + } + + /** Get Search Key. + @return Search key for the record in the format required - must be unique + */ + public String getValue () + { + return (String)get_Value(COLUMNNAME_Value); + } + + /** Get Record ID/ColumnName + @return ID/ColumnName pair + */ + public KeyNamePair getKeyNamePair() + { + return new KeyNamePair(get_ID(), getValue()); + } + + /** Set Withholding Type. + @param WH_Type_ID + Indicates the types of national tax withholdings + */ + public void setWH_Type_ID (int WH_Type_ID) + { + if (WH_Type_ID < 1) + set_ValueNoCheck (COLUMNNAME_WH_Type_ID, null); + else + set_ValueNoCheck (COLUMNNAME_WH_Type_ID, Integer.valueOf(WH_Type_ID)); + } + + /** Get Withholding Type. + @return Indicates the types of national tax withholdings + */ + public int getWH_Type_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WH_Type_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_DocType getWithholdingCreditDocType() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_DocType)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_DocType.Table_Name) + .getPO(getWithholdingCreditDocType_ID(), get_TrxName()); } + + /** Set Withholding Credit Document Type. + @param WithholdingCreditDocType_ID + Withholding Credit Document Type + */ + public void setWithholdingCreditDocType_ID (int WithholdingCreditDocType_ID) + { + if (WithholdingCreditDocType_ID < 1) + set_Value (COLUMNNAME_WithholdingCreditDocType_ID, null); + else + set_Value (COLUMNNAME_WithholdingCreditDocType_ID, Integer.valueOf(WithholdingCreditDocType_ID)); + } + + /** Get Withholding Credit Document Type. + @return Withholding Credit Document Type + */ + public int getWithholdingCreditDocType_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WithholdingCreditDocType_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_DocType getWithholdingDebitDocType() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_DocType)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_DocType.Table_Name) + .getPO(getWithholdingDebitDocType_ID(), get_TrxName()); } + + /** Set Withholding Debit Document Type. + @param WithholdingDebitDocType_ID + Withholding Debit Document Type + */ + public void setWithholdingDebitDocType_ID (int WithholdingDebitDocType_ID) + { + if (WithholdingDebitDocType_ID < 1) + set_Value (COLUMNNAME_WithholdingDebitDocType_ID, null); + else + set_Value (COLUMNNAME_WithholdingDebitDocType_ID, Integer.valueOf(WithholdingDebitDocType_ID)); + } + + /** Get Withholding Debit Document Type. + @return Withholding Debit Document Type + */ + public int getWithholdingDebitDocType_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WithholdingDebitDocType_ID); + if (ii == null) + return 0; + return ii.intValue(); + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/model/X_WH_Withholding.java b/withholding_engine/src/main/java/base/org/spin/model/X_WH_Withholding.java new file mode 100644 index 0000000000..72f1a3166f --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/model/X_WH_Withholding.java @@ -0,0 +1,926 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ +/** Generated Model - DO NOT CHANGE */ +package org.spin.model; + +import java.math.BigDecimal; +import java.sql.ResultSet; +import java.sql.Timestamp; +import java.util.Properties; +import org.compiere.model.*; +import org.compiere.util.Env; +import org.compiere.util.KeyNamePair; + +/** Generated Model for WH_Withholding + * @author Adempiere (generated) + * @version Release 3.9.3 - $Id$ */ +public class X_WH_Withholding extends PO implements I_WH_Withholding, I_Persistent +{ + + /** + * + */ + private static final long serialVersionUID = 20220519L; + + /** Standard Constructor */ + public X_WH_Withholding (Properties ctx, int WH_Withholding_ID, String trxName) + { + super (ctx, WH_Withholding_ID, trxName); + /** if (WH_Withholding_ID == 0) + { + setC_DocType_ID (0); + setDateDoc (new Timestamp( System.currentTimeMillis() )); +// @#Date@ + setDocAction (null); +// CO + setDocStatus (null); +// DR + setDocumentNo (null); + setIsApproved (false); +// N + setProcessed (false); +// N + setProcessing (false); +// N + setWH_Definition_ID (0); + setWH_Setting_ID (0); + setWH_Withholding_ID (0); + setWithholdingAmt (Env.ZERO); + setWithholdingRate (Env.ZERO); + } */ + } + + /** Load Constructor */ + public X_WH_Withholding (Properties ctx, ResultSet rs, String trxName) + { + super (ctx, rs, trxName); + } + + /** AccessLevel + * @return 3 - Client - Org + */ + protected int get_AccessLevel() + { + return accessLevel.intValue(); + } + + /** Load Meta Data */ + protected POInfo initPO (Properties ctx) + { + POInfo poi = POInfo.getPOInfo (ctx, Table_ID, get_TrxName()); + return poi; + } + + public String toString() + { + StringBuffer sb = new StringBuffer ("X_WH_Withholding[") + .append(get_ID()).append("]"); + return sb.toString(); + } + + /** Set A_Base_Amount. + @param A_Base_Amount A_Base_Amount */ + public void setA_Base_Amount (BigDecimal A_Base_Amount) + { + set_Value (COLUMNNAME_A_Base_Amount, A_Base_Amount); + } + + /** Get A_Base_Amount. + @return A_Base_Amount */ + public BigDecimal getA_Base_Amount () + { + BigDecimal bd = (BigDecimal)get_Value(COLUMNNAME_A_Base_Amount); + if (bd == null) + return Env.ZERO; + return bd; + } + + public org.adempiere.core.domains.models.I_C_BPartner getC_BPartner() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_BPartner)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_BPartner.Table_Name) + .getPO(getC_BPartner_ID(), get_TrxName()); } + + /** Set Business Partner . + @param C_BPartner_ID + Identifies a Business Partner + */ + public void setC_BPartner_ID (int C_BPartner_ID) + { + if (C_BPartner_ID < 1) + set_Value (COLUMNNAME_C_BPartner_ID, null); + else + set_Value (COLUMNNAME_C_BPartner_ID, Integer.valueOf(C_BPartner_ID)); + } + + /** Get Business Partner . + @return Identifies a Business Partner + */ + public int getC_BPartner_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_BPartner_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_BPartner_Location getC_BPartner_Location() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_BPartner_Location)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_BPartner_Location.Table_Name) + .getPO(getC_BPartner_Location_ID(), get_TrxName()); } + + /** Set Partner Location. + @param C_BPartner_Location_ID + Identifies the (ship to) address for this Business Partner + */ + public void setC_BPartner_Location_ID (int C_BPartner_Location_ID) + { + if (C_BPartner_Location_ID < 1) + set_Value (COLUMNNAME_C_BPartner_Location_ID, null); + else + set_Value (COLUMNNAME_C_BPartner_Location_ID, Integer.valueOf(C_BPartner_Location_ID)); + } + + /** Get Partner Location. + @return Identifies the (ship to) address for this Business Partner + */ + public int getC_BPartner_Location_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_BPartner_Location_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_ConversionType getC_ConversionType() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_ConversionType)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_ConversionType.Table_Name) + .getPO(getC_ConversionType_ID(), get_TrxName()); } + + /** Set Currency Type. + @param C_ConversionType_ID + Currency Conversion Rate Type + */ + public void setC_ConversionType_ID (int C_ConversionType_ID) + { + if (C_ConversionType_ID < 1) + set_Value (COLUMNNAME_C_ConversionType_ID, null); + else + set_Value (COLUMNNAME_C_ConversionType_ID, Integer.valueOf(C_ConversionType_ID)); + } + + /** Get Currency Type. + @return Currency Conversion Rate Type + */ + public int getC_ConversionType_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_ConversionType_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_Currency getC_Currency() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_Currency)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_Currency.Table_Name) + .getPO(getC_Currency_ID(), get_TrxName()); } + + /** Set Currency. + @param C_Currency_ID + The Currency for this record + */ + public void setC_Currency_ID (int C_Currency_ID) + { + if (C_Currency_ID < 1) + set_Value (COLUMNNAME_C_Currency_ID, null); + else + set_Value (COLUMNNAME_C_Currency_ID, Integer.valueOf(C_Currency_ID)); + } + + /** Get Currency. + @return The Currency for this record + */ + public int getC_Currency_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_Currency_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_DocType getC_DocType() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_DocType)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_DocType.Table_Name) + .getPO(getC_DocType_ID(), get_TrxName()); } + + /** Set Document Type. + @param C_DocType_ID + Document type or rules + */ + public void setC_DocType_ID (int C_DocType_ID) + { + if (C_DocType_ID < 0) + set_Value (COLUMNNAME_C_DocType_ID, null); + else + set_Value (COLUMNNAME_C_DocType_ID, Integer.valueOf(C_DocType_ID)); + } + + /** Get Document Type. + @return Document type or rules + */ + public int getC_DocType_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_DocType_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_InvoiceLine getC_InvoiceLine() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_InvoiceLine)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_InvoiceLine.Table_Name) + .getPO(getC_InvoiceLine_ID(), get_TrxName()); } + + /** Set Invoice Line. + @param C_InvoiceLine_ID + Invoice Detail Line + */ + public void setC_InvoiceLine_ID (int C_InvoiceLine_ID) + { + if (C_InvoiceLine_ID < 1) + set_Value (COLUMNNAME_C_InvoiceLine_ID, null); + else + set_Value (COLUMNNAME_C_InvoiceLine_ID, Integer.valueOf(C_InvoiceLine_ID)); + } + + /** Get Invoice Line. + @return Invoice Detail Line + */ + public int getC_InvoiceLine_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_InvoiceLine_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_Invoice getC_Invoice() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_Invoice)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_Invoice.Table_Name) + .getPO(getC_Invoice_ID(), get_TrxName()); } + + /** Set Invoice. + @param C_Invoice_ID + Invoice Identifier + */ + public void setC_Invoice_ID (int C_Invoice_ID) + { + if (C_Invoice_ID < 1) + set_Value (COLUMNNAME_C_Invoice_ID, null); + else + set_Value (COLUMNNAME_C_Invoice_ID, Integer.valueOf(C_Invoice_ID)); + } + + /** Get Invoice. + @return Invoice Identifier + */ + public int getC_Invoice_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_Invoice_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_Tax getC_Tax() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_Tax)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_Tax.Table_Name) + .getPO(getC_Tax_ID(), get_TrxName()); } + + /** Set Tax. + @param C_Tax_ID + Tax identifier + */ + public void setC_Tax_ID (int C_Tax_ID) + { + if (C_Tax_ID < 1) + set_Value (COLUMNNAME_C_Tax_ID, null); + else + set_Value (COLUMNNAME_C_Tax_ID, Integer.valueOf(C_Tax_ID)); + } + + /** Get Tax. + @return Tax identifier + */ + public int getC_Tax_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_C_Tax_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Account Date. + @param DateAcct + Accounting Date + */ + public void setDateAcct (Timestamp DateAcct) + { + set_Value (COLUMNNAME_DateAcct, DateAcct); + } + + /** Get Account Date. + @return Accounting Date + */ + public Timestamp getDateAcct () + { + return (Timestamp)get_Value(COLUMNNAME_DateAcct); + } + + /** Set Document Date. + @param DateDoc + Date of the Document + */ + public void setDateDoc (Timestamp DateDoc) + { + set_Value (COLUMNNAME_DateDoc, DateDoc); + } + + /** Get Document Date. + @return Date of the Document + */ + public Timestamp getDateDoc () + { + return (Timestamp)get_Value(COLUMNNAME_DateDoc); + } + + /** Set Description. + @param Description + Optional short description of the record + */ + public void setDescription (String Description) + { + set_Value (COLUMNNAME_Description, Description); + } + + /** Get Description. + @return Optional short description of the record + */ + public String getDescription () + { + return (String)get_Value(COLUMNNAME_Description); + } + + /** DocAction AD_Reference_ID=135 */ + public static final int DOCACTION_AD_Reference_ID=135; + /** Complete = CO */ + public static final String DOCACTION_Complete = "CO"; + /** Approve = AP */ + public static final String DOCACTION_Approve = "AP"; + /** Reject = RJ */ + public static final String DOCACTION_Reject = "RJ"; + /** Post = PO */ + public static final String DOCACTION_Post = "PO"; + /** Void = VO */ + public static final String DOCACTION_Void = "VO"; + /** Close = CL */ + public static final String DOCACTION_Close = "CL"; + /** Reverse - Correct = RC */ + public static final String DOCACTION_Reverse_Correct = "RC"; + /** Reverse - Accrual = RA */ + public static final String DOCACTION_Reverse_Accrual = "RA"; + /** Invalidate = IN */ + public static final String DOCACTION_Invalidate = "IN"; + /** Re-activate = RE */ + public static final String DOCACTION_Re_Activate = "RE"; + /** = -- */ + public static final String DOCACTION_None = "--"; + /** Prepare = PR */ + public static final String DOCACTION_Prepare = "PR"; + /** Unlock = XL */ + public static final String DOCACTION_Unlock = "XL"; + /** Wait Complete = WC */ + public static final String DOCACTION_WaitComplete = "WC"; + /** Set Document Action. + @param DocAction + The targeted status of the document + */ + public void setDocAction (String DocAction) + { + + set_Value (COLUMNNAME_DocAction, DocAction); + } + + /** Get Document Action. + @return The targeted status of the document + */ + public String getDocAction () + { + return (String)get_Value(COLUMNNAME_DocAction); + } + + /** DocStatus AD_Reference_ID=131 */ + public static final int DOCSTATUS_AD_Reference_ID=131; + /** Drafted = DR */ + public static final String DOCSTATUS_Drafted = "DR"; + /** Completed = CO */ + public static final String DOCSTATUS_Completed = "CO"; + /** Approved = AP */ + public static final String DOCSTATUS_Approved = "AP"; + /** Not Approved = NA */ + public static final String DOCSTATUS_NotApproved = "NA"; + /** Voided = VO */ + public static final String DOCSTATUS_Voided = "VO"; + /** Invalid = IN */ + public static final String DOCSTATUS_Invalid = "IN"; + /** Reversed = RE */ + public static final String DOCSTATUS_Reversed = "RE"; + /** Closed = CL */ + public static final String DOCSTATUS_Closed = "CL"; + /** Unknown = ?? */ + public static final String DOCSTATUS_Unknown = "??"; + /** In Progress = IP */ + public static final String DOCSTATUS_InProgress = "IP"; + /** Waiting Payment = WP */ + public static final String DOCSTATUS_WaitingPayment = "WP"; + /** Waiting Confirmation = WC */ + public static final String DOCSTATUS_WaitingConfirmation = "WC"; + /** Set Document Status. + @param DocStatus + The current status of the document + */ + public void setDocStatus (String DocStatus) + { + + set_Value (COLUMNNAME_DocStatus, DocStatus); + } + + /** Get Document Status. + @return The current status of the document + */ + public String getDocStatus () + { + return (String)get_Value(COLUMNNAME_DocStatus); + } + + /** Set Document No. + @param DocumentNo + Document sequence number of the document + */ + public void setDocumentNo (String DocumentNo) + { + set_Value (COLUMNNAME_DocumentNo, DocumentNo); + } + + /** Get Document No. + @return Document sequence number of the document + */ + public String getDocumentNo () + { + return (String)get_Value(COLUMNNAME_DocumentNo); + } + + /** Get Record ID/ColumnName + @return ID/ColumnName pair + */ + public KeyNamePair getKeyNamePair() + { + return new KeyNamePair(get_ID(), getDocumentNo()); + } + + /** Set Approved. + @param IsApproved + Indicates if this document requires approval + */ + public void setIsApproved (boolean IsApproved) + { + set_Value (COLUMNNAME_IsApproved, Boolean.valueOf(IsApproved)); + } + + /** Get Approved. + @return Indicates if this document requires approval + */ + public boolean isApproved () + { + Object oo = get_Value(COLUMNNAME_IsApproved); + if (oo != null) + { + if (oo instanceof Boolean) + return ((Boolean)oo).booleanValue(); + return "Y".equals(oo); + } + return false; + } + + /** Set Is Declared. + @param IsDeclared + Show if a withholding has been declared + */ + public void setIsDeclared (boolean IsDeclared) + { + set_Value (COLUMNNAME_IsDeclared, Boolean.valueOf(IsDeclared)); + } + + /** Get Is Declared. + @return Show if a withholding has been declared + */ + public boolean isDeclared () + { + Object oo = get_Value(COLUMNNAME_IsDeclared); + if (oo != null) + { + if (oo instanceof Boolean) + return ((Boolean)oo).booleanValue(); + return "Y".equals(oo); + } + return false; + } + + /** Set Manual. + @param IsManual + This is a manual process + */ + public void setIsManual (boolean IsManual) + { + set_Value (COLUMNNAME_IsManual, Boolean.valueOf(IsManual)); + } + + /** Get Manual. + @return This is a manual process + */ + public boolean isManual () + { + Object oo = get_Value(COLUMNNAME_IsManual); + if (oo != null) + { + if (oo instanceof Boolean) + return ((Boolean)oo).booleanValue(); + return "Y".equals(oo); + } + return false; + } + + /** Set Sales Transaction. + @param IsSOTrx + This is a Sales Transaction + */ + public void setIsSOTrx (boolean IsSOTrx) + { + set_Value (COLUMNNAME_IsSOTrx, Boolean.valueOf(IsSOTrx)); + } + + /** Get Sales Transaction. + @return This is a Sales Transaction + */ + public boolean isSOTrx () + { + Object oo = get_Value(COLUMNNAME_IsSOTrx); + if (oo != null) + { + if (oo instanceof Boolean) + return ((Boolean)oo).booleanValue(); + return "Y".equals(oo); + } + return false; + } + + /** Set Simulation. + @param IsSimulation + Performing the function is only simulated + */ + public void setIsSimulation (boolean IsSimulation) + { + set_Value (COLUMNNAME_IsSimulation, Boolean.valueOf(IsSimulation)); + } + + /** Get Simulation. + @return Performing the function is only simulated + */ + public boolean isSimulation () + { + Object oo = get_Value(COLUMNNAME_IsSimulation); + if (oo != null) + { + if (oo instanceof Boolean) + return ((Boolean)oo).booleanValue(); + return "Y".equals(oo); + } + return false; + } + + /** Set Processed. + @param Processed + The document has been processed + */ + public void setProcessed (boolean Processed) + { + set_Value (COLUMNNAME_Processed, Boolean.valueOf(Processed)); + } + + /** Get Processed. + @return The document has been processed + */ + public boolean isProcessed () + { + Object oo = get_Value(COLUMNNAME_Processed); + if (oo != null) + { + if (oo instanceof Boolean) + return ((Boolean)oo).booleanValue(); + return "Y".equals(oo); + } + return false; + } + + /** Set Process Now. + @param Processing Process Now */ + public void setProcessing (boolean Processing) + { + set_Value (COLUMNNAME_Processing, Boolean.valueOf(Processing)); + } + + /** Get Process Now. + @return Process Now */ + public boolean isProcessing () + { + Object oo = get_Value(COLUMNNAME_Processing); + if (oo != null) + { + if (oo instanceof Boolean) + return ((Boolean)oo).booleanValue(); + return "Y".equals(oo); + } + return false; + } + + public org.adempiere.core.domains.models.I_C_InvoiceLine getSourceInvoiceLine() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_InvoiceLine)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_InvoiceLine.Table_Name) + .getPO(getSourceInvoiceLine_ID(), get_TrxName()); } + + /** Set Source Invoice Line. + @param SourceInvoiceLine_ID Source Invoice Line */ + public void setSourceInvoiceLine_ID (int SourceInvoiceLine_ID) + { + if (SourceInvoiceLine_ID < 1) + set_Value (COLUMNNAME_SourceInvoiceLine_ID, null); + else + set_Value (COLUMNNAME_SourceInvoiceLine_ID, Integer.valueOf(SourceInvoiceLine_ID)); + } + + /** Get Source Invoice Line. + @return Source Invoice Line */ + public int getSourceInvoiceLine_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_SourceInvoiceLine_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_Invoice getSourceInvoice() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_Invoice)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_Invoice.Table_Name) + .getPO(getSourceInvoice_ID(), get_TrxName()); } + + /** Set Source Invoice. + @param SourceInvoice_ID Source Invoice */ + public void setSourceInvoice_ID (int SourceInvoice_ID) + { + if (SourceInvoice_ID < 1) + set_Value (COLUMNNAME_SourceInvoice_ID, null); + else + set_Value (COLUMNNAME_SourceInvoice_ID, Integer.valueOf(SourceInvoice_ID)); + } + + /** Get Source Invoice. + @return Source Invoice */ + public int getSourceInvoice_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_SourceInvoice_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_OrderLine getSourceOrderLine() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_OrderLine)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_OrderLine.Table_Name) + .getPO(getSourceOrderLine_ID(), get_TrxName()); } + + /** Set Source Order Line. + @param SourceOrderLine_ID Source Order Line */ + public void setSourceOrderLine_ID (int SourceOrderLine_ID) + { + if (SourceOrderLine_ID < 1) + set_Value (COLUMNNAME_SourceOrderLine_ID, null); + else + set_Value (COLUMNNAME_SourceOrderLine_ID, Integer.valueOf(SourceOrderLine_ID)); + } + + /** Get Source Order Line. + @return Source Order Line */ + public int getSourceOrderLine_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_SourceOrderLine_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.adempiere.core.domains.models.I_C_Order getSourceOrder() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_Order)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_Order.Table_Name) + .getPO(getSourceOrder_ID(), get_TrxName()); } + + /** Set Source Order. + @param SourceOrder_ID Source Order */ + public void setSourceOrder_ID (int SourceOrder_ID) + { + if (SourceOrder_ID < 1) + set_Value (COLUMNNAME_SourceOrder_ID, null); + else + set_Value (COLUMNNAME_SourceOrder_ID, Integer.valueOf(SourceOrder_ID)); + } + + /** Get Source Order. + @return Source Order */ + public int getSourceOrder_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_SourceOrder_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Immutable Universally Unique Identifier. + @param UUID + Immutable Universally Unique Identifier + */ + public void setUUID (String UUID) + { + set_Value (COLUMNNAME_UUID, UUID); + } + + /** Get Immutable Universally Unique Identifier. + @return Immutable Universally Unique Identifier + */ + public String getUUID () + { + return (String)get_Value(COLUMNNAME_UUID); + } + + public org.spin.model.I_WH_Definition getWH_Definition() throws RuntimeException + { + return (org.spin.model.I_WH_Definition)MTable.get(getCtx(), org.spin.model.I_WH_Definition.Table_Name) + .getPO(getWH_Definition_ID(), get_TrxName()); } + + /** Set Withholding . + @param WH_Definition_ID + Withholding Definition is used for define a withholding rule for BP + */ + public void setWH_Definition_ID (int WH_Definition_ID) + { + if (WH_Definition_ID < 1) + set_Value (COLUMNNAME_WH_Definition_ID, null); + else + set_Value (COLUMNNAME_WH_Definition_ID, Integer.valueOf(WH_Definition_ID)); + } + + /** Get Withholding . + @return Withholding Definition is used for define a withholding rule for BP + */ + public int getWH_Definition_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WH_Definition_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + public org.spin.model.I_WH_Setting getWH_Setting() throws RuntimeException + { + return (org.spin.model.I_WH_Setting)MTable.get(getCtx(), org.spin.model.I_WH_Setting.Table_Name) + .getPO(getWH_Setting_ID(), get_TrxName()); } + + /** Set Withholding Setting. + @param WH_Setting_ID + specifies the setting to each applied withholding + */ + public void setWH_Setting_ID (int WH_Setting_ID) + { + if (WH_Setting_ID < 1) + set_Value (COLUMNNAME_WH_Setting_ID, null); + else + set_Value (COLUMNNAME_WH_Setting_ID, Integer.valueOf(WH_Setting_ID)); + } + + /** Get Withholding Setting. + @return specifies the setting to each applied withholding + */ + public int getWH_Setting_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WH_Setting_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Withholding Allocation. + @param WH_Withholding_ID Withholding Allocation */ + public void setWH_Withholding_ID (int WH_Withholding_ID) + { + if (WH_Withholding_ID < 1) + set_ValueNoCheck (COLUMNNAME_WH_Withholding_ID, null); + else + set_ValueNoCheck (COLUMNNAME_WH_Withholding_ID, Integer.valueOf(WH_Withholding_ID)); + } + + /** Get Withholding Allocation. + @return Withholding Allocation */ + public int getWH_Withholding_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WH_Withholding_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Withholding Amt. + @param WithholdingAmt Withholding Amt */ + public void setWithholdingAmt (BigDecimal WithholdingAmt) + { + set_Value (COLUMNNAME_WithholdingAmt, WithholdingAmt); + } + + /** Get Withholding Amt. + @return Withholding Amt */ + public BigDecimal getWithholdingAmt () + { + BigDecimal bd = (BigDecimal)get_Value(COLUMNNAME_WithholdingAmt); + if (bd == null) + return Env.ZERO; + return bd; + } + + public org.adempiere.core.domains.models.I_C_Invoice getWithholdingDeclaration() throws RuntimeException + { + return (org.adempiere.core.domains.models.I_C_Invoice)MTable.get(getCtx(), org.adempiere.core.domains.models.I_C_Invoice.Table_Name) + .getPO(getWithholdingDeclaration_ID(), get_TrxName()); } + + /** Set Withholding Declaration. + @param WithholdingDeclaration_ID + Withholding Declaration reference + */ + public void setWithholdingDeclaration_ID (int WithholdingDeclaration_ID) + { + if (WithholdingDeclaration_ID < 1) + set_Value (COLUMNNAME_WithholdingDeclaration_ID, null); + else + set_Value (COLUMNNAME_WithholdingDeclaration_ID, Integer.valueOf(WithholdingDeclaration_ID)); + } + + /** Get Withholding Declaration. + @return Withholding Declaration reference + */ + public int getWithholdingDeclaration_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_WithholdingDeclaration_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Withholding Rate. + @param WithholdingRate + Withholding Rate applied to Document + */ + public void setWithholdingRate (BigDecimal WithholdingRate) + { + set_Value (COLUMNNAME_WithholdingRate, WithholdingRate); + } + + /** Get Withholding Rate. + @return Withholding Rate applied to Document + */ + public BigDecimal getWithholdingRate () + { + BigDecimal bd = (BigDecimal)get_Value(COLUMNNAME_WithholdingRate); + if (bd == null) + return Env.ZERO; + return bd; + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/process/WithholdingDeclaration.java b/withholding_engine/src/main/java/base/org/spin/process/WithholdingDeclaration.java new file mode 100644 index 0000000000..21aa197a40 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/process/WithholdingDeclaration.java @@ -0,0 +1,258 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.process; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Optional; +import java.util.concurrent.atomic.AtomicReference; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MCurrency; +import org.compiere.model.MInvoice; +import org.compiere.model.MInvoiceLine; +import org.compiere.model.MPriceList; +import org.compiere.model.Query; +import org.compiere.process.SvrProcess; +import org.compiere.util.Env; +import org.spin.model.MWHDefinition; +import org.spin.model.MWHType; +import org.spin.model.MWHWithholding; + +/** Generated Process for (Generate Withholding Declaration) + * @author ADempiere (generated) + * @version Release 3.9.2 + */ +public class WithholdingDeclaration extends WithholdingDeclarationAbstract +{ + private ArrayList m_Declarations = new ArrayList (); + + protected void prepare() { + super.prepare(); + } + + @Override + protected String doIt() throws Exception { + String result; + if (isSelection()) { + getSelectionValues() + .entrySet() + .stream() + .forEach(list -> { + MInvoice invoice= new MInvoice(getCtx(), list.getKey(), get_TrxName()); + addWHDoc(invoice); + }); + result = processWHDoc(); + }else { + StringBuffer whereClause = new StringBuffer(); + ArrayList params = new ArrayList(); + + whereClause.append("AD_Client_ID = ? "); + params.add(getAD_Client_ID()); + + if (getParameterAsInt("AD_Org_ID") > 0) { + whereClause.append(" AND AD_Org_ID = ? "); + params.add(getParameterAsInt("AD_Org_ID")); + } + + if (getParameterAsInt("C_BPartner_ID") > 0) { + whereClause.append(" AND C_BPartner_ID = ? "); + params.add(getParameterAsInt("C_BPartner_ID")); + } + + if (getParameterAsInt("C_Invoice_ID") > 0) { + whereClause.append(" AND SourceInvoice_ID = ? "); + params.add(getParameterAsInt("C_Invoice_ID")); + } + + if (getParameterAsInt("WH_Type_ID") > 0) { + whereClause.append(" AND WH_Type_ID = ? "); + params.add(getParameterAsInt("WH_Type_ID")); + } + + new Query(getCtx(), MInvoice.Table_Name, whereClause.toString(), get_TrxName()) + .setParameters(params) + .list() + .forEach( invoice -> { + addWHDoc((MInvoice) invoice); + }); + result = processWHDoc(); + } + + return result; + } + + private void addWHDoc(MInvoice invoiceWH) { + + MWHWithholding withholding = new Query(getCtx(), MWHWithholding.Table_Name, "C_Invoice_ID = ? AND IsSimulation = 'N' AND IsDeclared = 'N'", get_TrxName()) + .setParameters(invoiceWH.getC_Invoice_ID()) + .first(); + + if (withholding!=null + && withholding.get_ID() > 0) { + + Declaration declaration = m_Declarations.stream() + .filter(dec -> dec.getM_WHType_ID()==withholding.getWH_Setting().getWH_Type_ID()) + .findFirst() + .orElse(null); + BigDecimal amt = (invoiceWH.getGrandTotal(true).compareTo(Env.ZERO)>0 ? invoiceWH.getTotalLines(): invoiceWH.getTotalLines().negate()); + if (declaration==null) { + declaration = new Declaration((MWHType)withholding.getWH_Setting().getWH_Type(),(MWHDefinition)withholding.getWH_Definition(), amt , this, invoiceWH.getC_Currency_ID()); + m_Declarations.add(declaration); + } + else + declaration.addAmt(amt); + + declaration.addInvoice(invoiceWH); + } + } + + /** + * Process Document + */ + private String processWHDoc() { + AtomicReference result = new AtomicReference(); + result.set(""); + m_Declarations.forEach(declaration -> { + declaration.process(); + result.set(result.get() + "\n" + "@DocumentNo@ : "+ declaration.getDocumentNo()); + }); + return result.get(); + } +} + +class Declaration { + + private MWHType m_WHType = null; + private MWHDefinition m_WHDefinition = null; + private BigDecimal m_Amt = Env.ZERO; + private ArrayList m_InvoicesWH = new ArrayList(); + private SvrProcess process = null; + private MInvoice m_Declaration = null; + private int C_Currency_ID = 0; + + public Declaration(MWHType m_WHType, MWHDefinition m_WHDefinition, BigDecimal m_Amt,SvrProcess process, int C_Currency_ID) { + this.m_WHType = m_WHType; + this.m_Amt = m_Amt; + this.process = process; + this.m_WHDefinition = m_WHDefinition; + this.C_Currency_ID = C_Currency_ID; + } + + public MWHType getM_WHType() { + return m_WHType; + } + + public int getM_WHType_ID() { + if (m_WHType!=null) + return m_WHType.get_ID(); + + return 0; + } + + public BigDecimal getM_Amt() { + return m_Amt; + } + + public void addAmt(BigDecimal amt) { + if (amt!=null + && m_Amt!=null) + m_Amt= m_Amt.add(amt); + } + + public void addInvoice(MInvoice invoice) { + m_InvoicesWH.add(invoice); + } + + public void process() { + if (m_Amt!=null + && m_InvoicesWH!=null + && m_InvoicesWH.size() > 0) { + if (m_Amt.compareTo(Env.ZERO) < 0) + GenerateDeclaration(false); + else + GenerateDeclaration(true); + + setDeclaration(); + + } + } + + private void GenerateDeclaration(boolean isCredit) { + m_Declaration = new MInvoice(process.getCtx(), 0, process.get_TrxName()); + m_Declaration.setC_BPartner_ID(m_WHDefinition.getC_BPartner_ID()); + if (isCredit) + m_Declaration.setC_DocTypeTarget_ID(m_WHType.getDeclarationCreditDocType_ID()); + else + m_Declaration.setC_DocTypeTarget_ID(m_WHType.getDeclarationDebitDocType_ID()); + + if (m_Declaration.getC_DocTypeTarget_ID()==0) + throw new AdempiereException("@Invalid@ @" + (isCredit ? MWHType.COLUMNNAME_DeclarationCreditDocType_ID : MWHType.COLUMNNAME_DeclarationDebitDocType_ID) + "@"); + + m_Declaration.setDateInvoiced(process.getParameterAsTimestamp("DateDoc")); + m_Declaration.setDateAcct(process.getParameterAsTimestamp("DateDoc")); + m_Declaration.setIsSOTrx(m_Declaration.getC_DocTypeTarget().isSOTrx()); + + Optional.ofNullable(MPriceList.getDefault(process.getCtx(), + m_Declaration.isSOTrx(), + MCurrency.get(process.getCtx(), C_Currency_ID).getISO_Code())) + .ifPresent(priceList ->{ + m_Declaration.setM_PriceList_ID(priceList.getM_PriceList_ID()); + }); + m_Declaration.saveEx(); + + MInvoiceLine declarationLine = new MInvoiceLine(m_Declaration); + declarationLine.setC_Charge_ID(m_WHDefinition.getC_Charge_ID()); + declarationLine.setQty(Env.ONE); + declarationLine.setPrice(m_Amt.abs()); + declarationLine.saveEx(); + + m_Declaration.processIt(MInvoice.ACTION_Complete); + m_Declaration.saveEx(); + } + + private void setDeclaration() { + for (MInvoice mInvoice : m_InvoicesWH) { + new Query(process.getCtx(), + MWHWithholding.Table_Name, + "C_Invoice_ID = ? ", + process.get_TrxName()) + .setParameters(mInvoice.getC_Invoice_ID()) + .list() + .forEach(wh ->{ + wh.set_ValueOfColumn("WithholdingDeclaration_ID", m_Declaration.getC_Invoice_ID()); + wh.saveEx(); + }); + } + } + @Override + public String toString() { + return "WHType = " + (m_WHType ==null ? "" :m_WHType.toString()) + + "\n Amount = " + m_Amt.toString() + + "\n Invoice = " + m_InvoicesWH.toString(); + } + + public String getDocumentNo() { + if (m_Declaration!=null) + return m_Declaration.getDocumentNo(); + + return ""; + } + +} + diff --git a/withholding_engine/src/main/java/base/org/spin/process/WithholdingDeclarationAbstract.java b/withholding_engine/src/main/java/base/org/spin/process/WithholdingDeclarationAbstract.java new file mode 100644 index 0000000000..64b221ff24 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/process/WithholdingDeclarationAbstract.java @@ -0,0 +1,83 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.process; + +import java.sql.Timestamp; +import org.compiere.process.SvrProcess; + +/** Generated Process for (Generate Withholding Declaration) + * @author ADempiere (generated) + * @version Release 3.9.3 + */ +public abstract class WithholdingDeclarationAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "SBP_WithholdingDeclaration"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Generate Withholding Declaration"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54301; + /** Parameter Name for Document Date */ + public static final String DATEDOC = "DateDoc"; + /** Parameter Name for Currency */ + public static final String C_CURRENCY_ID = "C_Currency_ID"; + /** Parameter Value for Document Date */ + private Timestamp dateDoc; + /** Parameter Value for Currency */ + private int currencyId; + + @Override + protected void prepare() { + dateDoc = getParameterAsTimestamp(DATEDOC); + currencyId = getParameterAsInt(C_CURRENCY_ID); + } + + /** Getter Parameter Value for Document Date */ + protected Timestamp getDateDoc() { + return dateDoc; + } + + /** Setter Parameter Value for Document Date */ + protected void setDateDoc(Timestamp dateDoc) { + this.dateDoc = dateDoc; + } + + /** Getter Parameter Value for Currency */ + protected int getCurrencyId() { + return currencyId; + } + + /** Setter Parameter Value for Currency */ + protected void setCurrencyId(int currencyId) { + this.currencyId = currencyId; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/process/WithholdingGenerate.java b/withholding_engine/src/main/java/base/org/spin/process/WithholdingGenerate.java new file mode 100644 index 0000000000..bfa7ba3728 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/process/WithholdingGenerate.java @@ -0,0 +1,451 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.process; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Optional; +import java.util.concurrent.atomic.AtomicReference; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MConversionRate; +import org.compiere.model.MCurrency; +import org.compiere.model.MInvoice; +import org.compiere.model.MInvoiceLine; +import org.compiere.model.MPriceList; +import org.compiere.model.Query; +import org.compiere.process.SvrProcess; +import org.compiere.util.Env; +import org.compiere.util.Util; +import org.spin.model.MWHDefinition; +import org.spin.model.MWHSetting; +import org.spin.model.MWHWithholding; + +/** + * Withholding Generate process + * @author Yamel Senih, ysenih@erpya.com , http://www.erpya.com + * @contributor Carlos Parada, cParada@erpya.com, http://www.erpya.com + */ +public class WithholdingGenerate extends WithholdingGenerateAbstract { + + /**View Column Currency*/ + private final static String COLUMN_C_Currency_ID = "WH_C_Currency_ID"; + /**View Column Currency To*/ + private final static String COLUMN_C_Currency_ID_To = "CTO_C_Currency_ID_To"; + /**View Column Converted Withholding Amount*/ + private final static String COLUMN_Converted_WithholdingAmt = "WH_Converted_WithholdingAmt"; + + private ArrayList withholdingDocList = new ArrayList (); + protected void prepare() { + super.prepare(); + } + + @Override + protected String doIt() throws Exception { + + if (isSelection()) { + getSelectionValues() + .entrySet() + .stream() + .forEach(list -> { + MWHWithholding withholding = new MWHWithholding(getCtx(), list.getKey(), get_TrxName()); + BigDecimal manualWithholdingAmt = Env.ZERO; + setCurrencyId(Optional.ofNullable((Integer)list.getValue().get(COLUMN_C_Currency_ID)).orElse(Env.ZERO.intValue())); + setCurrencyToId(Optional.ofNullable((Integer)list.getValue().get(COLUMN_C_Currency_ID_To)).orElse(Env.ZERO.intValue())); + if (withholding.isManual()) + manualWithholdingAmt = Optional.ofNullable((BigDecimal)list.getValue().get(COLUMN_Converted_WithholdingAmt)).orElse(Env.ZERO); + + + generateWHDoc(withholding, manualWithholdingAmt); + }); + processWHDoc(); + }else { + StringBuffer whereClause = new StringBuffer(); + ArrayList params = new ArrayList(); + + whereClause.append("AD_Client_ID = ? "); + params.add(getAD_Client_ID()); + + whereClause.append("AND DocStatus IN (?,?) "); + params.add(MWHWithholding.DOCSTATUS_Completed); + params.add(MWHWithholding.DOCSTATUS_Closed); + + if (getOrgId() > 0) { + whereClause.append(" AND AD_Org_ID = ? "); + params.add(getOrgId()); + } + + if (getBPartnerId() > 0) { + whereClause.append(" AND C_BPartner_ID = ? "); + params.add(getBPartnerId()); + } + + if (getInvoiceId() > 0) { + whereClause.append(" AND SourceInvoice_ID = ? "); + params.add(getInvoiceId()); + } + + if (getTypeId() > 0) { + whereClause.append(" AND EXISTS (SELECT 1 FROM WH_Definition whd WHERE whd.WH_Definition_ID = WH_Withholding.WH_Definition_ID AND whd.WH_Type_ID = ?) "); + params.add(getTypeId()); + } + + if (getCurrencyId() > 0) { + whereClause.append(" AND EXISTS (SELECT 1 FROM C_Invoice i WHERE i.C_Invoice_ID = WH_Withholding.SourceInvoice_ID AND i.C_Currency_ID = ?) "); + params.add(getCurrencyId()); + } + + new Query(getCtx(), MWHWithholding.Table_Name, whereClause.toString(), get_TrxName()) + .setParameters(params) + .list() + .forEach( withholding -> { + generateWHDoc((MWHWithholding) withholding, Env.ZERO); + }); + processWHDoc(); + } + + return "@OK@"; + } + + /** + * Generate Withholding Document + * @param withholding + */ + private void generateWHDoc(MWHWithholding withholding, BigDecimal manualWithholdingAmt) { + + if (!withholding.isProcessed() + || withholding.isSimulation()) + return ; + + if (getCurrencyId()==0) + throw new AdempiereException("@NotFound@ @C_Currency_ID@"); + + if (getCurrencyToId()==0) + throw new AdempiereException("@NotFound@ @C_Currency_ID_To@"); + + if (isManual()) { + if (getBPartnerId()==0) + throw new AdempiereException("@NotFound@ @C_BPartner_ID@"); + + if (Util.isEmpty(getDocumentNo())) + throw new AdempiereException("@IsEmpty@ @DocumentNo@"); + } + + if (withholding.getC_Invoice_ID() > 0) { + MInvoice whDoc = MInvoice.get(getCtx(), withholding.getC_Invoice_ID()); + if (whDoc!=null && + (whDoc.getDocStatus().equals(MInvoice.DOCSTATUS_Completed) + || whDoc.getDocStatus().equals(MInvoice.DOCSTATUS_Closed) + || whDoc.getDocStatus().equals(MInvoice.DOCSTATUS_InProgress) + || whDoc.getDocStatus().equals(MInvoice.DOCSTATUS_Invalid))) { + addLog("@DocumentNo@ : " + whDoc.getDocumentNo() + " | @IsGenerated@ | @DocStatus@ : " + whDoc.getDocStatusName()); + return; + } + } + AtomicReference> invoiceTo = new AtomicReference<>(); + AtomicReference> invoiceLineTo = new AtomicReference<>(); + + + AtomicReference Curr_WH_Definition_ID = new AtomicReference(); + AtomicReference Curr_WH_Setting_ID = new AtomicReference(); + AtomicReference Curr_C_BPartner_ID = new AtomicReference(); + AtomicReference Curr_C_DocType_ID = new AtomicReference(); + AtomicReference Curr_C_ConversionType_ID = new AtomicReference(); + + if (withholding.get_ID() > 0 ) { + Curr_WH_Definition_ID.set(withholding.getWH_Definition_ID()); + Curr_WH_Setting_ID.set(withholding.getWH_Setting_ID()); + Curr_C_BPartner_ID.set(withholding.getC_BPartner_ID()); + Curr_C_DocType_ID.set(withholding.getWHDocType()); + Curr_C_ConversionType_ID.set(withholding.getC_ConversionType_ID()); + invoiceTo.set(Optional.empty()); + invoiceLineTo.set(Optional.empty()); + MWHDefinition whDefinition = (MWHDefinition)withholding.getWH_Definition(); + MWHSetting whSetting = (MWHSetting)withholding.getWH_Setting(); + MInvoice invoiceFrom = MInvoice.get(getCtx(), withholding.getSourceInvoice_ID()); + Optional withholldingDoc = Optional.empty(); + + withholldingDoc = withholdingDocList.stream() + .filter(wh ->(wh.getC_BPartner_ID()==Curr_C_BPartner_ID.get() + && wh.getWH_Definition_ID()==Curr_WH_Definition_ID.get() + && wh.getWH_Setting_ID() == Curr_WH_Setting_ID.get()) + && wh.getC_DocType_ID() == Curr_C_DocType_ID.get() + && wh.getC_ConversionType_ID() == Curr_C_ConversionType_ID.get()) + .findFirst(); + + if (!withholldingDoc.isPresent()) + withholldingDoc = Optional.ofNullable(new Withholding(withholding.getWH_Definition_ID(), + withholding.getWH_Setting_ID(), + withholding.getC_BPartner_ID(), + withholding.getWHDocType(), + withholding.getC_ConversionType_ID(), + this)); + + withholldingDoc.ifPresent(whDocument->{ + if (!whDocument.getInvoice().isPresent()) { + MInvoice invoice = new MInvoice(getCtx(), 0, get_TrxName()); + invoiceTo.set(Optional.ofNullable(invoice)); + whDocument.setInvoice(invoice); + }else + invoiceTo.set(whDocument.getInvoice()); + + invoiceTo.get().ifPresent(invoice ->{ + + AtomicReference withholdingAmt = new AtomicReference(Env.ZERO); + + if (invoice.get_ID()==0) { + if (withholding.isManual()) + invoice.setDocumentNo(getDocumentNo()); + + invoice.setAD_Org_ID(withholding.getAD_Org_ID()); + invoice.setC_BPartner_ID(withholding.getC_BPartner_ID()); + invoice.setC_BPartner_Location_ID(withholding.getC_BPartner_Location_ID()); + invoice.setIsSOTrx(withholding.isSOTrx()); + invoice.setDateInvoiced(getDateDoc()); + invoice.setDateAcct(getDateDoc()); + invoice.setC_ConversionType_ID(withholding.getC_ConversionType_ID()); + invoice.setM_PriceList_ID(invoiceFrom.getM_PriceList_ID()); + Optional maybePriceList = Optional + .ofNullable(MPriceList.getDefault(getCtx(), + invoice.isSOTrx(), + MCurrency.get(getCtx(), getCurrencyToId()).getISO_Code())); + maybePriceList.ifPresent(priceList -> invoice.setM_PriceList_ID(priceList.getM_PriceList_ID())); + + int C_DocType_ID = Curr_C_DocType_ID.get(); + if (C_DocType_ID > 0) + invoice.setC_DocTypeTarget_ID(C_DocType_ID); + else + throw new AdempiereException("@NotFound@ @WithholdingDebitDocType_ID@"); + + invoice.setC_DocType_ID(invoice.getC_DocTypeTarget_ID()); + invoice.saveEx(); + } + + if (withholding.isManual() + && Optional.ofNullable(manualWithholdingAmt) + .orElse(Env.ZERO).compareTo(Env.ZERO) != 0) + withholdingAmt.set(manualWithholdingAmt); + else { + if (getCurrencyId() != getCurrencyToId()) { + withholdingAmt.set(Optional.ofNullable(MConversionRate.convert(invoice.getCtx(), + Optional.ofNullable(withholding.getWithholdingAmt()).orElse(Env.ZERO), + getCurrencyId(), + getCurrencyToId(), + withholding.getDateAcct(), + withholding.getC_ConversionType_ID(), + withholding.getAD_Client_ID(), + withholding.getAD_Org_ID())).orElse(Env.ZERO)); + }else + withholdingAmt.set(withholding.getWithholdingAmt()); + } + + invoiceLineTo.set(Optional.ofNullable(new MInvoiceLine(invoice))); + invoiceLineTo.get().ifPresent(invoiceLine ->{ + if (whSetting.getC_Charge_ID()> 0) + invoiceLine.setC_Charge_ID(whSetting.getC_Charge_ID()); + else if (whDefinition.getC_Charge_ID()> 0) + invoiceLine.setC_Charge_ID(whDefinition.getC_Charge_ID()); + else + new AdempiereException("@NotFound@ @C_Charge_ID@"); + + invoiceLine.setQty(Env.ONE); + invoiceLine.setPrice(Optional.ofNullable(withholdingAmt.get()).orElse(Env.ZERO)); + invoiceLine.saveEx(); + + withholding.setC_Invoice_ID(invoiceLine.getC_Invoice_ID()); + withholding.setC_InvoiceLine_ID(invoiceLine.getC_InvoiceLine_ID()); + withholding.saveEx(); + + }); + + if (whDocument.getInvoice()==null) + whDocument.setInvoice(invoice); + + whDocument.addWithHolding(withholding); + + }); + + withholdingDocList.add(whDocument); + }); + + } + } + /** + * Process Document + */ + private void processWHDoc() { + withholdingDocList.stream().forEach( withholding -> { + withholding.process(); + }); + } +} + +/** + * + * @author Carlos Parada, cParada@erpya.com, http://www.erpya.com + * + */ +class Withholding{ + private int WH_Definition_ID = 0; + private int WH_Setting_ID = 0; + private int C_BPartner_ID = 0; + private int C_DocType_ID = 0; + private int C_ConversionType_ID = 0; + private MInvoice invoice = null; + private MInvoiceLine invoiceLine = null; + private ArrayList withholding = new ArrayList(); + private SvrProcess process = null; + + /** + * Constructor + * @param WH_Definition_ID + * @param WH_Setting_ID + * @param C_BPartner_ID + * @param process + */ + public Withholding(int WH_Definition_ID, int WH_Setting_ID, int C_BPartner_ID, int C_DocType_ID, int C_ConversionType_ID, SvrProcess process) { + this.WH_Definition_ID = WH_Definition_ID; + this.WH_Setting_ID = WH_Setting_ID; + this.C_BPartner_ID = C_BPartner_ID; + this.C_DocType_ID= C_DocType_ID; + this.C_ConversionType_ID = C_ConversionType_ID; + this.process = process; + } + + /** + * Get Withholpding Definition + * @return + */ + public int getWH_Definition_ID() { + return WH_Definition_ID; + } + + /** + * Get Withholding Setting + * @return + */ + public int getWH_Setting_ID() { + return WH_Setting_ID; + } + + /** + * Get Business Partner + * @return + */ + public int getC_BPartner_ID() { + return C_BPartner_ID; + } + + /** + * Get Invoice + * @return + */ + public Optional getInvoice() { + return Optional.ofNullable(invoice); + } + + /** + * Get WithHolding + * @return + */ + public ArrayList getWithholding() { + return withholding; + } + + /** + * Set Invoice + * @param invoice + */ + public void setInvoice(MInvoice invoice) { + this.invoice = invoice; + } + + /** + * Get Invoice Line + * @return + */ + public MInvoiceLine getInvoiceLine() { + return invoiceLine; + } + + /** + * Set Invoice + * @param invoiceLine + */ + public void setInvoiceLine(MInvoiceLine invoiceLine) { + this.invoiceLine = invoiceLine; + } + + /** + * Add Withholding + * @param withholding + */ + public void addWithHolding(MWHWithholding withholding) { + this.withholding.add(withholding); + } + + /** + * Process Document + */ + public void process() { + if (invoice!=null + && !invoice.isProcessed()) { + invoice.processIt(MInvoice.DOCACTION_Complete); + invoice.saveEx(); + if (process!=null) + process.addLog("@DocumentNo@ : " + invoice.getDocumentNo()); + } + } + + /** + * Get Document Type Identifier + * @return + * @return int + */ + public int getC_DocType_ID() { + return C_DocType_ID; + } + + /** + * Set Document Type Identifier + * @param c_DocType_ID + * @return void + */ + public void setC_DocType_ID(int c_DocType_ID) { + C_DocType_ID = c_DocType_ID; + } + + /** + * Get Conversion Type Identifier + * @return + * @return int + */ + public int getC_ConversionType_ID() { + return C_ConversionType_ID; + } + + /** + * Set Conversion Type Identifier + * @param c_ConversionType_ID + * @return void + */ + public void setC_ConversionType_ID(int c_ConversionType_ID) { + C_ConversionType_ID = c_ConversionType_ID; + } + +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/process/WithholdingGenerateAbstract.java b/withholding_engine/src/main/java/base/org/spin/process/WithholdingGenerateAbstract.java new file mode 100644 index 0000000000..aef0a5ab9b --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/process/WithholdingGenerateAbstract.java @@ -0,0 +1,203 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.process; + +import java.sql.Timestamp; +import org.compiere.process.SvrProcess; + +/** Generated Process for (Withholding Generate) + * @author ADempiere (generated) + * @version Release 3.9.3 + */ +public abstract class WithholdingGenerateAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "WithholdingGenerate"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Withholding Generate"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54243; + /** Parameter Name for Organization */ + public static final String AD_ORG_ID = "AD_Org_ID"; + /** Parameter Name for Business Partner */ + public static final String C_BPARTNER_ID = "C_BPartner_ID"; + /** Parameter Name for Currency */ + public static final String C_CURRENCY_ID = "C_Currency_ID"; + /** Parameter Name for Invoice */ + public static final String C_INVOICE_ID = "C_Invoice_ID"; + /** Parameter Name for Account Date */ + public static final String DATEACCT = "DateAcct"; + /** Parameter Name for Withholding Type */ + public static final String WH_TYPE_ID = "WH_Type_ID"; + /** Parameter Name for Document Date */ + public static final String DATEDOC = "DateDoc"; + /** Parameter Name for Currency To */ + public static final String C_CURRENCY_ID_TO = "C_Currency_ID_To"; + /** Parameter Name for Manual */ + public static final String ISMANUAL = "IsManual"; + /** Parameter Name for Document No */ + public static final String DOCUMENTNO = "DocumentNo"; + /** Parameter Value for Organization */ + private int orgId; + /** Parameter Value for Business Partner */ + private int bPartnerId; + /** Parameter Value for Currency */ + private int currencyId; + /** Parameter Value for Invoice */ + private int invoiceId; + /** Parameter Value for Account Date */ + private Timestamp dateAcct; + /** Parameter Value for Withholding Type */ + private int typeId; + /** Parameter Value for Document Date */ + private Timestamp dateDoc; + /** Parameter Value for Currency To */ + private int currencyToId; + /** Parameter Value for Manual */ + private boolean isManual; + /** Parameter Value for Document No */ + private String documentNo; + + @Override + protected void prepare() { + orgId = getParameterAsInt(AD_ORG_ID); + bPartnerId = getParameterAsInt(C_BPARTNER_ID); + currencyId = getParameterAsInt(C_CURRENCY_ID); + invoiceId = getParameterAsInt(C_INVOICE_ID); + dateAcct = getParameterAsTimestamp(DATEACCT); + typeId = getParameterAsInt(WH_TYPE_ID); + dateDoc = getParameterAsTimestamp(DATEDOC); + currencyToId = getParameterAsInt(C_CURRENCY_ID_TO); + isManual = getParameterAsBoolean(ISMANUAL); + documentNo = getParameterAsString(DOCUMENTNO); + } + + /** Getter Parameter Value for Organization */ + protected int getOrgId() { + return orgId; + } + + /** Setter Parameter Value for Organization */ + protected void setOrgId(int orgId) { + this.orgId = orgId; + } + + /** Getter Parameter Value for Business Partner */ + protected int getBPartnerId() { + return bPartnerId; + } + + /** Setter Parameter Value for Business Partner */ + protected void setBPartnerId(int bPartnerId) { + this.bPartnerId = bPartnerId; + } + + /** Getter Parameter Value for Currency */ + protected int getCurrencyId() { + return currencyId; + } + + /** Setter Parameter Value for Currency */ + protected void setCurrencyId(int currencyId) { + this.currencyId = currencyId; + } + + /** Getter Parameter Value for Invoice */ + protected int getInvoiceId() { + return invoiceId; + } + + /** Setter Parameter Value for Invoice */ + protected void setInvoiceId(int invoiceId) { + this.invoiceId = invoiceId; + } + + /** Getter Parameter Value for Account Date */ + protected Timestamp getDateAcct() { + return dateAcct; + } + + /** Setter Parameter Value for Account Date */ + protected void setDateAcct(Timestamp dateAcct) { + this.dateAcct = dateAcct; + } + + /** Getter Parameter Value for Withholding Type */ + protected int getTypeId() { + return typeId; + } + + /** Setter Parameter Value for Withholding Type */ + protected void setTypeId(int typeId) { + this.typeId = typeId; + } + + /** Getter Parameter Value for Document Date */ + protected Timestamp getDateDoc() { + return dateDoc; + } + + /** Setter Parameter Value for Document Date */ + protected void setDateDoc(Timestamp dateDoc) { + this.dateDoc = dateDoc; + } + + /** Getter Parameter Value for Currency To */ + protected int getCurrencyToId() { + return currencyToId; + } + + /** Setter Parameter Value for Currency To */ + protected void setCurrencyToId(int currencyToId) { + this.currencyToId = currencyToId; + } + + /** Getter Parameter Value for Manual */ + protected boolean isManual() { + return isManual; + } + + /** Setter Parameter Value for Manual */ + protected void setIsManual(boolean isManual) { + this.isManual = isManual; + } + + /** Getter Parameter Value for Document No */ + protected String getDocumentNo() { + return documentNo; + } + + /** Setter Parameter Value for Document No */ + protected void setDocumentNo(String documentNo) { + this.documentNo = documentNo; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/process/WithholdingProcess.java b/withholding_engine/src/main/java/base/org/spin/process/WithholdingProcess.java new file mode 100644 index 0000000000..aae8289c29 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/process/WithholdingProcess.java @@ -0,0 +1,160 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2016 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Carlos Parada www.erpya.com * + *****************************************************************************/ +package org.spin.process; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.HashMap; +import java.util.concurrent.atomic.AtomicReference; +import org.adempiere.model.MView; +import org.compiere.model.MInvoice; +import org.compiere.model.MOrder; +import org.compiere.model.PO; +import org.compiere.process.ProcessInfoParameter; +import org.compiere.util.DB; +import org.spin.model.MWHDefinition; +import org.spin.model.MWHSetting; +import org.spin.model.MWHType; +import org.spin.util.WithholdingEngine; + + +/** Generated Process for (Withholding Process) + * @author ADempiere (generated) + * @version Release 3.9.2 + */ +public class WithholdingProcess extends WithholdingProcessAbstract +{ + + private MWHSetting mSetting = null; + private MWHDefinition mDefinition = null; + private HashMap params = new HashMap<>(); + + @Override + protected void prepare() + { + super.prepare(); + } + + @Override + protected String doIt() throws Exception + { + String result = ""; + + //Save parameters + for (ProcessInfoParameter param : getParameter()) + params.put(param.getParameterName(), param.getParameter()); + + //Process withholding + processWithholding(); + + return result; + } + + /** + * Process Withholding + * @return + */ + private String processWithholding() { + + MWHType mType = null; + AtomicReference result = new AtomicReference<>(); + result.set(""); + + if (getTypeId()!=0) + mType = new MWHType(getCtx(), getTypeId(), get_TrxName()); + if (getSettingId()!=0) + mSetting = new MWHSetting(getCtx(), getSettingId(), get_TrxName()); + if (getDefinitionId()!=0) + mDefinition = new MWHDefinition(getCtx(), getDefinitionId(), get_TrxName()); + + if (getRecord_ID()!=0 + && getTable_ID()!=0) + result.set(processDocument(mType, getTable_ID(), getRecord_ID())); + else { + if (mType!=null + && mType.get_ID() > 0) + processWithHoldingType(mType); + else { + MWHType.getAll(getCtx(), true, get_TrxName()) + .forEach(type ->{ + result.set(processWithHoldingType(type)); + }); + } + } + + return result.get(); + } + + /** + * Process by Withholding Type + * @param type + * @return + */ + private String processWithHoldingType(MWHType type) { + String result = ""; + if (type !=null + && type.getAD_View_ID()!=0) { + String sql = MView.getSQLFromView(type.getAD_View_ID(), get_TrxName()); + PreparedStatement st = null; + ResultSet rs = null; + try { + st = DB.prepareStatement(sql, get_TrxName()); + rs = st.executeQuery(); + while (rs.next()) { + Integer AD_Table_ID = rs.getInt("AD_Table_ID"); + Integer Record_ID = rs.getInt("Record_ID"); + result = processDocument(type, AD_Table_ID, Record_ID); + } + }catch (SQLException e) { + result = e.getMessage(); + } + finally{ + DB.close(rs, st); + st = null; rs = null; + } + } + return result; + } + + /** + * Process Document + * @param type + * @param AD_Table_ID + * @param Record_ID + * @return + */ + private String processDocument(MWHType type, int AD_Table_ID, int Record_ID) { + String result = ""; + PO document = null; + if (AD_Table_ID != 0 + && Record_ID!= 0) { + + if (AD_Table_ID==MInvoice.Table_ID) + document = new MInvoice(getCtx(), Record_ID, get_TrxName()); + else if (AD_Table_ID==MOrder.Table_ID) + document = new MOrder(getCtx(), Record_ID, get_TrxName()); + else + return ""; + + result = WithholdingEngine.get().fireProcess(document, type, mSetting, mDefinition, params); + } + + return result; + } + +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/process/WithholdingProcessAbstract.java b/withholding_engine/src/main/java/base/org/spin/process/WithholdingProcessAbstract.java new file mode 100644 index 0000000000..93d58b1fa0 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/process/WithholdingProcessAbstract.java @@ -0,0 +1,97 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.process; + +import org.compiere.process.SvrProcess; + +/** Generated Process for (Withholding Process) + * @author ADempiere (generated) + * @version Release 3.9.2 + */ +public abstract class WithholdingProcessAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "WithHoldingProcess"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Withholding Process"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54293; + /** Parameter Name for Withholding Type */ + public static final String WH_TYPE_ID = "WH_Type_ID"; + /** Parameter Name for Withholding Setting */ + public static final String WH_SETTING_ID = "WH_Setting_ID"; + /** Parameter Name for Withholding */ + public static final String WH_DEFINITION_ID = "WH_Definition_ID"; + /** Parameter Value for Withholding Type */ + private int typeId; + /** Parameter Value for Withholding Setting */ + private int settingId; + /** Parameter Value for Withholding */ + private int definitionId; + + @Override + protected void prepare() { + typeId = getParameterAsInt(WH_TYPE_ID); + settingId = getParameterAsInt(WH_SETTING_ID); + definitionId = getParameterAsInt(WH_DEFINITION_ID); + } + + /** Getter Parameter Value for Withholding Type */ + protected int getTypeId() { + return typeId; + } + + /** Setter Parameter Value for Withholding Type */ + protected void setTypeId(int typeId) { + this.typeId = typeId; + } + + /** Getter Parameter Value for Withholding Setting */ + protected int getSettingId() { + return settingId; + } + + /** Setter Parameter Value for Withholding Setting */ + protected void setSettingId(int settingId) { + this.settingId = settingId; + } + + /** Getter Parameter Value for Withholding */ + protected int getDefinitionId() { + return definitionId; + } + + /** Setter Parameter Value for Withholding */ + protected void setDefinitionId(int definitionId) { + this.definitionId = definitionId; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/process/WithholdingReProcess.java b/withholding_engine/src/main/java/base/org/spin/process/WithholdingReProcess.java new file mode 100644 index 0000000000..aacccba41c --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/process/WithholdingReProcess.java @@ -0,0 +1,58 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.process; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MTable; +import org.compiere.model.ModelValidator; +import org.compiere.model.PO; +import org.compiere.process.DocAction; +import org.compiere.util.Util; +import org.spin.util.WithholdingEngine; + +/** + * Re-Process a Document for Withholding + * @author Yamel Senih, ysenih@erpya.com , http://www.erpya.com + */ +public class WithholdingReProcess extends WithholdingReProcessAbstract { + @Override + protected void prepare() { + super.prepare(); + if(getRecord_ID() == 0) { + throw new AdempiereException("@Record_ID@ @NotFound@"); + } + } + + @Override + protected String doIt() throws Exception { + PO entity = MTable.get(getCtx(), getTable_ID()).getPO(getRecord_ID(), get_TrxName()); + if(!DocAction.class.isAssignableFrom(entity.getClass())) { + throw new AdempiereException("@RecordIsNotADocument@"); + } + DocAction document = (DocAction) entity; + if(!document.getDocStatus().equals(DocAction.STATUS_Completed)) { + throw new AdempiereException("@InvoiceCreateDocNotCompleted@"); + } + String error = WithholdingEngine.get().fireDocValidate(entity, ModelValidator.TIMING_AFTER_COMPLETE); + if(Util.isEmpty(error)) { + return "Ok"; + } + // return + return error; + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/process/WithholdingReProcessAbstract.java b/withholding_engine/src/main/java/base/org/spin/process/WithholdingReProcessAbstract.java new file mode 100644 index 0000000000..2d8b31cbda --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/process/WithholdingReProcessAbstract.java @@ -0,0 +1,52 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.process; + +import org.compiere.process.SvrProcess; + +/** Generated Process for (Withholding Re-Process) + * @author ADempiere (generated) + * @version Release 3.9.2 + */ +public abstract class WithholdingReProcessAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "WithholdingReProcess"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Withholding Re-Process"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54261; + + @Override + protected void prepare() { + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/process/WithholdingSend.java b/withholding_engine/src/main/java/base/org/spin/process/WithholdingSend.java new file mode 100644 index 0000000000..87a7a91953 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/process/WithholdingSend.java @@ -0,0 +1,235 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net or http://www.adempiere.net/license.html * + *****************************************************************************/ + +package org.spin.process; + +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Optional; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MClient; +import org.compiere.model.MInvoice; +import org.compiere.model.MMailText; +import org.compiere.model.MUser; +import org.compiere.model.Query; +import org.compiere.print.MPrintFormat; +import org.compiere.print.ReportEngine; +import org.compiere.print.ServerReportCtl; +import org.compiere.util.Env; +import org.compiere.util.Util; +import org.spin.queue.notification.DefaultNotifier; +import org.spin.queue.util.QueueLoader; + + +/** Generated Process for (Withholding Send) + * @author ADempiere (generated) + * @version Release 3.9.3 + */ +public class WithholdingSend extends WithholdingSendAbstract { + + private AtomicInteger sends = new AtomicInteger(); + private boolean sendToQueue = false; + + @Override + protected String doIt() throws Exception { + if (getMailTextId() == 0) + throw new AdempiereException("@Invalid@ @R_MailTex_ID@"); + + sendToQueue = isSendDocumentToQueue(); + + if (!isSelection()) { + List params = new ArrayList<>(); + String whereClause = "DocStatus IN (?,?) "; + params.add(MInvoice.DOCSTATUS_Completed); + params.add(MInvoice.DOCSTATUS_Closed); + + whereClause += "AND EXISTS(SELECT 1 FROM " + + "WH_Withholding wh " + + "INNER JOIN WH_Setting whs ON (wh.WH_Setting_ID = whs.WH_Setting_ID) " + + "WHERE wh.C_Invoice_ID = C_Invoice.C_Invoice_ID "; + + if (getTypeId()!=0) { + whereClause += "AND whs.WH_Type_ID = ? "; + params.add(getTypeId()); + } + + whereClause += ") "; + + if (getBPartnerId()!=0) { + whereClause += "AND C_BPartner_ID = ? "; + params.add(getBPartnerId()); + } + + if (!getIsSOTrx().equals("")) { + whereClause += "AND IsSOTrx = ? "; + params.add(getIsSOTrx()); + } + + whereClause += "AND DateInvoiced >= ? "; + if (getDateDoc()!=null) + params.add(getDateDoc()); + else + params.add(Env.getContextAsDate(getCtx(), "@#Date@")); + + whereClause += "AND DateInvoiced <= ? "; + if (getDateDocTo()!=null) + params.add(getDateDocTo()); + else + params.add(Env.getContextAsDate(getCtx(), "@#Date@")); + // + new Query(getCtx(), MInvoice.Table_Name, whereClause, get_TrxName()) + .setParameters(params) + .list().forEach(invoice -> sendInvoiceEmail(invoice.get_ID(), getMailTextId())); + } else { + getSelectionKeys().forEach(invoiceID -> sendInvoiceEmail(invoiceID, getMailTextId())); + } + // + return "@EMail@ @Sent@ " + sends.get(); + } + /** + * Send Withholding Document + * @param recordId + * @param mailTextId + * @return + */ + private void sendInvoiceEmail(int recordId, int mailTextId) { + MInvoice invoice = new MInvoice(getCtx(), recordId, get_TrxName()); + AtomicReference recipient = new AtomicReference(); + MUser sender = MUser.get(getCtx(), getAD_User_ID()); + + if (invoice.getAD_User_ID() > 0) + recipient.set((MUser) invoice.getAD_User()); + + // Get from default account + if (recipient.get() == null) { + Optional maybeUser = Arrays.asList(MUser.getOfBPartner(getCtx(), invoice.getC_BPartner_ID(), get_TrxName())) + .stream() + .filter(user -> !Util.isEmpty(user.getNotificationType()) && (user.getNotificationType().equals(MUser.NOTIFICATIONTYPE_EMail) + || user.getNotificationType().equals(MUser.NOTIFICATIONTYPE_EMailPlusNotice))) + .filter(user -> !Util.isEmpty(user.getEMail()) && user.getC_BPartner_Location_ID() == invoice.getC_BPartner_Location_ID()) + .findFirst(); + if(maybeUser.isPresent()) { + recipient.set(maybeUser.get()); + } else { + maybeUser = Arrays.asList(MUser.getOfBPartner(getCtx(), invoice.getC_BPartner_ID(), get_TrxName())) + .stream() + .filter(user -> !Util.isEmpty(user.getNotificationType()) && (user.getNotificationType().equals(MUser.NOTIFICATIONTYPE_EMail) + || user.getNotificationType().equals(MUser.NOTIFICATIONTYPE_EMailPlusNotice))) + .filter(user -> !Util.isEmpty(user.getEMail())) + .findFirst(); + if(maybeUser.isPresent()) { + recipient.set(maybeUser.get()); + } + } + } + File attachment = getPDF(invoice); + if (attachment == null) + return; + + if (!sendToQueue) { + // + Optional.ofNullable(recipient.get()).ifPresent(toUser -> { + // + MClient client = MClient.get(getCtx(), getAD_Client_ID()); + MMailText template = getTemplate(invoice, mailTextId); + if (client.sendEMail(sender, recipient.get(), template.getMailHeader(), template.getMailText(true), attachment,template.isHtml())) { + addLog("@EMail@ @Sent@ @to@ " + recipient.get().getName()); + sends.incrementAndGet(); + } + }); + // Other + if(!Optional.ofNullable(recipient.get()).isPresent()) { + addLog("@NotFound@ @AD_User_ID@ -> @C_BPartner_ID@ " + invoice.getC_BPartner().getName() + " @DocumentNo@ " + invoice.getDocumentNo()); + } + }else { + MMailText template = getTemplate(invoice, mailTextId); + // Get instance for notifier + DefaultNotifier notifier = (DefaultNotifier) QueueLoader.getInstance().getQueueManager(DefaultNotifier.QUEUETYPE_DefaultNotifier) + .withContext(getCtx()) + .withTransactionName(get_TrxName()); + // Send notification to queue + notifier + .clearMessage() + .withApplicationType(DefaultNotifier.DefaultNotificationType_UserDefined) + .withUserId(sender.get_ID()) + .withText(template.getMailText(true)) + .withDescription(template.getMailHeader()) + .withEntity(invoice); + + if (recipient.get() != null) + notifier.addRecipient(recipient.get().getAD_User_ID()); + else { + addLog(invoice.getC_Invoice_ID(), null, null, "@RequestActionEMailNoTo@"); + return; + } + // Attachment + notifier.addAttachment(attachment); + // Add to queue + notifier.addToQueue(); + addLog (invoice.getC_Invoice_ID(), null, null, "@MessageAddedToQueue@"); + // + sends.incrementAndGet(); + } + } + + /** + * Get Mail Template + * @param invoice + * @param mailTextId + * @return + * @return MMailText + */ + private MMailText getTemplate (MInvoice invoice, int mailTextId) { + MMailText template = new MMailText(getCtx(), mailTextId, get_TrxName()); + template.setPO(invoice); + template.setUser(getAD_User_ID()); + template.setBPartner(invoice.getC_BPartner_ID()); + + return template; + } + + /** + * Get PDF from Print Format + * @param invoice + * @return + * @return File + */ + private File getPDF(MInvoice invoice) { + ReportEngine reportEngine = ReportEngine.get(getCtx(), ReportEngine.INVOICE, invoice.get_ID()); + MPrintFormat printFormat = reportEngine.getPrintFormat(); + File attachment = null; + if (printFormat.getJasperProcess_ID() > 0) { + if (ServerReportCtl.runJasperProcess(invoice.get_ID(), reportEngine, true, null, getProcessInfo())) { + attachment = getProcessInfo().getPDFReport(); + } + }else + attachment = reportEngine.getPDF(); + + // + if(attachment == null) { + addLog(invoice.getC_Invoice_ID(), null, null, "@FilePDF@ @NotFound@"); + return null; + } + + return attachment; + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/process/WithholdingSendAbstract.java b/withholding_engine/src/main/java/base/org/spin/process/WithholdingSendAbstract.java new file mode 100644 index 0000000000..1e6021f6b1 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/process/WithholdingSendAbstract.java @@ -0,0 +1,157 @@ +/****************************************************************************** + * Product: ADempiere ERP & CRM Smart Business Solution * + * Copyright (C) 2006-2017 ADempiere Foundation, All Rights Reserved. * + * This program is free software, you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * or (at your option) any later version. * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY, without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program, if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * or via info@adempiere.net * + * or https://github.com/adempiere/adempiere/blob/develop/license.html * + *****************************************************************************/ + +package org.spin.process; + +import java.sql.Timestamp; +import org.compiere.process.SvrProcess; + +/** Generated Process for (Withholding Send) + * @author ADempiere (generated) + * @version Release 3.9.4 + */ +public abstract class WithholdingSendAbstract extends SvrProcess { + /** Process Value */ + private static final String VALUE_FOR_PROCESS = "WithholdingSend (Process)"; + /** Process Name */ + private static final String NAME_FOR_PROCESS = "Withholding Send"; + /** Process Id */ + private static final int ID_FOR_PROCESS = 54362; + /** Parameter Name for Business Partner */ + public static final String C_BPARTNER_ID = "C_BPartner_ID"; + /** Parameter Name for Withholding Type */ + public static final String WH_TYPE_ID = "WH_Type_ID"; + /** Parameter Name for Sales Transaction */ + public static final String ISSOTRX = "IsSOTrx"; + /** Parameter Name for Mail Template */ + public static final String R_MAILTEXT_ID = "R_MailText_ID"; + /** Parameter Name for Document Date */ + public static final String DATEDOC = "DateDoc"; + /** Parameter Name for Send Withholding to Notification Queue */ + public static final String WH_SENDDOCUMENTTOQUEUE = "WH_SendDocumentToQueue"; + /** Parameter Value for Business Partner */ + private int bPartnerId; + /** Parameter Value for Withholding Type */ + private int typeId; + /** Parameter Value for Sales Transaction */ + private String isSOTrx; + /** Parameter Value for Mail Template */ + private int mailTextId; + /** Parameter Value for Document Date */ + private Timestamp dateDoc; + /** Parameter Value for Document Date(To) */ + private Timestamp dateDocTo; + /** Parameter Value for Send Withholding to Notification Queue */ + private boolean isSendDocumentToQueue; + + @Override + protected void prepare() { + bPartnerId = getParameterAsInt(C_BPARTNER_ID); + typeId = getParameterAsInt(WH_TYPE_ID); + isSOTrx = getParameterAsString(ISSOTRX); + mailTextId = getParameterAsInt(R_MAILTEXT_ID); + dateDoc = getParameterAsTimestamp(DATEDOC); + dateDocTo = getParameterToAsTimestamp(DATEDOC); + isSendDocumentToQueue = getParameterAsBoolean(WH_SENDDOCUMENTTOQUEUE); + } + + /** Getter Parameter Value for Business Partner */ + protected int getBPartnerId() { + return bPartnerId; + } + + /** Setter Parameter Value for Business Partner */ + protected void setBPartnerId(int bPartnerId) { + this.bPartnerId = bPartnerId; + } + + /** Getter Parameter Value for Withholding Type */ + protected int getTypeId() { + return typeId; + } + + /** Setter Parameter Value for Withholding Type */ + protected void setTypeId(int typeId) { + this.typeId = typeId; + } + + /** Getter Parameter Value for Sales Transaction */ + protected String getIsSOTrx() { + return isSOTrx; + } + + /** Setter Parameter Value for Sales Transaction */ + protected void setIsSOTrx(String isSOTrx) { + this.isSOTrx = isSOTrx; + } + + /** Getter Parameter Value for Mail Template */ + protected int getMailTextId() { + return mailTextId; + } + + /** Setter Parameter Value for Mail Template */ + protected void setMailTextId(int mailTextId) { + this.mailTextId = mailTextId; + } + + /** Getter Parameter Value for Document Date */ + protected Timestamp getDateDoc() { + return dateDoc; + } + + /** Setter Parameter Value for Document Date */ + protected void setDateDoc(Timestamp dateDoc) { + this.dateDoc = dateDoc; + } + + /** Getter Parameter Value for Document Date(To) */ + protected Timestamp getDateDocTo() { + return dateDocTo; + } + + /** Setter Parameter Value for Document Date(To) */ + protected void setDateDocTo(Timestamp dateDocTo) { + this.dateDocTo = dateDocTo; + } + + /** Getter Parameter Value for Send Withholding to Notification Queue */ + protected boolean isSendDocumentToQueue() { + return isSendDocumentToQueue; + } + + /** Setter Parameter Value for Send Withholding to Notification Queue */ + protected void setSendDocumentToQueue(boolean isSendDocumentToQueue) { + this.isSendDocumentToQueue = isSendDocumentToQueue; + } + + /** Getter Parameter Value for Process ID */ + public static final int getProcessId() { + return ID_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Value */ + public static final String getProcessValue() { + return VALUE_FOR_PROCESS; + } + + /** Getter Parameter Value for Process Name */ + public static final String getProcessName() { + return NAME_FOR_PROCESS; + } +} \ No newline at end of file diff --git a/withholding_engine/src/main/java/base/org/spin/util/AbstractWithholdingSetting.java b/withholding_engine/src/main/java/base/org/spin/util/AbstractWithholdingSetting.java new file mode 100644 index 0000000000..bc6db60c02 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/util/AbstractWithholdingSetting.java @@ -0,0 +1,480 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 or later of the * + * GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2014 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.util; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.util.HashMap; +import java.util.Map.Entry; +import java.util.Optional; +import java.util.Properties; + +import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MInvoice; +import org.compiere.model.MOrder; +import org.compiere.model.PO; +import org.compiere.util.CLogger; +import org.compiere.util.Env; +import org.compiere.util.Msg; +import org.compiere.util.Util; +import org.spin.model.MWHDefinition; +import org.spin.model.MWHLog; +import org.spin.model.MWHSetting; +import org.spin.model.MWHWithholding; + +/** + * Abstract class for handle all withholding document + * @author Yamel Senih, ysenih@erpya.com , http://www.erpya.com + */ +public abstract class AbstractWithholdingSetting { + + + public AbstractWithholdingSetting(MWHSetting setting) { + this.setting = setting; + this.context = setting.getCtx(); + this.baseAmount = Env.ZERO; + this.withholdingRate = Env.ZERO; + this.withholdingAmount = Env.ZERO; + } + + /** Setting */ + private MWHSetting setting; + /** Withholding */ + private MWHDefinition withholdingDefinition; + /** Value Parameters */ + private HashMap parameters = new HashMap(); + /** Return Value */ + private HashMap returnValues = new HashMap(); + /** Context */ + private Properties context; + /** Transaction Name */ + private String transactionName; + /** Process Message */ + private StringBuffer processLog = new StringBuffer(); + /** Process Description */ + private StringBuffer processDescription = new StringBuffer(); + /** Base Amount */ + private BigDecimal baseAmount; + /** Withholding Amount */ + private BigDecimal withholdingAmount; + /** Withholding Rate */ + private BigDecimal withholdingRate; + /** Document */ + private PO document; + /** Logger */ + protected CLogger log = CLogger.getCLogger (getClass()); + /** + * Get Context + * @return + */ + public Properties getContext() { + return context; + } + + /** + * Set context + * @param context + */ + private void setContext(Properties context) { + this.context = context; + } + + /** + * Set document + * @param document + */ + public void setDocument(PO document) { + this.document = document; + setTransactionName(document.get_TrxName()); + setContext(document.getCtx()); + clearValues(); + } + + /** + * Get Document + * @return + */ + public PO getDocument() { + return document; + } + + /** + * Set Transaction Name + * @param transactionName + */ + public void setTransactionName(String transactionName) { + this.transactionName = transactionName; + } + + /** + * Get Transaction Name for this process + * @return + */ + public String getTransactionName() { + return transactionName; + } + + /** + * Add Message for document + * @param message + */ + protected void addLog(String message) { + if(processLog.length() > 0) { + processLog.append(Env.NL); + } + processLog.append("- ").append(message); + } + + /** + * Get Process Message + * @return + */ + public String getProcessLog() { + if(processLog.length() > 0) { + return processLog.toString(); + } + // Default nothing + return null; + } + + /** + * Add description for document + * @param description + */ + protected void addDescription(String description) { + if(processDescription.length() > 0) { + processDescription.append(Env.NL); + } + processDescription.append(description); + } + + /** + * Get Process Message + * @return + */ + public String getProcessDescription() { + if(processDescription.length() > 0) { + return processDescription.toString(); + } + // Default nothing + return null; + } + + /** + * Set Withholding Definition + * @param withholdingDefinition + */ + public void setWithholdingDefinition(MWHDefinition withholdingDefinition) { + this.withholdingDefinition = withholdingDefinition; + } + + /** + * Get Functional Setting Applicability + * @return + */ + public MWHDefinition getDefinition() { + return withholdingDefinition; + } + + /** + * Get Functional Setting + * @return + */ + public MWHSetting getSetting() { + return setting; + } + + /** + * Set Parameter Value + * @param key + * @param value + */ + public void setParameter(String key, Object value) { + parameters.put(key, value); + } + + /** + * Set from Parameters hash + * @param parameters + */ + public void setParameters(HashMap parameters) { + for(Entry entry : parameters.entrySet()) { + this.parameters.put(entry.getKey(), entry.getValue()); + } + } + + /** + * Get a Parameter value from key + * @param key + * @return + */ + public Object getParameter(String key) { + return parameters.get(key); + } + + /** + * Get Parameter as Integer + * @param key + * @return + */ + public int getParameterAsInt(String key) { + Object parameter = getParameter(key); + if(parameter != null + && parameter instanceof Integer) { + return ((Integer) parameter).intValue(); + } + // Default + return 0; + } + + /** + * Get Parameter as BigDecimal + * @param key + * @return + */ + public BigDecimal getParameterAsBigDecimal(String key) { + Object parameter = getParameter(key); + if(parameter != null + && parameter instanceof BigDecimal) { + return ((BigDecimal) parameter); + } + // Default + return Env.ZERO; + } + + /** + * Set Parameter Value + * @param key + * @param value + */ + public void setReturnValue(String key, Object value) { + returnValues.put(key, value); + } + + /** + * Get a Parameter value from key + * @param key + * @return + */ + public Object getReturnValue(String key) { + return returnValues.get(key); + } + + /** + * Get All return values + * @return + */ + public HashMap getReturnValues() { + return returnValues; + } + + /** + * Get Calculated Withholding Amount + * @return + */ + public BigDecimal getWithholdingAmount() { + return withholdingAmount; + } + + /** + * Set Withholding Amount + * @param withholdingAmount + */ + public void setWithholdingAmount(BigDecimal withholdingAmount) { + this.withholdingAmount = withholdingAmount; + } + + /** + * Get Calculated Withholding Rate + * @return + */ + public BigDecimal getWithholdingRate() { + return getWithholdingRate(false); + } + + /** + * Return rate + * @param converted: Apply (withholdingRate / 100) + * @return + */ + public BigDecimal getWithholdingRate(boolean converted) { + if(converted) { + return withholdingRate.divide(Env.ONEHUNDRED); + } + return withholdingRate; + } + + /** + * Set Withholding Rate + * @param withholdingRate + */ + public void setWithholdingRate(BigDecimal withholdingRate) { + this.withholdingRate = withholdingRate; + } + + /** + * Add Amount for Withholding + * @param withholdingAmount + */ + public void addWithholdingAmount(BigDecimal withholdingAmount) { + this.withholdingAmount = this.withholdingAmount.add(withholdingAmount); + } + + /** + * Get Base Amount for calculation + * @return + */ + public BigDecimal getBaseAmount() { + return baseAmount; + } + + /** + * Base Amount for calculate withholding + * @param baseAmount + */ + public void setBaseAmount(BigDecimal baseAmount) { + this.baseAmount = baseAmount; + } + + /** + * Add Base Amount + * @param baseAmount + */ + public void addBaseAmount(BigDecimal baseAmount) { + this.baseAmount = this.baseAmount.add(baseAmount); + } + + /** + * Validate if the current document is valid for process + * @return + */ + public abstract boolean isValid(); + + /** + * Run Process + * @return + */ + public abstract String run(); + + /** + * Create Withholding and clear values + */ + protected void saveResult() { + try { + if(getWithholdingAmount() != null + && getWithholdingAmount().compareTo(Env.ZERO) > 0) { + createWithholding(); + } else { + createLog(); + } + } catch(Exception e) { + throw e; + } finally { + // Clear Values + clearValues(); + } + } + + /** + * Create Allocation for processed setting + * @param clearValues + */ + private void createWithholding() { + MWHWithholding withholding = new MWHWithholding(getContext(), 0, getTransactionName()); + withholding.setDateDoc(new Timestamp(System.currentTimeMillis())); + withholding.setA_Base_Amount(getBaseAmount()); + withholding.setWithholdingAmt(getWithholdingAmount()); + withholding.setWithholdingRate(getWithholdingRate()); + withholding.setWH_Definition_ID(getDefinition().getWH_Definition_ID()); + withholding.setWH_Setting_ID(getSetting().getWH_Setting_ID()); + withholding.setC_DocType_ID(); + + Optional mayBeSourceDocument = Optional.ofNullable(document); + + mayBeSourceDocument.ifPresent(sourceDocument -> { + if (sourceDocument instanceof MInvoice) + withholding.setSourceInvoice_ID(sourceDocument.get_ID()); + if (sourceDocument instanceof MOrder) + withholding.setSourceOrder_ID(sourceDocument.get_ID()); + + withholding.setC_BPartner_ID(sourceDocument.get_ValueAsInt(MWHWithholding.COLUMNNAME_C_BPartner_ID)); + }); + + // Description + if(!Util.isEmpty(getProcessDescription())) { + withholding.setDescription(Msg.parseTranslation(getContext(), getProcessDescription())); + } + // Add additional references + // Note that not exist validation for types + getReturnValues().entrySet().forEach(value -> { + if(withholding.get_ColumnIndex(value.getKey()) > 0) { + if(value.getValue() != null) { + withholding.set_ValueOfColumn(value.getKey(), value.getValue()); + } + } + }); + // Save + withholding.setDocStatus(MWHWithholding.DOCSTATUS_Drafted); + withholding.saveEx(); + // Complete + if(withholding.processIt(MWHWithholding.ACTION_Complete)) + withholding.saveEx(); + else + throw new AdempiereException(withholding.getProcessMsg()); + + } + + /** + * Clear all values + */ + private void clearValues() { + baseAmount = Env.ZERO; + withholdingRate = Env.ZERO; + withholdingAmount = Env.ZERO; + returnValues = new HashMap(); + processLog = new StringBuffer(); + processDescription = new StringBuffer(); + } + + /** + * Create Event Log + * @param clearValues + */ + private void createLog() { + if(Util.isEmpty(getProcessLog())) { + return; + } + MWHLog log = new MWHLog(getContext(), 0, getTransactionName()); + log.setWH_Definition_ID(getDefinition().getWH_Definition_ID()); + log.setWH_Setting_ID(getSetting().getWH_Setting_ID()); + // Description + log.setComments(Msg.parseTranslation(getContext(), getProcessLog())); + // Add additional references + // Note that not exist validation for types + getReturnValues().entrySet().forEach(value -> { + if(log.get_ColumnIndex(value.getKey()) >= 0) { + if(value.getValue() != null) { + log.set_ValueOfColumn(value.getKey(), value.getValue()); + } + } + }); + // Save + log.saveEx(); + } + +} // PaymentExport ???? WTF diff --git a/withholding_engine/src/main/java/base/org/spin/util/GenericWithholdingSetting.java b/withholding_engine/src/main/java/base/org/spin/util/GenericWithholdingSetting.java new file mode 100644 index 0000000000..3b77ed122f --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/util/GenericWithholdingSetting.java @@ -0,0 +1,42 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2014 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.util; + +import org.spin.model.MWHSetting; + +/** + * Withholding Management Generic class + * + * @author Yamel Senih, ysenih@erpya.com , http://www.erpya.com + */ +public class GenericWithholdingSetting extends AbstractWithholdingSetting { + + public GenericWithholdingSetting(MWHSetting setting) { + super(setting); + } + + @Override + public String run() { + System.out.println("Document: " + getDocument()); + return null; + } + + @Override + public boolean isValid() { + return true; + } +} diff --git a/withholding_engine/src/main/java/base/org/spin/util/WithholdingEngine.java b/withholding_engine/src/main/java/base/org/spin/util/WithholdingEngine.java new file mode 100644 index 0000000000..f427b3b6c2 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/util/WithholdingEngine.java @@ -0,0 +1,313 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2016 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.util; + +import java.util.Comparator; +import java.util.HashMap; +import java.util.Map.Entry; + +import org.adempiere.exceptions.AdempiereException; +import org.adempiere.core.domains.models.I_C_DocType; +import org.adempiere.core.domains.models.I_C_Invoice; +import org.compiere.model.MDocType; +import org.compiere.model.ModelValidator; +import org.compiere.model.PO; +import org.compiere.process.DocAction; +import org.compiere.util.Env; +import org.compiere.util.Util; +import org.spin.model.MWHDefinition; +import org.spin.model.MWHSetting; +import org.spin.model.MWHType; + +/** + * Withholding Management Class for Setting Engine + * + * @author Yamel Senih, ysenih@erpya.com , http://www.erpya.com + */ +public class WithholdingEngine { + + private WithholdingEngine() { + + } + + /** Engine Singleton */ + private static WithholdingEngine settingEngine = null; + private HashMap returnValues; + private StringBuffer errorMessage = new StringBuffer(); + private HashMap processLog; + + /** + * Get Singleton + * @return modelValidatorEngine + */ + public synchronized static WithholdingEngine get() { + if (settingEngine == null) + settingEngine = new WithholdingEngine(); + return settingEngine; + } // get + + /** + * Get return Values + * @return + */ + public HashMap getReturnValues() { + return returnValues; + } + + /** + * Get Error Message + * @return + */ + public String getErrorMessage() { + return errorMessage.toString(); + } + + /** + * Fire Document Validation. + * Call docValidate method of added validators + * @param document persistent objects + * @param documentTiming see ModelValidator.TIMING_ constants + * @return error message or null + */ + public String fireDocValidate(PO document, int documentTiming, int documentTypeId) { + if (document == null + || documentTypeId <= 0) { + return null; + } + // Get Document Type + MDocType documentType = MDocType.get(document.getCtx(), documentTypeId); + if(documentType == null) { + return null; + } + // flush return values + returnValues = new HashMap(); + processLog = new HashMap(); + errorMessage = new StringBuffer(); + // Apply Listener + MWHDefinition.getFromDocumentType(Env.getCtx(), documentTypeId, document.getAD_Org_ID()) + .forEach(withholding -> processWithholding(withholding, document, ModelValidator.documentEventValidators[documentTiming])); + // default + return errorMessage.toString(); + } + + /** + * Fire for document and get document type from PO object + * @param document + * @param documentTiming + * @return + */ + public String fireDocValidate(PO document, int documentTiming) { + if(document == null) { + return null; + } + // Validate for Document Type Target + int documentTypeId = document.get_ValueAsInt(I_C_Invoice.COLUMNNAME_C_DocTypeTarget_ID); + if(documentTypeId <= 0) { + documentTypeId = document.get_ValueAsInt(I_C_DocType.COLUMNNAME_C_DocType_ID); + } + return fireDocValidate(document, documentTiming, documentTypeId); + } + + /** + * Fire Model Change. + * Call modelChange method of added validators + * @param document persistent objects + * @param changeType ModelValidator.TYPE_* + * @return error message or NULL for no veto + */ + public String fireModelChange(PO document, int changeType, int documentTypeId) { + // flush return values + returnValues = new HashMap(); + processLog = new HashMap(); + errorMessage = new StringBuffer(); + // Get Document Type + if(DocAction.class.isAssignableFrom(document.getClass()) + || documentTypeId > 0) { + MDocType documentType = MDocType.get(document.getCtx(), documentTypeId); + if(documentType == null) { + return null; + } + // Apply Listener + MWHDefinition.getFromDocumentType(Env.getCtx(), documentTypeId, document.getAD_Org_ID()) + .forEach(withholding -> processWithholding(withholding, document, ModelValidator.tableEventValidators[changeType])); + } else { + MWHDefinition.getFromTable(Env.getCtx(), document.get_TableName()) + .forEach(withholding -> processWithholding(withholding, document, ModelValidator.tableEventValidators[changeType])); + } + // default + return errorMessage.toString(); + } + /** + * Process Withholding Event Model Validation Document + * @param withholdingDefinition + * @param document + * @param eventModelValidator + */ + private void processWithholding(MWHDefinition withholdingDefinition, PO document, String eventModelValidator) { + processWithholding(withholdingDefinition, document, eventModelValidator, null, false); + } + /** + * Process withholding + * @param withholdingDefinition + * @param po + * @param docTiming + */ + private void processWithholding(MWHDefinition withholdingDefinition, PO document, String eventModelValidator, HashMap parameters, boolean eventProcess) { + if (!eventProcess) { + withholdingDefinition.getSettingList(((PO)document).get_TableName(), eventModelValidator) + .stream() + .sorted(Comparator.comparing(MWHSetting::getSeqNo)) + .forEach(setting -> { + processWithholding(setting, withholdingDefinition, document, eventModelValidator); + }); + }else { + withholdingDefinition.getSettingList(eventModelValidator) + .stream() + .sorted(Comparator.comparing(MWHSetting::getSeqNo)) + .forEach(setting -> { + processWithholding(setting, withholdingDefinition, document, eventModelValidator, parameters); + }); + } + } + + /** + * Process Withholding + * @param setting + * @param withholdingDefinition + * @param document + * @param eventModelValidator + */ + private void processWithholding(MWHSetting setting,MWHDefinition withholdingDefinition, PO document, String eventModelValidator) { + processWithholding(setting, withholdingDefinition, document, eventModelValidator, null); + } + + /** + * Process Withholding + * @param setting + * @param withholdingDefinition + * @param document + * @param eventModelValidator + */ + private void processWithholding(MWHSetting setting,MWHDefinition withholdingDefinition, PO document, String eventModelValidator, HashMap parameters) { + try { + AbstractWithholdingSetting settingRunningImplementation = setting.getSettingInstance(); + // Validate Null Value + if(settingRunningImplementation == null) { + throw new AdempiereException("@WH_Setting_ID@ @WithholdingClassName@ @NotFound@"); + } + if (parameters !=null) + settingRunningImplementation.setParameters(parameters); + // Set default values + settingRunningImplementation.setWithholdingDefinition(withholdingDefinition); + settingRunningImplementation.setDocument(document); + // Verify if document is valid + if(settingRunningImplementation.isValid()) { + // Run It + String runMessage = settingRunningImplementation.run(); + if(!Util.isEmpty(runMessage)) { + // Add new line + if(errorMessage.length() > 0) { + errorMessage.append(Env.NL); + } + errorMessage.append(runMessage); + } + // Copy Return Value + for(Entry entry : settingRunningImplementation.getReturnValues().entrySet()) { + returnValues.put(entry.getKey(), entry.getValue()); + } + // Validate amount + settingRunningImplementation.saveResult(); + } + // Add message + if(!Util.isEmpty(settingRunningImplementation.getProcessLog())) { + processLog.put(setting.getWH_Setting_ID() + "|" + document.get_ID(), settingRunningImplementation.getProcessLog()); + settingRunningImplementation.saveResult(); + } + } catch(Exception e) { + errorMessage.append(e); + } + } + + /** + * Process Withholding Event Type Process + * @param document + * @return + */ + public String fireProcess(PO document, HashMap parameters) { + return fireProcess(document, null, null, null, parameters); + } + + /** + * Process Withholding Event Type Process + * @param document + * @param type + * @return + */ + public String fireProcess(PO document, MWHType type, HashMap parameters) { + return fireProcess(document, type, null, null, parameters); + } + + /** + * Process Withholding Event Type Process + * @param document + * @param type + * @param setting + * @return + */ + public String fireProcess(PO document ,MWHType type, MWHSetting setting, HashMap parameters) { + return fireProcess(document, type, setting, null, parameters); + } + + /** + * Process Withholding Event Type Process + * @param document + * @param type + * @param setting + * @param definition + * @return + */ + public String fireProcess(PO document ,MWHType type, MWHSetting setting, MWHDefinition definition, HashMap parameters) { + + if (document == null) + return ""; + + // Validate for Document Type Target + int documentTypeId = ((PO)document).get_ValueAsInt(I_C_Invoice.COLUMNNAME_C_DocTypeTarget_ID); + if(documentTypeId <= 0) { + documentTypeId = ((PO)document).get_ValueAsInt(I_C_DocType.COLUMNNAME_C_DocType_ID); + } + + // flush return values + returnValues = new HashMap(); + processLog = new HashMap(); + errorMessage = new StringBuffer(); + MWHDefinition.getFromDocumentType(Env.getCtx(), documentTypeId, document.getAD_Org_ID()) + .stream() + .filter(whDef -> ((type!=null && type.get_ID()==whDef.getWH_Type_ID()) || type ==null) + && ((definition!=null && definition.get_ID()==whDef.get_ID()) || definition ==null)) + .forEach(whDef ->{ + if (setting != null + && setting.getWH_Type_ID() == whDef.getWH_Type_ID() + && setting.getEventType().equals(MWHSetting.EVENTTYPE_Process)) + processWithholding(setting, whDef, document, MWHSetting.EVENTTYPE_Process, parameters); + else if (setting == null) + processWithholding(whDef, document, MWHSetting.EVENTTYPE_Process, parameters, true); + }); + + return errorMessage.toString(); + } +} diff --git a/withholding_engine/src/main/java/base/org/spin/withholding/setup/Deploy.java b/withholding_engine/src/main/java/base/org/spin/withholding/setup/Deploy.java new file mode 100644 index 0000000000..4dc27e4fd6 --- /dev/null +++ b/withholding_engine/src/main/java/base/org/spin/withholding/setup/Deploy.java @@ -0,0 +1,71 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * Copyright (C) 2003-2015 E.R.P. Consultores y Asociados, C.A. * + * All Rights Reserved. * + * Contributor(s): Yamel Senih www.erpya.com * + *****************************************************************************/ +package org.spin.withholding.setup; + +import java.util.Properties; + +import org.compiere.model.Query; +import org.adempiere.core.domains.models.X_AD_ModelValidator; +import org.spin.model.Withholding; +import org.spin.util.ISetupDefinition; + +/** + * Testing class for setup + * @author Yamel Senih, ysenih@erpya.com, ERPCyA http://www.erpya.com + */ +public class Deploy implements ISetupDefinition { + + private static final String SETUP_DESCRIPTION = "(*Created from Setup Automatically*)"; + private static final String SETUP_UUID = "(*AutomaticSetup*)"; + + @Override + public String doIt(Properties context, String transactionName) { + // Add Model Validator + createModelValidator(context, transactionName); + // financial management + return "@AD_SetupDefinition_ID@ @Ok@"; + } + + /** + * Create Model Vaidator + * @param context + * @param transactionName + * @return + */ + private X_AD_ModelValidator createModelValidator(Properties context, String transactionName) { + X_AD_ModelValidator modelValidator = new Query(context, X_AD_ModelValidator.Table_Name, X_AD_ModelValidator.COLUMNNAME_ModelValidationClass + " = ?", transactionName) + .setParameters(Withholding.class.getName()) + .setClient_ID() + .first(); + // Validate + if(modelValidator != null + && modelValidator.getAD_ModelValidator_ID() > 0) { + return modelValidator; + } + // + modelValidator = new X_AD_ModelValidator(context, 0, transactionName); + modelValidator.setName("Withholding Engine"); + modelValidator.setEntityType("WHH"); + modelValidator.setDescription(SETUP_DESCRIPTION); + modelValidator.setSeqNo(200); + modelValidator.setModelValidationClass(Withholding.class.getName()); + modelValidator.setUUID(SETUP_UUID); + modelValidator.setIsDirectLoad(true); + modelValidator.saveEx(); + return modelValidator; + } +} diff --git a/withholding_engine/xml/migration/001_Add_WHH_EntityType.xml b/withholding_engine/xml/migration/001_Add_WHH_EntityType.xml new file mode 100644 index 0000000000..e4cc304175 --- /dev/null +++ b/withholding_engine/xml/migration/001_Add_WHH_EntityType.xml @@ -0,0 +1,28 @@ + + + + Add Withholding Engine contribution + + + false + 2019-06-10 22:27:03.24 + true + WHH + 50051 + 0 + 0 + 2019-06-10 22:27:03.24 + 100 + A Spin Contribution + + org.spin.model + + Contributed from E.R.P. Consultores y Asociados, C.A. +http://erpya.com/ + 100 + Withholding Engine + 9739074e-8bf4-11e9-a0ac-83c152c46cc6 + + + + diff --git a/withholding_engine/xml/migration/002_Add_Withholding_Definition.xml b/withholding_engine/xml/migration/002_Add_Withholding_Definition.xml new file mode 100644 index 0000000000..c038a436ae --- /dev/null +++ b/withholding_engine/xml/migration/002_Add_Withholding_Definition.xml @@ -0,0 +1,16974 @@ + + + + + + true + + Withholding + 2019-06-12 10:01:59.998 + 2019-06-12 10:01:59.998 + + true + false + false + true + Define Withholding + + 0 + 54465 + 0 + + WHH + + + 100 + + 100 + + acc70718-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:02:00.38 + 2019-06-12 10:02:00.38 + 100 + Manejo de Retenciones + Manejo de Retenciones a Socio de Negocio + false + 0 + 0 + 100 + 54465 + es_MX + fa3c549a-8c7b-11e9-9580-f775b1d64ea7 + + + + + 3893abd8-8c6f-11e9-87e5-8701ed80268b + true + 2019-06-12 10:02:00.643 + 2019-06-12 10:02:00.643 + 0 + 0 + 54465 + 0 + 100 + 100 + 1 + 10 + + + + + 2019-06-12 10:02:00.916 + false + 0 + 100 + The Withholding window define a behavior for all withholding that will be generated from it + true + false + 100 + 53671 + WHH + 0 + 0 + + + 0 + false + Withholding Definition + This window will be used for define distints winthholding that will be generated for AP Invoices or entered from AR Invoices + 3d81c366-28a9-11e9-b235-6c0b840adaed + M + true + 2019-06-12 10:02:00.916 + + + + + + 2019-06-12 10:02:01.196 + La ventana Definición de Retenciones determina el comportamiento de una retención de IVA, Impuesto Sobre la Renta y demás + 2019-06-12 10:02:01.196 + true + es_MX + En esta ventana podrá definir las distintas retenciones que serán aplicadas a documentos por pagar o cargadas desde documentos por cobrar + Definición de Retenciones + false + 0 + 0 + 100 + 100 + 53671 + e26ed7c4-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:02:01.442 + 2019-06-12 10:02:01.442 + Withholding + false + + true + Withholding Definition is used for define a withholding rule for BP + N + WH_Definition + 3 + Withholding Definition is used for define a withholding rule for BP + L + false + 0 + false + false + N + false + true + false + true + 0 + 0 + 54645 + WHH + + 53671 + 100 + 0 + 100 + + 0eb9731a-295a-11e9-b56f-6c0b840adaed + + + + + 2019-06-12 10:02:01.769 + 2019-06-12 10:02:01.769 + false + true + Retención + 0 + 0 + es_MX + 54645 + 100 + 100 + e09ada74-82ef-11e9-bc49-0242ac140004 + + + + + + Client/Tenant for this installation. + true + + 2019-06-12 10:02:02.208 + + 2019-06-12 10:02:02.208 + 93559 + false + Client + true + false + @#AD_Client_ID@ + + false + false + N + false + + + + 1 + + AD_Client_ID + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54645 + 100 + 102 + + 129 + 10 + 19 + 100 + a44f5cac-82ef-11e9-bc49-0242ac140004 + + + + + + 100 + 100 + 2019-06-12 10:02:02.756 + true + 2019-06-12 10:02:02.756 + 93559 + false + Compañía + 0 + 0 + es_MX + a511e894-82ef-11e9-bc49-0242ac140004 + + + + + Organizational entity within client + true + + 2019-06-12 10:02:03.086 + + 2019-06-12 10:02:03.086 + + 93560 + false + Organization + true + false + @#AD_Org_ID@ + + false + false + N + false + + + + 1 + + AD_Org_ID + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54645 + 100 + 113 + + 104 + 10 + 19 + 100 + a44f5de2-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:03.546 + true + 2019-06-12 10:02:03.546 + 93560 + false + Organización. + 0 + 0 + 100 + 100 + es_MX + a511e916-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 138 + e0019cf6-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 123 + e26dd356-82ef-11e9-bc49-0242ac140004 + + + + + false + es_MX + 291 + e09a2458-82ef-11e9-bc49-0242ac140004 + + + + + 2902 + false + es_MX + a500b38a-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 30 + e0007ba0-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 187 + a566a28a-82ef-11e9-bc49-0242ac140004 + + + + + 2893 + false + es_MX + a50998b0-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 847 + a5600eb6-82ef-11e9-bc49-0242ac140004 + + + + + false + Business Partner to whom payment is made + true + + 2019-06-12 10:02:06.826 + + 2019-06-12 10:02:06.826 + + 93561 + false + Beneficiary + false + false + + + false + false + N + false + + + + 0 + + C_BPartner_ID + The Beneficiary indicates the Business Partner to whom payment will be made. This field is only displayed if the Paid to Third Party checkbox is selected. + true + + false + N + + true + false + true + 0 + WHH + 0 + 0 + + 54645 + 100 + 187 + 138 + + 10 + 18 + 100 + a43804c2-2899-11e9-a451-6c0b840adaed + + + + + + 2019-06-12 10:02:07.339 + true + 2019-06-12 10:02:07.339 + 93561 + false + Beneficiario + 0 + 0 + 100 + 100 + es_MX + a511d566-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 200 + e000a012-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 161 + e26d9d82-82ef-11e9-bc49-0242ac140004 + + + + + false + es_MX + 313 + e099dffc-82ef-11e9-bc49-0242ac140004 + + + + + 3341 + false + es_MX + a50129aa-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 968 + a55816b6-82ef-11e9-bc49-0242ac140004 + + + + + 3333 + false + es_MX + a50aa50c-82ef-11e9-bc49-0242ac140004 + + + + + Additional document charges + true + + 2019-06-12 10:02:09.829 + + 2019-06-12 10:02:09.829 + + 93562 + false + Charge + false + false + + + false + true + N + false + + + + 0 + + C_Charge_ID + The Charge indicates a type of Charge (Handling, Shipping, Restocking) + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54645 + 100 + 968 + 200 + 52029 + 10 + 18 + 100 + a44f65f8-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:10.293 + true + 2019-06-12 10:02:10.293 + 93562 + false + Cargo + 0 + 0 + 100 + 100 + es_MX + a511e9a2-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 196 + a566a4c4-82ef-11e9-bc49-0242ac140004 + + + + + Document type or rules + true + + 2019-06-12 10:02:10.769 + + 2019-06-12 10:02:10.769 + + 93563 + false + Document Type + true + false + + + false + true + N + false + + + + 0 + + C_DocType_ID + The Document Type determines document sequence and processing rules + true + + false + N + + true + false + false + false + 0 + WHH + 0 + 0 + + 54645 + 100 + 196 + + 173 + 10 + 19 + 100 + dd0b688c-8c6e-11e9-b152-9357491af3b3 + + + + + + 2019-06-12 10:02:11.179 + true + 2019-06-12 10:02:11.179 + 93563 + false + Tipo de Documento + 0 + 0 + 100 + 100 + es_MX + dd0ee89a-8c6e-11e9-b154-5b6920ae91a9 + + + + + Date this record was created + true + + 2019-06-12 10:02:11.586 + + 2019-06-12 10:02:11.586 + + 93564 + false + Created + true + false + + + false + false + N + false + + + + 1 + + Created + The Created field indicates the date that this record was created. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54645 + 100 + 245 + + + 0 + 16 + 100 + a44f5fea-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:12.181 + true + 2019-06-12 10:02:12.181 + 93564 + false + Creado. + 0 + 0 + 100 + 100 + es_MX + a511e4e8-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 108 + e26ec5c2-82ef-11e9-bc49-0242ac140004 + + + + + 114 + e09ab350-82ef-11e9-bc49-0242ac140004 + false + es_MX + + + + + 213 + false + es_MX + a4dfe196-82ef-11e9-bc49-0242ac140004 + + + + + 212 + false + es_MX + a4ec5020-82ef-11e9-bc49-0242ac140004 + + + + + User who created this records + true + + 2019-06-12 10:02:13.873 + + 2019-06-12 10:02:13.873 + + 93565 + false + Created By + true + false + + + false + false + N + false + + + + 1 + + CreatedBy + The Created By field indicates the user who created this record. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54645 + 100 + 246 + 110 + + 10 + 18 + 100 + a44f61e8-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:14.237 + true + 2019-06-12 10:02:14.237 + 93565 + false + Creado Por. + 0 + 0 + 100 + 100 + es_MX + a511e5f6-82ef-11e9-bc49-0242ac140004 + + + + + Optional short description of the record + true + + 2019-06-12 10:02:14.627 + + 2019-06-12 10:02:14.627 + + 93566 + false + Description + false + false + + + false + true + N + false + + + + 0 + + Description + A description is limited to 255 characters. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54645 + 100 + 275 + + + 255 + 14 + 100 + a44f64f4-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:14.972 + true + 2019-06-12 10:02:14.972 + 93566 + false + Descripción + 0 + 0 + 100 + 100 + es_MX + a511d462-82ef-11e9-bc49-0242ac140004 + + + + + The record is active in the system + true + + 2019-06-12 10:02:15.347 + + 2019-06-12 10:02:15.347 + + 93567 + false + Active + true + false + Y + + false + false + N + false + + + + 1 + + IsActive + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54645 + 100 + 348 + + + 1 + 20 + 100 + a44f5ef0-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:15.732 + true + 2019-06-12 10:02:15.732 + 93567 + false + Activo + 0 + 0 + 100 + 100 + es_MX + a511d674-82ef-11e9-bc49-0242ac140004 + + + + + Alphanumeric identifier of the entity + true + + 2019-06-12 10:02:15.994 + + 2019-06-12 10:02:15.994 + + 93568 + true + Name + true + false + + + false + true + N + false + + + + 0 + + Name + The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length. + true + + false + N + + true + false + false + true + 10 + WHH + 0 + 0 + + 54645 + 100 + 469 + + + 30 + 10 + 100 + 4283655e-289a-11e9-a468-6c0b840adaed + + + + + + 2019-06-12 10:02:16.476 + true + 2019-06-12 10:02:16.476 + 93568 + false + Nombre + 0 + 0 + 100 + 100 + es_MX + a511d3d6-82ef-11e9-bc49-0242ac140004 + + + + + Date this record was updated + true + + 2019-06-12 10:02:16.775 + + 2019-06-12 10:02:16.775 + + 93569 + false + Updated + true + false + + + false + false + N + false + + + + 1 + + Updated + The Updated field indicates the date that this record was updated. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54645 + 100 + 607 + + + 0 + 16 + 100 + a44f60ee-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:17.194 + true + 2019-06-12 10:02:17.194 + 93569 + false + Actualizado. + 0 + 0 + 100 + 100 + es_MX + a511e56a-82ef-11e9-bc49-0242ac140004 + + + + + User who updated this records + true + + 2019-06-12 10:02:17.58 + + 2019-06-12 10:02:17.58 + + 93570 + false + Updated By + true + false + + + false + false + N + false + + + + 1 + + UpdatedBy + The Updated By field indicates the user who updated this record. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54645 + 100 + 608 + 110 + + 10 + 18 + 100 + a44f62ec-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:17.939 + true + 2019-06-12 10:02:17.939 + 93570 + false + Actualizado por. + 0 + 0 + 100 + 100 + es_MX + a511e678-82ef-11e9-bc49-0242ac140004 + + + + + Immutable Universally Unique Identifier + true + + 2019-06-12 10:02:18.289 + + 2019-06-12 10:02:18.289 + + 93571 + false + Immutable Universally Unique Identifier + false + false + + + false + false + N + false + + + + 1 + + UUID + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54645 + 100 + 59595 + + + 36 + 10 + 100 + a44f63e6-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:18.72 + true + 2019-06-12 10:02:18.72 + 93571 + false + Immutable Universally Unique Identifier + 0 + 0 + 100 + 100 + es_MX + a511d2c8-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:02:18.96 + true + Withholding + Withholding Definition is used for define a withholding rule for BP + 2019-06-12 10:02:18.96 + WH_Definition_ID + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + + + Withholding + + + 10 + 19 + 61055 + 0 + 0 + WHH + 100 + + 100 + 90719ffc-28b2-11e9-896b-6c0b840adaed + + + + + 2019-06-12 10:02:19.211 + + true + 2019-06-12 10:02:19.211 + es_MX + + La retención es la cantidad que se retiene de un sueldo, salario u otra percepción para el pago de un impuesto, de deudas en virtud de embargo, es decir, te retienen ahora para asegurar el pago del impuesto. + Retención + Conservación de parte de una cantidad que se debe pagar para garantizar el cumplimiento de alguna obligación, generalmente de tipo fiscal. + false + Retención + + + 0 + 0 + 100 + 100 + 61055 + a4475e7c-28b2-11e9-8984-6c0b840adaed + + + + + Withholding Definition is used for define a withholding rule for BP + true + + 2019-06-12 10:02:19.486 + + 2019-06-12 10:02:19.486 + + 93572 + false + Withholding + true + false + + + false + false + N + true + + + + 0 + + WH_Definition_ID + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + false + + false + N + + true + false + false + false + 0 + WHH + 0 + 0 + + 54645 + 100 + 61055 + + + 10 + 13 + 100 + 907e1426-28b2-11e9-8974-6c0b840adaed + + + + + + 2019-06-12 10:02:20.044 + true + 2019-06-12 10:02:20.044 + 93572 + false + Retención + 0 + 0 + 100 + 100 + es_MX + a511d354-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:02:20.272 + true + Withholding Type + Indicates the types of national tax withholdings + 2019-06-12 10:02:20.272 + WH_Type_ID + In the window the types of existing national tax withholdings are indicated. + + + Withholding Type + + + 10 + 19 + 61056 + 0 + 0 + WHH + 100 + + 100 + d2c8db2c-2899-11e9-a455-6c0b840adaed + + + + + 2019-06-12 10:02:20.686 + + true + 2019-06-12 10:02:20.686 + es_MX + + + Tipo de Retención + Identifica las Diversas Retenciones Existentes + false + Tipo de Retención + + + 0 + 0 + 100 + 100 + 61056 + 9171f812-28bb-11e9-bbe8-6c0b840adaed + + + + + Indicates the types of national tax withholdings + true + + 2019-06-12 10:02:20.99 + + 2019-06-12 10:02:20.99 + + 93573 + false + Withholding Type + true + false + + + false + false + N + false + + + + 0 + + WH_Type_ID + In the window the types of existing national tax withholdings are indicated. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54645 + 100 + 61056 + + + 10 + 19 + 100 + d2d28b68-2899-11e9-a458-6c0b840adaed + + + + + + 2019-06-12 10:02:21.38 + true + 2019-06-12 10:02:21.38 + 93573 + false + Tipo de Retención + 0 + 0 + 100 + 100 + es_MX + a511d700-82ef-11e9-bc49-0242ac140004 + + + + + true + Table WH_Definition + 2019-06-12 10:02:21.666 + 2019-06-12 10:02:21.666 + false + + true + false + + + + + WH_Definition + 0 + 0 + 55104 + 1 + 1000000 + true + 50000 + 1000016 + 100 + 100 + e04d6136-82ef-11e9-bc49-0242ac140004 + + + + + This tab will be used for define distints winthholding that will be generated for AP Invoices or entered from AR Invoices + + 0 + 54811 + true + Withholding Definition + false + false + false + 2019-06-12 10:02:21.933 + 2019-06-12 10:02:21.933 + + true + false + + The Withholding tab define a behavior for all withholding that will be generated from it + false + false + + false + N + + + true + 53671 + 10 + + 100 + 100 + WHH + + 0 + 54645 + + + + 0 + + 6acf4c20-288c-11e9-a7a3-6c0b840adaed + + + + + + La pestaña Definición de Retenciones determina el comportamiento de una retención de IVA, Impuesto Sobre la Renta y demás + 2019-06-12 10:02:22.286 + true + 2019-06-12 10:02:22.286 + Definición de Retenciones + + En esta pestaña podrá definir las distintas retenciones que serán aplicadas a documentos por pagar o cargadas desde documentos por cobrar + false + 0 + 0 + 54811 + 100 + 100 + es_MX + e0aadb86-82ef-11e9-bc49-0242ac140004 + + + + + Immutable Universally Unique Identifier + false + 2019-06-12 10:02:22.571 + false + + 2019-06-12 10:02:22.571 + + true + + false + false + Immutable Universally Unique Identifier + false + false + + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + + + + + true + false + false + + + + false + 0 + 0 + 94698 + WHH + 100 + 100 + 0 + + 93571 + + 0 + 36 + 54811 + + a68ddca0-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:02:22.929 + 2019-06-12 10:02:22.929 + 0 + false + Immutable Universally Unique Identifier + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + 0 + 94698 + 100 + 100 + es_MX + aa1f1a82-82ef-11e9-bc49-0242ac140004 + + + + + Withholding + false + 2019-06-12 10:02:23.239 + false + + 2019-06-12 10:02:23.239 + + true + + false + false + Withholding Definition is used for define a withholding rule for BP + false + false + + true + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + + + + + + true + false + false + + + + false + 0 + 0 + 94699 + WHH + 100 + 100 + 0 + + 93572 + + 0 + 10 + 54811 + + 90809b06-28b2-11e9-8977-6c0b840adaed + + + + + true + 2019-06-12 10:02:23.689 + 2019-06-12 10:02:23.689 + 0 + false + Conservación de parte de una cantidad que se debe pagar para garantizar el cumplimiento de alguna obligación, generalmente de tipo fiscal. + Retención + La retención es la cantidad que se retiene de un sueldo, salario u otra percepción para el pago de un impuesto, de deudas en virtud de embargo, es decir, te retienen ahora para asegurar el pago del impuesto. + 0 + 94699 + 100 + 100 + es_MX + aa1f38e6-82ef-11e9-bc49-0242ac140004 + + + + + Client + false + 2019-06-12 10:02:23.935 + false + + 2019-06-12 10:02:23.935 + + true + + false + false + Client/Tenant for this installation. + true + false + + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + + + + + true + false + false + + + + false + 0 + 0 + 94700 + WHH + 100 + 100 + 10 + + 93559 + + 0 + 10 + 54811 + + a69020f0-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:02:24.326 + 2019-06-12 10:02:24.326 + 0 + true + Compañía para esta instalación. + Compañía + Compañía o entidad legal. No se pueden compartir datos entre diferentes compañías. + 0 + 94700 + 100 + 100 + es_MX + aa1f22d4-82ef-11e9-bc49-0242ac140004 + + + + + Organization + false + 2019-06-12 10:02:24.624 + false + + 2019-06-12 10:02:24.624 + + true + + false + false + Organizational entity within client + true + false + + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + + + + + true + true + false + + + + false + 0 + 0 + 94701 + WHH + 100 + 100 + 20 + + 93560 + + 0 + 10 + 54811 + + a690223a-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:02:25.061 + 2019-06-12 10:02:25.061 + 0 + true + Entidad organizacional dentro de la compañía. + Organización. + Una organización es una unidad de la compañía o entidad legal - Ej. Tiendas y departamentos. Es posible compartir datos entre organizaciones. + 0 + 94701 + 100 + 100 + es_MX + aa1f2388-82ef-11e9-bc49-0242ac140004 + + + + + Name + false + 2019-06-12 10:02:25.317 + false + + 2019-06-12 10:02:25.317 + + true + + false + false + Alphanumeric identifier of the entity + true + false + + true + The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length. + + + + + + true + false + false + + + + false + 0 + 0 + 94702 + WHH + 100 + 100 + 30 + + 93568 + + 0 + 30 + 54811 + + a69024ce-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:02:25.678 + 2019-06-12 10:02:25.678 + 0 + true + Identificador alfanumérico de la entidad. + Nombre + El nombre de una entidad (registro) se usa como una opción de búsqueda predeterminada, adicional al código. El nombre es de hasta 60 caracteres de longitud. + 0 + 94702 + 100 + 100 + es_MX + aa1f25b8-82ef-11e9-bc49-0242ac140004 + + + + + Withholding Type + false + 2019-06-12 10:02:25.943 + false + + 2019-06-12 10:02:25.943 + + true + + false + false + Indicates the types of national tax withholdings + true + false + + true + In the window the types of existing national tax withholdings are indicated. + + + + + + true + false + false + + + + false + 0 + 0 + 94703 + WHH + 100 + 100 + 40 + + 93573 + + 0 + 10 + 54811 + + d2d6262e-2899-11e9-a45b-6c0b840adaed + + + + + true + 2019-06-12 10:02:26.5 + 2019-06-12 10:02:26.5 + 0 + false + Identifica las Diversas Retenciones Existentes + Tipo de Retención + + 0 + 94703 + 100 + 100 + es_MX + aa1f1b72-82ef-11e9-bc49-0242ac140004 + + + + + Beneficiary + false + 2019-06-12 10:02:26.737 + false + + 2019-06-12 10:02:26.737 + + true + + false + false + Business Partner to whom payment is made + true + false + + true + The Beneficiary indicates the Business Partner to whom payment will be made. This field is only displayed if the Paid to Third Party checkbox is selected. + + + + + + true + true + false + + + + false + 0 + 0 + 94704 + WHH + 100 + 100 + 50 + + 93561 + + 0 + 10 + 54811 + + 8ad64abe-289b-11e9-a3c4-6c0b840adaed + + + + + true + 2019-06-12 10:02:27.053 + 2019-06-12 10:02:27.053 + 0 + true + Socio del Negocio a quién se hace el pago + Beneficiario + El beneficiario indica el Socio del Negocio a quién se hará el pago. Este campo se despliega solamente si el cuadro de verificación pago a Socios del Negocio se selecciona + 0 + 94704 + 100 + 100 + es_MX + aa1f2784-82ef-11e9-bc49-0242ac140004 + + + + + Active + false + 2019-06-12 10:02:27.354 + false + + 2019-06-12 10:02:27.354 + + true + + false + false + The record is active in the system + true + false + + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + + + + + true + false + false + + + + false + 0 + 0 + 94705 + WHH + 100 + 100 + 60 + + 93567 + + 0 + 1 + 54811 + + 8addf1d8-289b-11e9-a3ca-6c0b840adaed + + + + + true + 2019-06-12 10:02:27.69 + 2019-06-12 10:02:27.69 + 0 + true + El registro está activo en el sistema. + Activo + Hay dos métodos para que los registros no estén disponibles en el sistema: Uno es eliminar el registro; el otro es desactivarlo. Un registro desactivado no está disponible para selección; pero está disponible para Informes. + 0 + 94705 + 100 + 100 + es_MX + aa1f26f8-82ef-11e9-bc49-0242ac140004 + + + + + Document Type + false + 2019-06-12 10:02:27.943 + false + + 2019-06-12 10:02:27.943 + + true + + false + false + Document type or rules + true + false + + true + The Document Type determines document sequence and processing rules + + + + + + true + false + false + + + + false + 0 + 0 + 94706 + WHH + 100 + 100 + 70 + + 93563 + + 0 + 10 + 54811 + + ec03494a-8c6e-11e9-b15a-a385483852b1 + + + + + true + 2019-06-12 10:02:28.277 + 2019-06-12 10:02:28.277 + 0 + true + Tipo de documento o reglas + Tipo de Documento + El tipo de documento determina la secuencia del documento y las reglas de proceso + 0 + 94706 + 100 + 100 + es_MX + ec055758-8c6e-11e9-b15c-674553b14cd0 + + + + + Charge + false + 2019-06-12 10:02:28.514 + false + + 2019-06-12 10:02:28.514 + + true + + false + false + Additional document charges + true + false + + true + The Charge indicates a type of Charge (Handling, Shipping, Restocking) + + + + + + true + true + false + + + + false + 0 + 0 + 94707 + WHH + 100 + 100 + 80 + + 93562 + + 0 + 10 + 54811 + + 8ae1ab98-289b-11e9-a3cd-6c0b840adaed + + + + + true + 2019-06-12 10:02:28.857 + 2019-06-12 10:02:28.857 + 0 + true + Cargos adicionales del documento + Cargo + El cargo indica un tipo de cargo (manejo, embalaje, reposición) + 0 + 94707 + 100 + 100 + es_MX + aa1f2b8a-82ef-11e9-bc49-0242ac140004 + + + + + Description + false + 2019-06-12 10:02:29.105 + false + + 2019-06-12 10:02:29.105 + + true + + false + false + Optional short description of the record + true + false + + true + A description is limited to 255 characters. + + + + + + true + false + false + + + + false + 0 + 0 + 94708 + WHH + 100 + 100 + 90 + + 93566 + + 0 + 255 + 54811 + + 8ada1d7e-289b-11e9-a3c7-6c0b840adaed + + + + + true + 2019-06-12 10:02:29.687 + 2019-06-12 10:02:29.687 + 0 + true + Opción de una breve descripción del registro. + Descripción + Una descripción de hasta 255 caracteres. + 0 + 94708 + 100 + 100 + es_MX + aa1f266c-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:02:29.934 + 2019-06-12 10:02:29.934 + Withholding Line + false + + true + Filter for Withholding + N + WH_DefinitionLine + 3 + Filter for Withholding + L + false + 0 + false + false + N + false + true + false + true + 0 + 0 + 54646 + WHH + + 53671 + 100 + 0 + 100 + + e0845a6a-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:02:30.476 + 2019-06-12 10:02:30.476 + false + true + Línea de Retención + 0 + 0 + es_MX + 54646 + 100 + 100 + e09ad84e-82ef-11e9-bc49-0242ac140004 + + + + + Client/Tenant for this installation. + true + + 2019-06-12 10:02:30.759 + + 2019-06-12 10:02:30.759 + + 93574 + false + Client + true + false + @#AD_Client_ID@ + + false + false + N + false + + + + 1 + + AD_Client_ID + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54646 + 100 + 102 + + 129 + 10 + 19 + 100 + a44f66fc-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:31.23 + true + 2019-06-12 10:02:31.23 + 93574 + false + Compañía + 0 + 0 + 100 + 100 + es_MX + a511ea24-82ef-11e9-bc49-0242ac140004 + + + + + Organizational entity within client + true + + 2019-06-12 10:02:31.478 + + 2019-06-12 10:02:31.478 + + 93575 + false + Organization + true + false + @#AD_Org_ID@ + + false + false + N + false + + + + 1 + + AD_Org_ID + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54646 + 100 + 113 + + 104 + 10 + 19 + 100 + a44f67f6-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:31.85 + true + 2019-06-12 10:02:31.85 + 93575 + false + Organización. + 0 + 0 + 100 + 100 + es_MX + a511eab0-82ef-11e9-bc49-0242ac140004 + + + + + Document type or rules + true + + 2019-06-12 10:02:32.086 + + 2019-06-12 10:02:32.086 + + 93576 + false + Document Type + true + false + + + false + false + N + false + + + + 0 + + C_DocType_ID + The Document Type determines document sequence and processing rules + true + + false + N + + true + false + false + false + 0 + WHH + 0 + 0 + + 54646 + 100 + 196 + + 173 + 10 + 19 + 100 + a44f6c06-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:32.648 + true + 2019-06-12 10:02:32.648 + 93576 + false + Tipo de Documento + 0 + 0 + 100 + 100 + es_MX + a511d890-82ef-11e9-bc49-0242ac140004 + + + + + Date this record was created + true + + 2019-06-12 10:02:33.006 + + 2019-06-12 10:02:33.006 + + 93577 + false + Created + true + false + + + false + false + N + false + + + + 1 + + Created + The Created field indicates the date that this record was created. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54646 + 100 + 245 + + + 0 + 16 + 100 + a44f6a08-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:33.73 + true + 2019-06-12 10:02:33.73 + 93577 + false + Creado. + 0 + 0 + 100 + 100 + es_MX + a511ebbe-82ef-11e9-bc49-0242ac140004 + + + + + User who created this records + true + + 2019-06-12 10:02:33.991 + + 2019-06-12 10:02:33.991 + + 93578 + false + Created By + true + false + + + false + false + N + false + + + + 1 + + CreatedBy + The Created By field indicates the user who created this record. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54646 + 100 + 246 + 110 + + 10 + 18 + 100 + a44f3d8a-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:34.402 + true + 2019-06-12 10:02:34.402 + 93578 + false + Creado Por. + 0 + 0 + 100 + 100 + es_MX + a511eccc-82ef-11e9-bc49-0242ac140004 + + + + + The record is active in the system + true + + 2019-06-12 10:02:34.632 + + 2019-06-12 10:02:34.632 + + 93579 + false + Active + true + false + Y + + false + false + N + false + + + + 1 + + IsActive + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54646 + 100 + 348 + + + 1 + 20 + 100 + a44f68f0-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:35.043 + true + 2019-06-12 10:02:35.043 + 93579 + false + Activo + 0 + 0 + 100 + 100 + es_MX + a511eb3c-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:02:35.269 + true + Is Include Processed + allows me to point out that the document is already processed + 2019-06-12 10:02:35.269 + IsIncludeProcessed + + + + Is Include Processed + + + 1 + 20 + 61057 + 0 + 0 + WHH + 100 + + 100 + 6f8a4d4a-28b5-11e9-899f-6c0b840adaed + + + + + 2019-06-12 10:02:35.538 + + true + 2019-06-12 10:02:35.538 + es_MX + + Me permite señalar que el documento ya esta procesado y se puede incluir al sistema + Incluir Procesado + Me permite señalar que el documento ya esta procesado + false + Incluir Procesado + + + 0 + 0 + 100 + 100 + 61057 + b4b408de-28b5-11e9-996a-6c0b840adaed + + + + + allows me to point out that the document is already processed + true + + 2019-06-12 10:02:35.942 + + 2019-06-12 10:02:35.942 + + 93580 + false + Is Include Processed + false + false + + + false + false + N + false + + + + 0 + + IsIncludeProcessed + + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54646 + 100 + 61057 + + + 1 + 20 + 100 + b73f3c28-28b4-11e9-8993-6c0b840adaed + + + + + + 2019-06-12 10:02:36.591 + true + 2019-06-12 10:02:36.591 + 93580 + false + Incluir Procesado + 0 + 0 + 100 + 100 + es_MX + a511d4e4-82ef-11e9-bc49-0242ac140004 + + + + + Date this record was updated + true + + 2019-06-12 10:02:36.85 + + 2019-06-12 10:02:36.85 + + 93581 + false + Updated + true + false + + + false + false + N + false + + + + 1 + + Updated + The Updated field indicates the date that this record was updated. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54646 + 100 + 607 + + + 0 + 16 + 100 + a44f3c22-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:37.296 + true + 2019-06-12 10:02:37.296 + 93581 + false + Actualizado. + 0 + 0 + 100 + 100 + es_MX + a511ec4a-82ef-11e9-bc49-0242ac140004 + + + + + User who updated this records + true + + 2019-06-12 10:02:37.555 + + 2019-06-12 10:02:37.555 + + 93582 + false + Updated By + true + false + + + false + false + N + false + + + + 1 + + UpdatedBy + The Updated By field indicates the user who updated this record. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54646 + 100 + 608 + 110 + + 10 + 18 + 100 + a44f3ef2-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:38.042 + true + 2019-06-12 10:02:38.042 + 93582 + false + Actualizado por. + 0 + 0 + 100 + 100 + es_MX + a511ed58-82ef-11e9-bc49-0242ac140004 + + + + + Immutable Universally Unique Identifier + true + + 2019-06-12 10:02:38.282 + + 2019-06-12 10:02:38.282 + + 93583 + false + Immutable Universally Unique Identifier + false + false + + + false + false + N + false + + + + 1 + + UUID + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54646 + 100 + 59595 + + + 36 + 10 + 100 + a44f6b02-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:38.74 + true + 2019-06-12 10:02:38.74 + 93583 + false + Immutable Universally Unique Identifier + 0 + 0 + 100 + 100 + es_MX + a511d80e-82ef-11e9-bc49-0242ac140004 + + + + + Withholding Definition is used for define a withholding rule for BP + true + + 2019-06-12 10:02:39.039 + + 2019-06-12 10:02:39.039 + + 93584 + false + Withholding + true + false + + + true + false + N + false + + + + 0 + + WH_Definition_ID + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + false + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54646 + 100 + 61055 + + + 10 + 19 + 100 + ebe62be0-28ae-11e9-8d95-6c0b840adaed + + + + + + 2019-06-12 10:02:39.458 + true + 2019-06-12 10:02:39.458 + 93584 + false + Retención + 0 + 0 + 100 + 100 + es_MX + a511edda-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:02:39.823 + true + Withholding Line + + 2019-06-12 10:02:39.823 + WH_DefinitionLine_ID + + + + Withholding Line + + + + + 61058 + 0 + 0 + WHH + 100 + + 100 + 8a1b37f4-28b6-11e9-a123-6c0b840adaed + + + + + 2019-06-12 10:02:40.158 + + true + 2019-06-12 10:02:40.158 + es_MX + + + Línea de Retención + + false + Línea de Retención + + + 0 + 0 + 100 + 100 + 61058 + 712b9bee-28b6-11e9-a120-6c0b840adaed + + + + + + true + + 2019-06-12 10:02:40.442 + + 2019-06-12 10:02:40.442 + + 93585 + false + Withholding Line + true + false + + + false + false + N + true + + + + 1 + + WH_DefinitionLine_ID + + false + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54646 + 100 + 61058 + + + 10 + 13 + 100 + 8a1ed5da-28b6-11e9-a126-6c0b840adaed + + + + + + 2019-06-12 10:02:40.947 + true + 2019-06-12 10:02:40.947 + 93585 + false + Línea de Retención + 0 + 0 + 100 + 100 + es_MX + a511d5f2-82ef-11e9-bc49-0242ac140004 + + + + + true + Table WH_DefinitionLine + 2019-06-12 10:02:41.188 + 2019-06-12 10:02:41.188 + false + + true + false + + + + + WH_DefinitionLine + 0 + 0 + 55105 + 1 + 1000000 + true + 50000 + 1000006 + 100 + 100 + e04d6230-82ef-11e9-bc49-0242ac140004 + + + + + This tab is used for define all document that will be applied a withholding from process + + 0 + 54812 + false + Documents to Apply + false + false + false + 2019-06-12 10:02:41.592 + 2019-06-12 10:02:41.592 + + true + false + + Document Types for Apply Withholding + false + false + + false + N + + + true + 53671 + 30 + + 100 + 100 + WHH + + 0 + 54646 + + + + 1 + + 88c3883a-288d-11e9-88d6-6c0b840adaed + + + + + + Tipos de Documento a Aplicar + 2019-06-12 10:02:41.959 + true + 2019-06-12 10:02:41.959 + Documentos a Aplicar + + Esta pestaña es usada para definir todos los documentos que serán aplicados para el proceso de retención + false + 0 + 0 + 54812 + 100 + 100 + es_MX + e0aaddb6-82ef-11e9-bc49-0242ac140004 + + + + + Immutable Universally Unique Identifier + false + 2019-06-12 10:02:42.225 + false + + 2019-06-12 10:02:42.225 + + true + + false + false + Immutable Universally Unique Identifier + false + false + + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + + + + + true + false + false + + + + false + 0 + 0 + 94709 + WHH + 100 + 100 + 0 + + 93583 + + 0 + 36 + 54812 + + b5f24476-8bd5-11e9-ac9f-0242ac140011 + + + + + true + 2019-06-12 10:02:42.739 + 2019-06-12 10:02:42.739 + 0 + false + Immutable Universally Unique Identifier + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + 0 + 94709 + 100 + 100 + es_MX + b5fbf3f4-8bd5-11e9-ac9f-0242ac140011 + + + + + Withholding Line + false + 2019-06-12 10:02:43.007 + false + + 2019-06-12 10:02:43.007 + + true + + false + false + + false + false + + true + + + + + + + true + false + false + + + + false + 0 + 0 + 94710 + WHH + 100 + 100 + 0 + + 93585 + + 0 + 10 + 54812 + + b63c1e20-8bd5-11e9-ac9f-0242ac140011 + + + + + true + 2019-06-12 10:02:43.385 + 2019-06-12 10:02:43.385 + 0 + false + + Línea de Retención + + 0 + 94710 + 100 + 100 + es_MX + b645dee2-8bd5-11e9-ac9f-0242ac140011 + + + + + Client + false + 2019-06-12 10:02:43.642 + false + + 2019-06-12 10:02:43.642 + + true + + false + false + Client/Tenant for this installation. + true + false + + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + + + + + true + false + false + + + + false + 0 + 0 + 94711 + WHH + 100 + 100 + 10 + + 93574 + + 0 + 10 + 54812 + + b5d3c686-8bd5-11e9-ac9f-0242ac140011 + + + + + true + 2019-06-12 10:02:44.006 + 2019-06-12 10:02:44.006 + 0 + true + Compañía para esta instalación. + Compañía + Compañía o entidad legal. No se pueden compartir datos entre diferentes compañías. + 0 + 94711 + 100 + 100 + es_MX + b5dc9086-8bd5-11e9-ac9f-0242ac140011 + + + + + Organization + false + 2019-06-12 10:02:44.361 + false + + 2019-06-12 10:02:44.361 + + true + + false + false + Organizational entity within client + true + false + + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + + + + + true + true + false + + + + false + 0 + 0 + 94712 + WHH + 100 + 100 + 20 + + 93575 + + 0 + 10 + 54812 + + b616001e-8bd5-11e9-ac9f-0242ac140011 + + + + + true + 2019-06-12 10:02:44.944 + 2019-06-12 10:02:44.944 + 0 + true + Entidad organizacional dentro de la compañía. + Organización. + Una organización es una unidad de la compañía o entidad legal - Ej. Tiendas y departamentos. Es posible compartir datos entre organizaciones. + 0 + 94712 + 100 + 100 + es_MX + b6204c5e-8bd5-11e9-ac9f-0242ac140011 + + + + + Withholding + false + 2019-06-12 10:02:45.206 + false + + 2019-06-12 10:02:45.206 + + true + + false + false + Withholding Definition is used for define a withholding rule for BP + true + false + + true + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + + + + + + true + false + false + + + + false + 0 + 0 + 94713 + WHH + 100 + 100 + 30 + + 93584 + + 0 + 10 + 54812 + + b6282f14-8bd5-11e9-ac9f-0242ac140011 + + + + + true + 2019-06-12 10:02:45.654 + 2019-06-12 10:02:45.654 + 0 + false + Conservación de parte de una cantidad que se debe pagar para garantizar el cumplimiento de alguna obligación, generalmente de tipo fiscal. + Retención + La retención es la cantidad que se retiene de un sueldo, salario u otra percepción para el pago de un impuesto, de deudas en virtud de embargo, es decir, te retienen ahora para asegurar el pago del impuesto. + 0 + 94713 + 100 + 100 + es_MX + b6340276-8bd5-11e9-ac9f-0242ac140011 + + + + + Document Type + false + 2019-06-12 10:02:45.91 + false + + 2019-06-12 10:02:45.91 + + true + + false + false + Document type or rules + true + false + + true + The Document Type determines document sequence and processing rules + + + + + + true + true + false + + + + false + 0 + 0 + 94714 + WHH + 100 + 100 + 40 + + 93576 + + 0 + 10 + 54812 + + b5e2181c-8bd5-11e9-ac9f-0242ac140011 + + + + + true + 2019-06-12 10:02:46.298 + 2019-06-12 10:02:46.298 + 0 + true + Tipo de documento o reglas + Tipo de Documento + El tipo de documento determina la secuencia del documento y las reglas de proceso + 0 + 94714 + 100 + 100 + es_MX + b5eb3e7e-8bd5-11e9-ac9f-0242ac140011 + + + + + Active + false + 2019-06-12 10:02:46.556 + false + + 2019-06-12 10:02:46.556 + + true + + false + false + The record is active in the system + true + false + + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + + + + + true + false + false + + + + false + 0 + 0 + 94715 + WHH + 100 + 100 + 50 + + 93579 + + 0 + 1 + 54812 + + b5b25bae-8bd5-11e9-ac9f-0242ac140011 + + + + + true + 2019-06-12 10:02:46.937 + 2019-06-12 10:02:46.937 + 0 + true + El registro está activo en el sistema. + Activo + Hay dos métodos para que los registros no estén disponibles en el sistema: Uno es eliminar el registro; el otro es desactivarlo. Un registro desactivado no está disponible para selección; pero está disponible para Informes. + 0 + 94715 + 100 + 100 + es_MX + b5c8ce02-8bd5-11e9-ac9f-0242ac140011 + + + + + Is Include Processed + false + 2019-06-12 10:02:47.199 + false + + 2019-06-12 10:02:47.199 + + true + + false + false + allows me to point out that the document is already processed + true + false + + true + + + + + + + true + true + false + + + + false + 0 + 0 + 94716 + WHH + 100 + 100 + 60 + + 93580 + + 0 + 1 + 54812 + + b6047eb6-8bd5-11e9-ac9f-0242ac140011 + + + + + true + 2019-06-12 10:02:47.605 + 2019-06-12 10:02:47.605 + 0 + false + Me permite señalar que el documento ya esta procesado + Incluir Procesado + Me permite señalar que el documento ya esta procesado y se puede incluir al sistema + 0 + 94716 + 100 + 100 + es_MX + b60e1c8c-8bd5-11e9-ac9f-0242ac140011 + + + + + true + + Withholding Definition + 2019-06-12 10:02:47.858 + 2019-06-12 10:02:47.858 + + false + false + false + true + The Withholding window define a behavior for all withholding that will be generated from it + W + 0 + 54466 + 0 + + WHH + + 53671 + 100 + + 100 + + fd59d98a-8bc8-11e9-b657-0242ac140011 + + + + + 318e28c6-8c70-11e9-9a08-fb465570dde5 + true + 2019-06-12 10:02:48.149 + 2019-06-12 10:02:48.149 + 0 + 0 + 54466 + 54465 + 100 + 100 + 2 + 10 + + + + + 2019-06-12 10:02:48.385 + false + 0 + 100 + Withholding Allocation + true + false + 100 + 53672 + WHH + 0 + 0 + + + 0 + false + Withholding Allocation + Allocation for withholding from AP or AR Invoices + 137b0620-8be8-11e9-b1db-0242ac140011 + M + true + 2019-06-12 10:02:48.385 + + + + + + 2019-06-12 10:02:48.663 + Asignación de Retenciones + 2019-06-12 10:02:48.663 + true + es_MX + Asignación de Retenciones a Documentos por Cobrar o Pagar + Asignación de Retenciones + false + 0 + 0 + 100 + 100 + 53672 + 138902b6-8be8-11e9-b1db-0242ac140011 + + + + + 2019-06-12 10:02:48.906 + 2019-06-12 10:02:48.906 + Withholding Allocation + false + + true + Withholding Allocation + N + WH_Withholding + 3 + + L + false + 0 + false + true + N + false + false + false + true + 0 + 0 + 54647 + WHH + + 53672 + 100 + 0 + 100 + + e0845826-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:02:49.238 + 2019-06-12 10:02:49.238 + false + true + Asignación de Retención + 0 + 0 + es_MX + 54647 + 100 + 100 + e09adb00-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 12 + e001bbbe-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 53498 + a5607cf2-82ef-11e9-bc49-0242ac140004 + + + + + + true + + 2019-06-12 10:02:50.132 + + 2019-06-12 10:02:50.132 + + 93586 + false + A_Base_Amount + false + false + + + false + false + N + false + + + + 0 + + A_Base_Amount + + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 53498 + + + 0 + 12 + 100 + a44f9460-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:50.541 + true + 2019-06-12 10:02:50.541 + 93586 + false + Monto Base + 0 + 0 + 100 + 100 + es_MX + a511e132-82ef-11e9-bc49-0242ac140004 + + + + + Client/Tenant for this installation. + true + + 2019-06-12 10:02:50.786 + + 2019-06-12 10:02:50.786 + + 93587 + false + Client + true + false + @#AD_Client_ID@ + + false + false + N + false + + + + 1 + + AD_Client_ID + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54647 + 100 + 102 + + 129 + 10 + 19 + 100 + a44f4a14-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:51.437 + true + 2019-06-12 10:02:51.437 + 93587 + false + Compañía + 0 + 0 + 100 + 100 + es_MX + a511fab4-82ef-11e9-bc49-0242ac140004 + + + + + Organizational entity within client + true + + 2019-06-12 10:02:51.697 + + 2019-06-12 10:02:51.697 + + 93588 + false + Organization + true + false + @#AD_Org_ID@ + + false + false + N + false + + + + 1 + + AD_Org_ID + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54647 + 100 + 113 + + 104 + 10 + 19 + 100 + a44f4bae-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:52.094 + true + 2019-06-12 10:02:52.094 + 93588 + false + Organización. + 0 + 0 + 100 + 100 + es_MX + a511fb36-82ef-11e9-bc49-0242ac140004 + + + + + Document type or rules + true + + 2019-06-12 10:02:52.364 + + 2019-06-12 10:02:52.364 + + 93589 + false + Document Type + true + false + + + false + true + N + false + + + + 1 + + C_DocType_ID + The Document Type determines document sequence and processing rules + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54647 + 100 + 196 + + + 10 + 19 + 100 + 7bfa13ce-8bef-11e9-9b35-0242ac140011 + + + + + + 2019-06-12 10:02:52.951 + true + 2019-06-12 10:02:52.951 + 93589 + false + Tipo de Documento + 0 + 0 + 100 + 100 + es_MX + 7c05d5b0-8bef-11e9-9b35-0242ac140011 + + + + + es_MX + 336 + e000f2e2-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 53460 + ad48ab1a-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 167 + e26ed508-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 183 + e26dea08-82ef-11e9-bc49-0242ac140004 + + + + + false + es_MX + 318 + e09ad33a-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 290 + a54d2ddc-82ef-11e9-bc49-0242ac140004 + + + + + 3492 + false + es_MX + a4d9722a-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 1008 + a55e0792-82ef-11e9-bc49-0242ac140004 + + + + + 3484 + false + es_MX + a50a1272-82ef-11e9-bc49-0242ac140004 + + + + + Invoice Identifier + true + + 2019-06-12 10:02:55.937 + + 2019-06-12 10:02:55.937 + + 93590 + false + Invoice + false + false + + + false + true + N + false + + + + 0 + + C_Invoice_ID + The Invoice Document. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 1008 + 336 + + 10 + 19 + 100 + a44f8f60-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:56.338 + true + 2019-06-12 10:02:56.338 + 93590 + false + Factura + 0 + 0 + 100 + 100 + es_MX + a511ded0-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 53933 + e001c2a8-82ef-11e9-bc49-0242ac140004 + + + + + false + es_MX + 333 + e0999998-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 1076 + a55d9938-82ef-11e9-bc49-0242ac140004 + + + + + 3828 + false + es_MX + a4dee66a-82ef-11e9-bc49-0242ac140004 + + + + + Invoice Detail Line + true + + 2019-06-12 10:02:58.028 + + 2019-06-12 10:02:58.028 + + 93591 + false + Invoice Line + false + false + + + false + true + N + false + + + + 0 + + C_InvoiceLine_ID + The Invoice Line uniquely identifies a single line of an Invoice. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 1076 + 53933 + + 10 + 19 + 100 + a44f905a-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:58.496 + true + 2019-06-12 10:02:58.496 + 93591 + false + Línea de Factura + 0 + 0 + 100 + 100 + es_MX + a511de4e-82ef-11e9-bc49-0242ac140004 + + + + + Date this record was created + true + + 2019-06-12 10:02:58.753 + + 2019-06-12 10:02:58.753 + + 93592 + false + Created + true + false + + + false + false + N + false + + + + 1 + + Created + The Created field indicates the date that this record was created. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54647 + 100 + 245 + + + 0 + 16 + 100 + a44f895c-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:59.148 + true + 2019-06-12 10:02:59.148 + 93592 + false + Creado. + 0 + 0 + 100 + 100 + es_MX + a511fc44-82ef-11e9-bc49-0242ac140004 + + + + + User who created this records + true + + 2019-06-12 10:02:59.444 + + 2019-06-12 10:02:59.444 + + 93593 + false + Created By + true + false + + + false + false + N + false + + + + 1 + + CreatedBy + The Created By field indicates the user who created this record. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54647 + 100 + 246 + 110 + + 10 + 18 + 100 + a44f8b64-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:02:59.887 + true + 2019-06-12 10:02:59.887 + 93593 + false + Creado Por. + 0 + 0 + 100 + 100 + es_MX + a511fd48-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 15 + e0007d58-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 265 + a55e643a-82ef-11e9-bc49-0242ac140004 + + + + + Date of the Document + true + + 2019-06-12 10:03:00.657 + + 2019-06-12 10:03:00.657 + + 93594 + false + Document Date + true + false + @#Date@ + + false + true + N + false + + + + 1 + + DateDoc + The Document Date indicates the date the document was generated. It may or may not be the same as the accounting date. + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54647 + 100 + 265 + + + 0 + 15 + 100 + 7c3d3c58-8bef-11e9-9b35-0242ac140011 + + + + + + 2019-06-12 10:03:01.064 + true + 2019-06-12 10:03:01.064 + 93594 + false + F. Documento + 0 + 0 + 100 + 100 + es_MX + 7c477286-8bef-11e9-9b35-0242ac140011 + + + + + Optional short description of the record + true + + 2019-06-12 10:03:01.359 + + 2019-06-12 10:03:01.359 + + 93595 + false + Description + false + false + + + false + true + N + false + + + + 1 + + Description + A description is limited to 255 characters. + true + + true + N + + true + false + false + true + + WHH + 0 + 0 + + 54647 + 100 + 275 + + + 255 + 14 + 100 + 7c8d49e6-8bef-11e9-9b35-0242ac140011 + + + + + + 2019-06-12 10:03:01.834 + true + 2019-06-12 10:03:01.834 + 93595 + false + Descripción + 0 + 0 + 100 + 100 + es_MX + 7c97b1ec-8bef-11e9-9b35-0242ac140011 + + + + + 135 + es_MX + e000b93a-82ef-11e9-bc49-0242ac140004 + + + + + 187 + es_MX + e013d15a-82ef-11e9-bc49-0242ac140004 + + + + + 188 + es_MX + e0163bc0-82ef-11e9-bc49-0242ac140004 + + + + + 189 + es_MX + e013d1e6-82ef-11e9-bc49-0242ac140004 + + + + + 347 + es_MX + e014411c-82ef-11e9-bc49-0242ac140004 + + + + + 178 + es_MX + e013cd68-82ef-11e9-bc49-0242ac140004 + + + + + 179 + es_MX + e013cdf4-82ef-11e9-bc49-0242ac140004 + + + + + 180 + es_MX + e013ce8a-82ef-11e9-bc49-0242ac140004 + + + + + 181 + es_MX + e013cf16-82ef-11e9-bc49-0242ac140004 + + + + + 182 + es_MX + e013cfac-82ef-11e9-bc49-0242ac140004 + + + + + 183 + es_MX + e013d038-82ef-11e9-bc49-0242ac140004 + + + + + 184 + es_MX + e00f4158-82ef-11e9-bc49-0242ac140004 + + + + + 185 + es_MX + e013d0c4-82ef-11e9-bc49-0242ac140004 + + + + + 691 + es_MX + e0164f66-82ef-11e9-bc49-0242ac140004 + + + + + 345 + es_MX + e0144090-82ef-11e9-bc49-0242ac140004 + + + + + + + true + 2019-06-12 10:03:06.252 + 2019-06-12 10:03:06.252 + 1 + 0 + 10000001 + + + + + Process_Withholding Allocation + D + T + + + 100 + (Standard Process_Withholding Allocation) + + 3 + P + ADempiere + + false + false + Process_Withholding Allocation + + false + + 0 + 50072 + 0 + WHH + + 54647 + 0 + 0 + + + 1 + + 100 + 100 + 0 + + 1d23ee2e-8c80-11e9-8559-1fbb775ac2ca + + + + + + 2019-06-12 10:03:06.627 + false + Process_Withholding Allocation + true + 2019-06-12 10:03:06.627 + (Standard Process_Withholding Allocation) + 100 + 0 + 0 + 100 + es_MX + 50072 + 1d7d51f8-8c80-11e9-858b-9bd481658123 + + + + + true + 2019-06-12 10:03:06.868 + 2019-06-12 10:03:06.868 + CO + Process_Withholding Allocation + (Start) + (Start) + + X + + 0 + + X + + + 100 + true + + Z + + + + + + + + + + false + false + 0 + + 50326 + 0 + 0 + WHH + 50072 + + + + + 0 + + 0 + + + + 100 + 100 + + + 0 + + 0 + + 0 + + + + + + 1e1f0e4e-8c80-11e9-859c-6782b2d7dde4 + + + + + 2019-06-12 10:03:07.321 + true + 2019-06-12 10:03:07.321 + (Start) + Process_Withholding Allocation + false + + es_MX + 0 + 0 + 50326 + 100 + 100 + 1e77e0dc-8c80-11e9-85dd-5b3ec70dd0ad + + + + + true + 2019-06-12 10:03:07.579 + 2019-06-12 10:03:07.579 + PR + Process_Withholding Allocation + (DocPrepare) + (DocPrepare) + + X + + 0 + + X + + + 100 + true + + D + + + + + + + + + + false + false + 0 + + 50328 + 0 + 0 + WHH + 50072 + + + + + 0 + + 0 + + + + 100 + 100 + + + 0 + + 0 + + 0 + + + + + + 1ffe4158-8c80-11e9-8643-d3abe3ff8339 + + + + + 2019-06-12 10:03:08.052 + true + 2019-06-12 10:03:08.052 + (DocPrepare) + Process_Withholding Allocation + false + + es_MX + 0 + 0 + 50328 + 100 + 100 + 20683f36-8c80-11e9-8684-7f36b192788e + + + + + true + 2019-06-12 10:03:08.303 + 2019-06-12 10:03:08.303 + -- + Process_Withholding Allocation + (DocAuto) + (DocAuto) + + X + + 0 + + X + + + 100 + true + + D + + + + + + + + + + false + false + 0 + + 50327 + 0 + 0 + WHH + 50072 + + + + + 0 + + 0 + + + + 100 + 100 + + + 0 + + 0 + + 0 + + + + + + 1f1568de-8c80-11e9-85f2-73c51ad88dec + + + + + 2019-06-12 10:03:08.738 + true + 2019-06-12 10:03:08.738 + (DocAuto) + Process_Withholding Allocation + false + + es_MX + 0 + 0 + 50327 + 100 + 100 + 1f810ac6-8c80-11e9-8633-c7a1fdc50f86 + + + + + true + 2019-06-12 10:03:08.962 + 2019-06-12 10:03:08.962 + CO + Process_Withholding Allocation + (DocComplete) + (DocComplete) + + X + + 0 + + X + + + 100 + true + + D + + + + + + + + + + false + false + 0 + + 50329 + 0 + 0 + WHH + 50072 + + + + + 0 + + 0 + + + + 100 + 100 + + + 0 + + 0 + + 0 + + + + + + 20cc3176-8c80-11e9-8694-4bc605337acb + + + + + 2019-06-12 10:03:09.368 + true + 2019-06-12 10:03:09.368 + (DocComplete) + Process_Withholding Allocation + false + + es_MX + 0 + 0 + 50329 + 100 + 100 + 213412b4-8c80-11e9-86d5-878a789f11ad + + + + + true + 2019-06-12 10:03:09.606 + 2019-06-12 10:03:09.606 + (Standard Approval) + 0 + true + + 0 + WHH + 50254 + 50326 + 100 + 100 + 50328 + 10 + 21971d3c-8c80-11e9-86e5-633763ace314 + + + + + true + 2019-06-12 10:03:09.86 + 2019-06-12 10:03:09.86 + (Standard Transition) + 0 + false + + 0 + WHH + 50255 + 50326 + 100 + 100 + 50327 + 100 + 2205d024-8c80-11e9-86f8-53acbd442a7b + + + + + true + 2019-06-12 10:03:10.115 + 2019-06-12 10:03:10.115 + (Standard Transition) + 0 + false + + 0 + WHH + 50256 + 50328 + 100 + 100 + 50329 + 100 + 2281a49c-8c80-11e9-870b-23e7b002dee4 + + + + + + 22fcc2f8-8c80-11e9-871e-23f5c6919e7c + + + false + false + + + 100 + 100 + 54245 + 0 + 0 + 50072 + + + WHH + + 2019-06-12 10:03:10.357 + 2019-06-12 10:03:10.357 + + false + + true + Y + Process Withholding Allocation + + WH_Withholding_Process + + 3 + false + + + + + + + true + 2019-06-12 10:03:10.74 + 2019-06-12 10:03:10.74 + + + false + Process Withholding Allocation + 0 + 0 + 100 + es_MX + 54245 + 100 + 233ec7fc-8c80-11e9-8742-0bac54b236f5 + + + + + es_MX + 287 + a566b18a-82ef-11e9-bc49-0242ac140004 + + + + + The targeted status of the document + true + + 2019-06-12 10:03:11.369 + + 2019-06-12 10:03:11.369 + + 93665 + false + Document Action + true + false + CO + + false + false + N + false + + + + 1 + + DocAction + You find the current status in the Document Status field. The options are listed in a popup + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54647 + 100 + 287 + 135 + + 2 + 28 + 100 + 23bc5eba-8c80-11e9-8757-3b878e0faf2e + 54245 + + + + + 2019-06-12 10:03:11.79 + true + 2019-06-12 10:03:11.79 + 93665 + false + Acción en el Documento + 0 + 0 + 100 + 100 + es_MX + 23fdf398-8c80-11e9-878b-6706b6c3a13d + + + + + es_MX + 131 + e000b6f6-82ef-11e9-bc49-0242ac140004 + + + + + 177 + es_MX + e012d296-82ef-11e9-bc49-0242ac140004 + + + + + 165 + es_MX + e0163a26-82ef-11e9-bc49-0242ac140004 + + + + + 173 + es_MX + e00f1840-82ef-11e9-bc49-0242ac140004 + + + + + 176 + es_MX + e013ebfe-82ef-11e9-bc49-0242ac140004 + + + + + 172 + es_MX + e012ee20-82ef-11e9-bc49-0242ac140004 + + + + + 190 + es_MX + e013ec8a-82ef-11e9-bc49-0242ac140004 + + + + + 164 + es_MX + e016399a-82ef-11e9-bc49-0242ac140004 + + + + + 166 + es_MX + e0163abc-82ef-11e9-bc49-0242ac140004 + + + + + 341 + es_MX + e0142e5c-82ef-11e9-bc49-0242ac140004 + + + + + 168 + es_MX + e012f7c6-82ef-11e9-bc49-0242ac140004 + + + + + 346 + es_MX + e01643fe-82ef-11e9-bc49-0242ac140004 + + + + + 670 + es_MX + e015e2ba-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 289 + a5575302-82ef-11e9-bc49-0242ac140004 + + + + + The current status of the document + true + + 2019-06-12 10:03:15.798 + + 2019-06-12 10:03:15.798 + + 93597 + true + Document Status + true + false + DR + + false + true + N + false + + + + 1 + + DocStatus + The Document Status indicates the status of a document at this time. If you want to change the document status, use the Document Action field + true + + false + N + + true + false + false + false + 2 + WHH + 0 + 0 + + 54647 + 100 + 289 + 131 + + 2 + 17 + 100 + 7ca6c2a4-8bef-11e9-9b35-0242ac140011 + + + + + + 2019-06-12 10:03:16.257 + true + 2019-06-12 10:03:16.257 + 93597 + false + Estado del Documento + 0 + 0 + 100 + 100 + es_MX + 7cafa9d2-8bef-11e9-9b35-0242ac140011 + + + + + Document sequence number of the document + true + + 2019-06-12 10:03:16.518 + + 2019-06-12 10:03:16.518 + + 93598 + true + Document No + true + false + + + false + true + N + false + + + + 1 + + DocumentNo + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + true + + false + N + + true + false + false + false + 1 + WHH + 0 + 0 + + 54647 + 100 + 290 + + + 60 + 10 + 100 + 7c28ddbc-8bef-11e9-9b35-0242ac140011 + + + + + + 2019-06-12 10:03:16.929 + true + 2019-06-12 10:03:16.929 + 93598 + false + No. del Documento + 0 + 0 + 100 + 100 + es_MX + 7c32af22-8bef-11e9-9b35-0242ac140011 + + + + + The record is active in the system + true + + 2019-06-12 10:03:17.186 + + 2019-06-12 10:03:17.186 + + 93599 + false + Active + true + false + Y + + false + false + N + false + + + + 1 + + IsActive + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54647 + 100 + 348 + + + 1 + 20 + 100 + a44f8858-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:03:17.581 + true + 2019-06-12 10:03:17.581 + 93599 + false + Activo + 0 + 0 + 100 + 100 + es_MX + a511fbb8-82ef-11e9-bc49-0242ac140004 + + + + + 351 + es_MX + a565e70a-82ef-11e9-bc49-0242ac140004 + + + + + Indicates if this document requires approval + true + + 2019-06-12 10:03:18.168 + + 2019-06-12 10:03:18.168 + + 93600 + false + Approved + true + false + N + + false + false + N + false + + + + 1 + + IsApproved + The Approved checkbox indicates if this document requires approval before it can be processed. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54647 + 100 + 351 + + + 1 + 20 + 100 + 7c78ddf8-8bef-11e9-9b35-0242ac140011 + + + + + + 2019-06-12 10:03:18.759 + true + 2019-06-12 10:03:18.759 + 93600 + false + Aprobado + 0 + 0 + 100 + 100 + es_MX + 7c8284d4-8bef-11e9-9b35-0242ac140011 + + + + + 2019-06-12 10:03:19.011 + true + Is Declared + Show if a withholding has been declared + 2019-06-12 10:03:19.011 + IsDeclared + This flag is very useful for determinate if a withholding was declared or not + + + Is Declared + + + 1 + 20 + 61059 + 0 + 0 + WHH + 100 + + 100 + a5425d08-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:03:19.286 + + true + 2019-06-12 10:03:19.286 + es_MX + + Esta bandera es útil para determinar si una retención fue o no declarada + Retención Declarada + Indica que la Retención fue Declarada + false + Retención Declarada + + + 0 + 0 + 100 + 100 + 61059 + a56793d4-82ef-11e9-bc49-0242ac140004 + + + + + Show if a withholding has been declared + true + + 2019-06-12 10:03:19.567 + + 2019-06-12 10:03:19.567 + + 93601 + false + Is Declared + false + false + N + + false + true + N + false + + + + 0 + + IsDeclared + This flag is very useful for determinate if a withholding was declared or not + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 61059 + + + 1 + 20 + 100 + a44f9366-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:03:19.991 + true + 2019-06-12 10:03:19.991 + 93601 + false + Retención Declarada + 0 + 0 + 100 + 100 + es_MX + a511fed8-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 1047 + a55fe8be-82ef-11e9-bc49-0242ac140004 + + + + + The document has been processed + true + + 2019-06-12 10:03:20.472 + + 2019-06-12 10:03:20.472 + + 93602 + false + Processed + true + false + N + + false + false + N + false + + + + 1 + + Processed + The Processed checkbox indicates that a document has been processed. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54647 + 100 + 1047 + + + 1 + 20 + 100 + 7c5176b4-8bef-11e9-9b35-0242ac140011 + + + + + + 2019-06-12 10:03:20.998 + true + 2019-06-12 10:03:20.998 + 93602 + false + Procesado + 0 + 0 + 100 + 100 + es_MX + 7c5a9776-8bef-11e9-9b35-0242ac140011 + + + + + es_MX + 524 + a5666964-82ef-11e9-bc49-0242ac140004 + + + + + + true + + 2019-06-12 10:03:21.659 + + 2019-06-12 10:03:21.659 + + 93603 + false + Process Now + true + false + N + + false + false + N + false + + + + 1 + + Processing + + true + + true + N + + true + false + false + true + + WHH + 0 + 0 + + 54647 + 100 + 524 + + + 1 + 20 + 100 + 7c64ac66-8bef-11e9-9b35-0242ac140011 + + + + + + 2019-06-12 10:03:22.038 + true + 2019-06-12 10:03:22.038 + 93603 + false + Procesar Ahora + 0 + 0 + 100 + 100 + es_MX + 7c6e8560-8bef-11e9-9b35-0242ac140011 + + + + + 2019-06-12 10:03:22.284 + true + Source Invoice + + 2019-06-12 10:03:22.284 + SourceInvoice_ID + + + + Source Invoice + + + 10 + 18 + 61060 + 0 + 0 + WHH + 100 + 336 + 100 + a5425d8a-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:03:22.689 + + true + 2019-06-12 10:03:22.689 + es_MX + + + Factura Fuente + + false + Factura Fuente + + + 0 + 0 + 100 + 100 + 61060 + a5679456-82ef-11e9-bc49-0242ac140004 + + + + + + true + + 2019-06-12 10:03:22.976 + + 2019-06-12 10:03:22.976 + + 93604 + false + Source Invoice + false + false + + + false + true + N + false + + + + 0 + + SourceInvoice_ID + + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 61060 + 336 + + 10 + 30 + 100 + a44f9154-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:03:23.368 + true + 2019-06-12 10:03:23.368 + 93604 + false + Factura Fuente + 0 + 0 + 100 + 100 + es_MX + a511e010-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:03:23.608 + true + Source Invoice Line + + 2019-06-12 10:03:23.608 + SourceInvoiceLine_ID + + + + Source Invoice Line + + + 10 + 18 + 61061 + 0 + 0 + WHH + 100 + 53933 + 100 + a5425e0c-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:03:23.897 + + true + 2019-06-12 10:03:23.897 + es_MX + + + Línea de Factura Fuente + + false + Línea de Factura Fuente + + + 0 + 0 + 100 + 100 + 61061 + a56794e2-82ef-11e9-bc49-0242ac140004 + + + + + + true + + 2019-06-12 10:03:24.172 + + 2019-06-12 10:03:24.172 + + 93605 + false + Source Invoice Line + false + false + + + false + true + N + false + + + + 0 + + SourceInvoiceLine_ID + + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 61061 + 53933 + + 10 + 30 + 100 + a44f9258-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:03:24.539 + true + 2019-06-12 10:03:24.539 + 93605 + false + Línea de Factura Fuente + 0 + 0 + 100 + 100 + es_MX + a511e0a6-82ef-11e9-bc49-0242ac140004 + + + + + Date this record was updated + true + + 2019-06-12 10:03:24.825 + + 2019-06-12 10:03:24.825 + + 93606 + false + Updated + true + false + + + false + false + N + false + + + + 1 + + Updated + The Updated field indicates the date that this record was updated. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54647 + 100 + 607 + + + 0 + 16 + 100 + a44f8a56-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:03:25.253 + true + 2019-06-12 10:03:25.253 + 93606 + false + Actualizado. + 0 + 0 + 100 + 100 + es_MX + a511fcc6-82ef-11e9-bc49-0242ac140004 + + + + + User who updated this records + true + + 2019-06-12 10:03:25.491 + + 2019-06-12 10:03:25.491 + + 93607 + false + Updated By + true + false + + + false + false + N + false + + + + 1 + + UpdatedBy + The Updated By field indicates the user who updated this record. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54647 + 100 + 608 + 110 + + 10 + 18 + 100 + a44f8c68-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:03:25.907 + true + 2019-06-12 10:03:25.907 + 93607 + false + Actualizado por. + 0 + 0 + 100 + 100 + es_MX + a511fdca-82ef-11e9-bc49-0242ac140004 + + + + + Immutable Universally Unique Identifier + true + + 2019-06-12 10:03:26.153 + + 2019-06-12 10:03:26.153 + + 93608 + false + Immutable Universally Unique Identifier + false + false + + + false + false + N + false + + + + 1 + + UUID + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54647 + 100 + 59595 + + + 36 + 10 + 100 + a44f8d62-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:03:26.621 + true + 2019-06-12 10:03:26.621 + 93608 + false + Immutable Universally Unique Identifier + 0 + 0 + 100 + 100 + es_MX + a511ddcc-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:03:26.847 + true + Withholding Allocation + + 2019-06-12 10:03:26.847 + WH_Withholding_ID + + + + Withholding Allocation + + + 10 + 13 + 61062 + 0 + 0 + WHH + 100 + + 100 + a5425c04-82ef-11e9-bc49-0242ac140004 + + + + + 0 + 100 + 100 + 2019-06-12 10:03:27.095 + + true + 2019-06-12 10:03:27.095 + es_MX + + + Asignación de Retención + + false + Asignación de Retención + + + 0 + 61062 + a56792d0-82ef-11e9-bc49-0242ac140004 + + + + + + true + + 2019-06-12 10:03:27.344 + + 2019-06-12 10:03:27.344 + + 93609 + false + Withholding Allocation + true + false + + + false + false + N + true + + + + 0 + + WH_Withholding_ID + + false + + false + N + + true + false + false + false + 0 + WHH + 0 + 0 + + 54647 + 100 + 61062 + + + 10 + 13 + 100 + a44f8e5c-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:03:27.725 + true + 2019-06-12 10:03:27.725 + 93609 + false + Asignación de Retención + 0 + 0 + 100 + 100 + es_MX + a511fe56-82ef-11e9-bc49-0242ac140004 + + + + + Withholding Definition is used for define a withholding rule for BP + true + + 2019-06-12 10:03:27.985 + + 2019-06-12 10:03:27.985 + + 93610 + true + Withholding + false + false + + + false + true + N + false + + + + 0 + + WH_Definition_ID + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 61055 + + + 10 + 19 + 100 + 908d536e-28b2-11e9-8982-6c0b840adaed + + + + + + 2019-06-12 10:03:28.415 + true + 2019-06-12 10:03:28.415 + 93610 + false + Retención + 0 + 0 + 100 + 100 + es_MX + a511ff5a-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:03:28.663 + true + Withholding Amt + + 2019-06-12 10:03:28.663 + WithholdingAmt + + + + Withholding Amt + + + 10 + 12 + 61063 + 0 + 0 + WHH + 100 + + 100 + a543d606-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:03:28.975 + + true + 2019-06-12 10:03:28.975 + es_MX + + + Monto de Retención + Monto de Retención aplicada + false + Monto de Retención + + + 0 + 0 + 100 + 100 + 61063 + a5679564-82ef-11e9-bc49-0242ac140004 + + + + + + true + + 2019-06-12 10:03:29.272 + + 2019-06-12 10:03:29.272 + + 93611 + true + Withholding Amt + true + false + + + false + true + N + false + + + + 0 + + WithholdingAmt + + true + + false + N + + true + false + false + true + 2 + WHH + 0 + 0 + + 54647 + 100 + 61063 + + + 0 + 12 + 100 + a44f955a-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:03:29.689 + true + 2019-06-12 10:03:29.689 + 93611 + false + Monto de Retención + 0 + 0 + 100 + 100 + es_MX + a511ffe6-82ef-11e9-bc49-0242ac140004 + + + + + true + Table WH_Withholding + 2019-06-12 10:03:29.928 + 2019-06-12 10:03:29.928 + false + + true + false + + + + + WH_Withholding + 0 + 0 + 55106 + 1 + 1000000 + true + 50000 + 1000000 + 100 + 100 + e04d61ae-82ef-11e9-bc49-0242ac140004 + + + + + + + 0 + 54813 + false + Allocation + false + true + false + 2019-06-12 10:03:30.212 + 2019-06-12 10:03:30.212 + + true + false + + Allocation for Withholding + false + false + + false + N + + + false + 53672 + 10 + + 100 + 100 + WHH + + 0 + 54647 + + + + 0 + + 3e1ebb1a-8be8-11e9-b1db-0242ac140011 + + + + + + Asignación para Retenciones + 2019-06-12 10:03:30.56 + true + 2019-06-12 10:03:30.56 + Asignación + + + false + 0 + 0 + 54813 + 100 + 100 + es_MX + 3e3093f8-8be8-11e9-b1db-0242ac140011 + + + + + Withholding Allocation + false + 2019-06-12 10:03:30.827 + false + + 2019-06-12 10:03:30.827 + + true + + false + false + + false + false + + true + + + + + + + true + false + false + + + + false + 0 + 0 + 94717 + WHH + 100 + 100 + 0 + + 93609 + + 0 + 10 + 54813 + + f01d34b6-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:31.227 + 2019-06-12 10:03:31.227 + 0 + false + + Asignación de Retención + + 0 + 94717 + 100 + 100 + es_MX + f02637aa-8bef-11e9-8f9d-0242ac140011 + + + + + Immutable Universally Unique Identifier + false + 2019-06-12 10:03:31.488 + false + + 2019-06-12 10:03:31.488 + + true + + false + false + Immutable Universally Unique Identifier + false + false + + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + + + + + true + false + false + + + + false + 0 + 0 + 94718 + WHH + 100 + 100 + 0 + + 93608 + + 0 + 36 + 54813 + + ef6b3dd8-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:31.97 + 2019-06-12 10:03:31.97 + 0 + false + Immutable Universally Unique Identifier + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + 0 + 94718 + 100 + 100 + es_MX + ef742754-8bef-11e9-8f9d-0242ac140011 + + + + + + 93599 + + 0 + 1 + 54813 + Active + false + 2019-06-12 10:03:32.224 + false + + 2019-06-12 10:03:32.224 + + true + + false + false + The record is active in the system + false + false + + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + + + + + true + false + false + + + + false + 0 + 0 + 94719 + WHH + 100 + 100 + 0 + + eee717c4-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:32.639 + 2019-06-12 10:03:32.639 + 0 + true + El registro está activo en el sistema. + Activo + Hay dos métodos para que los registros no estén disponibles en el sistema: Uno es eliminar el registro; el otro es desactivarlo. Un registro desactivado no está disponible para selección; pero está disponible para Informes. + 0 + 94719 + 100 + 100 + es_MX + eef021fc-8bef-11e9-8f9d-0242ac140011 + + + + + Client + false + 2019-06-12 10:03:32.902 + false + + 2019-06-12 10:03:32.902 + + true + + false + false + Client/Tenant for this installation. + true + false + + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + + + + + true + false + false + + + + false + 0 + 0 + 94720 + WHH + 100 + 100 + 10 + + 93587 + + 0 + 10 + 54813 + + ef030c54-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:33.308 + 2019-06-12 10:03:33.308 + 0 + true + Compañía para esta instalación. + Compañía + Compañía o entidad legal. No se pueden compartir datos entre diferentes compañías. + 0 + 94720 + 100 + 100 + es_MX + ef0baec2-8bef-11e9-8f9d-0242ac140011 + + + + + Organization + false + 2019-06-12 10:03:33.672 + false + + 2019-06-12 10:03:33.672 + + true + + false + false + Organizational entity within client + true + false + + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + + + + + true + true + false + + + + false + 0 + 0 + 94721 + WHH + 100 + 100 + 20 + + 93588 + + 0 + 10 + 54813 + + efb0fb7a-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:34.09 + 2019-06-12 10:03:34.09 + 0 + true + Entidad organizacional dentro de la compañía. + Organización. + Una organización es una unidad de la compañía o entidad legal - Ej. Tiendas y departamentos. Es posible compartir datos entre organizaciones. + 0 + 94721 + 100 + 100 + es_MX + efbbcae6-8bef-11e9-8f9d-0242ac140011 + + + + + Document No + true + 2019-06-12 10:03:34.37 + false + + 2019-06-12 10:03:34.37 + + true + + false + false + Document sequence number of the document + true + false + + true + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + + + + + + true + false + false + + + + false + 0 + 0 + 94722 + WHH + 100 + 100 + 30 + + 93598 + + 0 + 60 + 54813 + + ef3c360a-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:34.856 + 2019-06-12 10:03:34.856 + 0 + true + Número de secuencia del documento para cada documento + No. del Documento + El número del documento es usualmente generado en automático por el sistema y determinado por el tipo del documento. Si el documento no se salva; el número preliminar se despliega entre El número del documento es usualmente generado en automático por el sistema y determinado por el tipo del documento. Si el documento no se salva; el número preliminar se despliega entre "<>". + + Si el tipo de documento de su documento no tiene secuencia automatica definida, el campo está vacío si usted crea un nuevo doc. Esto es para documentos los cuales usualmente tiene un número externo (Como factura de proveedor). Si usted deja este campo vacío, el sistema generará un número de doc para usted. + 0 + 94722 + 100 + 100 + es_MX + ef446280-8bef-11e9-8f9d-0242ac140011 + + + + + false + + Document Type + false + 2019-06-12 10:03:35.131 + 2019-06-12 10:03:35.131 + + true + + false + false + Document type or rules + true + false + + true + The Document Type determines document sequence and processing rules + + + + + + true + true + false + + + + false + 0 + 0 + 94723 + WHH + 100 + 100 + 40 + + 93589 + + 0 + 10 + 54813 + + ef599ccc-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:35.55 + 2019-06-12 10:03:35.55 + 0 + true + Tipo de documento o reglas + Tipo de Documento + El tipo de documento determina la secuencia del documento y las reglas de proceso + 0 + 94723 + 100 + 100 + es_MX + ef627572-8bef-11e9-8f9d-0242ac140011 + + + + + Document Date + false + 2019-06-12 10:03:35.819 + false + + 2019-06-12 10:03:35.819 + + true + + false + false + Date of the Document + true + false + + true + The Document Date indicates the date the document was generated. It may or may not be the same as the accounting date. + + + + + + true + false + false + + + + false + 0 + 0 + 94724 + WHH + 100 + 100 + 50 + + 93594 + + 0 + 0 + 54813 + + ef2d0982-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:36.295 + 2019-06-12 10:03:36.295 + 0 + true + Fecha del documento + F. Documento + La fecha del documento indica la fecha en que el documento fue generado. Puede o no ser la misma que la fecha contable. + 0 + 94724 + 100 + 100 + es_MX + ef35d238-8bef-11e9-8f9d-0242ac140011 + + + + + Withholding + false + 2019-06-12 10:03:36.69 + false + + 2019-06-12 10:03:36.69 + + true + + false + false + Withholding Definition is used for define a withholding rule for BP + true + false + + true + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + + + + + + true + true + false + + + + false + 0 + 0 + 94725 + WHH + 100 + 100 + 60 + + 93610 + + 0 + 10 + 54813 + + f00bb11e-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:37.137 + 2019-06-12 10:03:37.137 + 0 + false + Conservación de parte de una cantidad que se debe pagar para garantizar el cumplimiento de alguna obligación, generalmente de tipo fiscal. + Retención + La retención es la cantidad que se retiene de un sueldo, salario u otra percepción para el pago de un impuesto, de deudas en virtud de embargo, es decir, te retienen ahora para asegurar el pago del impuesto. + 0 + 94725 + 100 + 100 + es_MX + f015af02-8bef-11e9-8f9d-0242ac140011 + + + + + Description + false + 2019-06-12 10:03:37.382 + false + + 2019-06-12 10:03:37.382 + + true + + false + false + Optional short description of the record + true + false + + true + A description is limited to 255 characters. + + + + + + true + false + false + + + + false + 0 + 0 + 94726 + WHH + 100 + 100 + 70 + + 93595 + + 0 + 255 + 54813 + + ef123f6c-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:37.847 + 2019-06-12 10:03:37.847 + 0 + true + Opción de una breve descripción del registro. + Descripción + Una descripción de hasta 255 caracteres. + 0 + 94726 + 100 + 100 + es_MX + ef19c70a-8bef-11e9-8f9d-0242ac140011 + + + + + A_Base_Amount + false + 2019-06-12 10:03:38.096 + false + + 2019-06-12 10:03:38.096 + + true + + false + false + + true + false + + true + + + + + + + true + false + false + + + + false + 0 + 0 + 94727 + WHH + 100 + 100 + 80 + + 93586 + + 0 + 0 + 54813 + + eeced42a-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:38.526 + 2019-06-12 10:03:38.526 + 0 + true + + Monto Base + + 0 + 94727 + 100 + 100 + es_MX + eede7baa-8bef-11e9-8f9d-0242ac140011 + + + + + Withholding Amt + false + 2019-06-12 10:03:38.809 + false + + 2019-06-12 10:03:38.809 + + true + + false + false + + true + false + + true + + + + + + + true + true + false + + + + false + 0 + 0 + 94728 + WHH + 100 + 100 + 90 + + 93611 + + 0 + 0 + 54813 + + f02db25a-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:39.217 + 2019-06-12 10:03:39.217 + 0 + false + Monto de Retención aplicada + Monto de Retención + + 0 + 94728 + 100 + 100 + es_MX + f036ddbc-8bef-11e9-8f9d-0242ac140011 + + + + + Approved + true + 2019-06-12 10:03:39.476 + false + + 2019-06-12 10:03:39.476 + + true + + false + false + Indicates if this document requires approval + true + false + + true + The Approved checkbox indicates if this document requires approval before it can be processed. + + + + + + true + false + false + + + + false + 0 + 0 + 94729 + WHH + 100 + 100 + 100 + + 93600 + + 0 + 1 + 54813 + + eef64d48-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:39.847 + 2019-06-12 10:03:39.847 + 0 + true + Indica si este documento requiere aprobación + Aprobado + El Cuadro de Verificación Aprobado indica si este documento requiere aprobación antes de que pueda ser procesado + 0 + 94729 + 100 + 100 + es_MX + eefda9f8-8bef-11e9-8f9d-0242ac140011 + + + + + Processed + true + 2019-06-12 10:03:40.106 + false + + 2019-06-12 10:03:40.106 + + true + + false + false + The document has been processed + true + false + + true + The Processed checkbox indicates that a document has been processed. + + + + + + true + true + false + + + + false + 0 + 0 + 94730 + WHH + 100 + 100 + 110 + + 93602 + + 0 + 1 + 54813 + + efc4592c-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:40.524 + 2019-06-12 10:03:40.524 + 0 + true + El documento ha sido procesado + Procesado + El cuadro de verificación procesada indica que un documento ha sido procesado + 0 + 94730 + 100 + 100 + es_MX + efcfda18-8bef-11e9-8f9d-0242ac140011 + + + + + Process Now + true + 2019-06-12 10:03:40.792 + false + + 2019-06-12 10:03:40.792 + + true + + false + false + + true + false + + true + + + + + + + true + false + false + + + + false + 0 + 0 + 94731 + WHH + 100 + 100 + 120 + + 93603 + + 0 + 1 + 54813 + + efd72e76-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:41.184 + 2019-06-12 10:03:41.184 + 0 + true + + Procesar Ahora + + 0 + 94731 + 100 + 100 + es_MX + efe054ce-8bef-11e9-8f9d-0242ac140011 + + + + + Is Declared + true + 2019-06-12 10:03:41.444 + false + + 2019-06-12 10:03:41.444 + + true + + false + false + Show if a withholding has been declared + true + false + + true + This flag is very useful for determinate if a withholding was declared or not + + + + + + true + true + false + + + + false + 0 + 0 + 94732 + WHH + 100 + 100 + 130 + + 93601 + + 0 + 20 + 54813 + + ef9b716a-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:41.855 + 2019-06-12 10:03:41.855 + 0 + false + Indica que la Retención fue Declarada + Retención Declarada + Esta bandera es útil para determinar si una retención fue o no declarada + 0 + 94732 + 100 + 100 + es_MX + efa4cdd2-8bef-11e9-8f9d-0242ac140011 + + + + + es_MX + 101 + a8a0a75c-82ef-11e9-bc49-0242ac140004 + + + + + Document Status + true + 2019-06-12 10:03:42.38 + false + + 2019-06-12 10:03:42.38 + + true + + false + false + The current status of the document + true + false + + true + The Document Status indicates the status of a document at this time. If you want to change the document status, use the Document Action field + + + + + + true + false + false + + + + false + 0 + 0 + 94737 + WHH + 100 + 100 + 140 + 101 + 93597 + + 0 + 2 + 54813 + + ef4b395c-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:42.793 + 2019-06-12 10:03:42.793 + 0 + true + El estado actual del documento + Estado del Documento + El estado del documento indica el estado del documento en este momento. Si usted quiere cambiar el estado de Documento; use el campo acción de documento + 0 + 94737 + 100 + 100 + es_MX + ef53865c-8bef-11e9-8f9d-0242ac140011 + + + + + Document Action + false + 2019-06-12 10:03:43.111 + false + + 2019-06-12 10:03:43.111 + + true + + false + false + The targeted status of the document + true + false + + true + You find the current status in the Document Status field. The options are listed in a popup + + + + + + true + true + false + + + + false + 0 + 0 + 94773 + WHH + 100 + 100 + 150 + + 93665 + + 0 + 2 + 54813 + + 3d1d85b4-8c80-11e9-9f0a-ab7caf268e93 + + + + + true + 2019-06-12 10:03:43.682 + 2019-06-12 10:03:43.682 + 0 + false + + Process Withholding Allocation + + 0 + 94773 + 100 + 100 + es_MX + 3d6ee2d8-8c80-11e9-9f39-57143a048270 + + + + + 104 + es_MX + a8a082ea-82ef-11e9-bc49-0242ac140004 + + + + + Source Invoice + true + 2019-06-12 10:03:44.154 + false + + 2019-06-12 10:03:44.154 + + true + + false + false + + true + false + + true + + + + + + + true + false + false + + + + false + 0 + 0 + 94733 + WHH + 100 + 100 + 160 + 104 + 93604 + + 0 + 10 + 54813 + + efe81e48-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:44.545 + 2019-06-12 10:03:44.545 + 0 + false + + Factura Fuente + + 0 + 94733 + 100 + 100 + es_MX + eff23766-8bef-11e9-8f9d-0242ac140011 + + + + + Source Invoice Line + true + 2019-06-12 10:03:44.784 + false + + 2019-06-12 10:03:44.784 + + true + + false + false + + true + false + + true + + + + + + + true + true + false + + + + false + 0 + 0 + 94734 + WHH + 100 + 100 + 170 + + 93605 + + 0 + 10 + 54813 + + eff992fe-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:45.198 + 2019-06-12 10:03:45.198 + 0 + false + + Línea de Factura Fuente + + 0 + 94734 + 100 + 100 + es_MX + f0042a84-8bef-11e9-8f9d-0242ac140011 + + + + + Invoice + true + 2019-06-12 10:03:45.463 + false + + 2019-06-12 10:03:45.463 + + true + + false + false + Invoice Identifier + true + false + + true + The Invoice Document. + + + + + + true + false + false + + + + false + 0 + 0 + 94735 + WHH + 100 + 100 + 180 + + 93590 + + 0 + 10 + 54813 + + ef7bd1f2-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:45.863 + 2019-06-12 10:03:45.863 + 0 + true + Identificador de la factura + Factura + La ID de Factura identifica únicamente un documento de Factura. + 0 + 94735 + 100 + 100 + es_MX + ef8360ac-8bef-11e9-8f9d-0242ac140011 + + + + + Invoice Line + true + 2019-06-12 10:03:46.105 + false + + 2019-06-12 10:03:46.105 + + true + + false + false + Invoice Detail Line + true + false + + true + The Invoice Line uniquely identifies a single line of an Invoice. + + + + + + true + true + false + + + + false + 0 + 0 + 94736 + WHH + 100 + 100 + 190 + + 93591 + + 0 + 10 + 54813 + + ef89e30a-8bef-11e9-8f9d-0242ac140011 + + + + + true + 2019-06-12 10:03:46.489 + 2019-06-12 10:03:46.489 + 0 + true + Línea de detalle de factura + Línea de Factura + La línea de la factura identifica de manera única una línea de la factura + 0 + 94736 + 100 + 100 + es_MX + ef93f55c-8bef-11e9-8f9d-0242ac140011 + + + + + true + + Withholding Allocation + 2019-06-12 10:03:46.737 + 2019-06-12 10:03:46.737 + + false + false + false + true + Withholding Allocation + W + 0 + 54467 + 0 + + WHH + + 53672 + 100 + + 100 + + fee51904-8bf0-11e9-8e42-0242ac140011 + + + + + 323bacda-8c70-11e9-9a31-d3d9bd35ad31 + true + 2019-06-12 10:03:47.042 + 2019-06-12 10:03:47.042 + 0 + 0 + 54467 + 54465 + 100 + 100 + 1 + 10 + + + + + + 8bdae39c-2a22-11e9-a24d-6c0b840adaed + org.spin.process.WithholdingGenerate + This process allows generate withholding from AP Invoices for add to declaration party + false + false + 0 + 0 + 100 + 100 + 54243 + 0 + 0 + + + + WHH + + 2019-06-12 10:03:47.279 + 2019-06-12 10:03:47.279 + + false + N + true + Y + Withholding Generate + Withholding Generate is used for generate based on AP Documents + WithholdingGenerate + + 3 + false + N + + + + + + true + 2019-06-12 10:03:47.587 + 2019-06-12 10:03:47.587 + Generar Retención es usado para generar desde Documentos por Pagar + Éste proceso permite generar retenciones desde Documentos por Pagar para agregar a la declaración + false + Generar Retención + 0 + 0 + 100 + es_MX + 54243 + 100 + 8be14304-2a22-11e9-a24e-6c0b840adaed + + + + + 2019-06-12 10:03:47.837 + Organization + true + false + 2019-06-12 10:03:47.837 + false + + AD_Org_ID + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + true + + + + -1 + + false + 56932 + 0 + 0 + WHH + 22 + 54243 + 100 + 19 + + 10 + 100 + + 113 + 5eb74bb6-2a23-11e9-b082-6c0b840adaed + + + + + 2019-06-12 10:03:48.272 + true + 2019-06-12 10:03:48.272 + Organización. + true + Entidad organizacional dentro de la compañía. + Una organización es una unidad de la compañía o entidad legal - Ej. Tiendas y departamentos. Es posible compartir datos entre organizaciones. + 56932 + 0 + 0 + 100 + es_MX + 100 + 5ebce63e-2a23-11e9-b083-6c0b840adaed + + + + + + 2019-06-12 10:03:48.535 + Business Partner + true + false + 2019-06-12 10:03:48.535 + false + + C_BPartner_ID + Identifies a Business Partner + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + + true + + + + + false + 56933 + 0 + 0 + WHH + 22 + 54243 + 100 + 30 + + 20 + 100 + + 187 + 93e3ebbe-2a23-11e9-b085-6c0b840adaed + + + + + 2019-06-12 10:03:48.878 + true + 2019-06-12 10:03:48.878 + Socio del Negocio + true + Identifica un Socio del Negocio + Un Socio del Negocio es cualquiera con quien usted realiza transacciones. Este puede incluir Proveedores; Clientes; Empleados o Vendedores. + 56933 + 0 + 0 + 100 + es_MX + 100 + 93e56c46-2a23-11e9-b086-6c0b840adaed + + + + + 2019-06-12 10:03:49.121 + Invoice + true + false + 2019-06-12 10:03:49.121 + false + + C_Invoice_ID + Invoice Identifier + The Invoice Document. + + true + + + + + + false + 56934 + 0 + 0 + WHH + 22 + 54243 + 100 + 30 + 220 + 30 + 100 + 336 + 1008 + e17f6416-2a23-11e9-b088-6c0b840adaed + + + + + 2019-06-12 10:03:49.468 + true + 2019-06-12 10:03:49.468 + Factura + true + Identificador de la factura + La ID de Factura identifica únicamente un documento de Factura. + 56934 + 0 + 0 + 100 + es_MX + 100 + e1801e6a-2a23-11e9-b089-6c0b840adaed + + + + + es_MX + 263 + a5570ad2-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:03:50.004 + Account Date + true + false + 2019-06-12 10:03:50.004 + false + + DateAcct + Accounting Date + The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion. + + true + + + + + + false + 56935 + 0 + 0 + WHH + 7 + 54243 + 100 + 15 + + 40 + 100 + + 263 + 130b7902-2a24-11e9-b08d-6c0b840adaed + + + + + 2019-06-12 10:03:50.363 + true + 2019-06-12 10:03:50.363 + Fecha Contable + true + Fecha contable + La fecha contable indica la fecha a ser usada en las cuentas de contabilidad general generadas desde este documento + 56935 + 0 + 0 + 100 + es_MX + 100 + 130c9cf6-2a24-11e9-b08e-6c0b840adaed + + + + + 2019-06-12 10:03:50.615 + Withholding Type + true + false + 2019-06-12 10:03:50.615 + false + + WH_Type_ID + Indicates the types of national tax withholdings + In the window the types of existing national tax withholdings are indicated. + + true + + + + + + false + 56936 + 0 + 0 + WHH + 10 + 54243 + 100 + 19 + + 50 + 100 + + 61056 + 2687a596-2a24-11e9-b090-6c0b840adaed + + + + + 2019-06-12 10:03:50.962 + true + 2019-06-12 10:03:50.962 + Tipo de Retención + false + Identifica las Diversas Retenciones Existentes + + 56936 + 0 + 0 + 100 + es_MX + 100 + 26891da4-2a24-11e9-b091-6c0b840adaed + + + + + 2019-06-12 10:03:51.222 + Document Date + true + false + 2019-06-12 10:03:51.222 + true + + DateDoc + Date of the Document + The Document Date indicates the date the document was generated. It may or may not be the same as the accounting date. + + true + + + + @#Date@ + + false + 56937 + 0 + 0 + WHH + 0 + 54243 + 100 + 15 + + 60 + 100 + + 265 + 418f6dd8-2a24-11e9-b093-6c0b840adaed + + + + + 2019-06-12 10:03:51.616 + true + 2019-06-12 10:03:51.616 + F. Documento + true + Fecha del documento + La fecha del documento indica la fecha en que el documento fue generado. Puede o no ser la misma que la fecha contable. + 56937 + 0 + 0 + 100 + es_MX + 100 + 41902778-2a24-11e9-b094-6c0b840adaed + + + + + true + + Withholding Generate + 2019-06-12 10:03:51.874 + 2019-06-12 10:03:51.874 + + false + false + true + true + Withholding Generate is used for generate based on AP Documents + P + 0 + 54468 + 0 + + WHH + + + 100 + + 100 + 54243 + aab8d16e-2a29-11e9-8f2f-6c0b840adaed + + + + + 33290890-8c70-11e9-9a5a-c3cd1804a8c9 + true + 2019-06-12 10:03:52.205 + 2019-06-12 10:03:52.205 + 0 + 0 + 54468 + 54465 + 100 + 100 + 0 + 10 + + + + + 2019-06-12 10:03:52.487 + false + 0 + 100 + Indicates the types of national tax withholdings + true + false + 100 + 53673 + WHH + 0 + 0 + + + 0 + false + Withholding Type + In the window the types of existing national tax withholdings are indicated. + 79c9cc84-2894-11e9-a338-6c0b840adaed + M + true + 2019-06-12 10:03:52.487 + + + + + + 2019-06-12 10:03:52.804 + Indica el Tipo de Retención de Impuesto + 2019-06-12 10:03:52.804 + true + es_MX + En la ventana Tipo de Retención se configuran llos tipos de retención que se aplican a impuestos + Tipo de Retención + false + 0 + 0 + 100 + 100 + 53673 + e26e8300-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:03:53.191 + 2019-06-12 10:03:53.191 + Withholding Type + false + + true + Group for Withholding + N + WH_Type + 3 + + L + false + 0 + false + false + N + false + true + false + true + 0 + 0 + 54648 + WHH + + 53673 + 100 + 0 + 100 + + 3ef7a4da-2977-11e9-943f-6c0b840adaed + + + + + 2019-06-12 10:03:53.532 + 2019-06-12 10:03:53.532 + false + true + Tipo de Retención + 0 + 0 + es_MX + 54648 + 100 + 100 + e09ad966-82ef-11e9-bc49-0242ac140004 + + + + + Client/Tenant for this installation. + true + + 2019-06-12 10:03:53.804 + + 2019-06-12 10:03:53.804 + + 93612 + false + Client + true + false + @#AD_Client_ID@ + + false + false + N + false + + + + 1 + + AD_Client_ID + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + true + + false + N + + true + false + false + false + 0 + WHH + 0 + 0 + + 54648 + 100 + 102 + + 129 + 10 + 19 + 100 + a44f6d0a-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:03:54.248 + true + 2019-06-12 10:03:54.248 + 93612 + false + Compañía + 0 + 0 + 100 + 100 + es_MX + a511e6fa-82ef-11e9-bc49-0242ac140004 + + + + + Organizational entity within client + true + + 2019-06-12 10:03:54.492 + + 2019-06-12 10:03:54.492 + + 93613 + false + Organization + true + false + @#AD_Org_ID@ + + false + false + N + false + + + + 1 + + AD_Org_ID + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54648 + 100 + 113 + + 104 + 10 + 19 + 100 + a44f3a2e-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:03:54.913 + true + 2019-06-12 10:03:54.913 + 93613 + false + Organización. + 0 + 0 + 100 + 100 + es_MX + a511e786-82ef-11e9-bc49-0242ac140004 + + + + + es_MX + 53905 + a5677e9e-82ef-11e9-bc49-0242ac140004 + + + + + View allows you to create dynamic views of information from the dictionary application + true + + 2019-06-12 10:03:55.445 + + 2019-06-12 10:03:55.445 + + 93614 + false + View + true + false + + + false + true + N + false + + + + 0 + + AD_View_ID + These views can be based on tables and views of the dictionary application. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54648 + 100 + 53905 + + + 10 + 19 + 100 + a44f9c6c-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:03:56.001 + true + 2019-06-12 10:03:56.001 + 93614 + false + View + 0 + 0 + 100 + 100 + es_MX + a51200f4-82ef-11e9-bc49-0242ac140004 + + + + + Date this record was created + true + + 2019-06-12 10:03:56.269 + + 2019-06-12 10:03:56.269 + + 93615 + false + Created + true + false + + + false + false + N + false + + + + 1 + + Created + The Created field indicates the date that this record was created. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54648 + 100 + 245 + + + 0 + 16 + 100 + a44f0c20-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:03:56.756 + true + 2019-06-12 10:03:56.756 + 93615 + false + Creado. + 0 + 0 + 100 + 100 + es_MX + a511e240-82ef-11e9-bc49-0242ac140004 + + + + + User who created this records + true + + 2019-06-12 10:03:57.036 + + 2019-06-12 10:03:57.036 + + 93616 + false + Created By + true + false + + + false + false + N + false + + + + 1 + + CreatedBy + The Created By field indicates the user who created this record. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54648 + 100 + 246 + 110 + + 10 + 18 + 100 + a44f1f9e-82ef-11e9-bc49-0242ac140004 + + + + + + 93616 + 2019-06-12 10:03:57.521 + true + 2019-06-12 10:03:57.521 + false + Creado Por. + 0 + 0 + 100 + 100 + es_MX + a511e358-82ef-11e9-bc49-0242ac140004 + + + + + + 255 + Optional short description of the record + true + + 2019-06-12 10:03:57.769 + + 2019-06-12 10:03:57.769 + + 93617 + false + Description + false + false + + + false + true + N + false + + + + 0 + + Description + A description is limited to 255 characters. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54648 + 100 + 275 + + 14 + 100 + 3b1fb7e0-2895-11e9-a440-6c0b840adaed + + + + + + 2019-06-12 10:03:58.272 + true + 2019-06-12 10:03:58.272 + 93617 + false + Descripción + 0 + 0 + 100 + 100 + es_MX + 3b249abc-2895-11e9-a441-6c0b840adaed + + + + + The record is active in the system + true + + 2019-06-12 10:03:58.622 + + 2019-06-12 10:03:58.622 + + 93618 + false + Active + true + false + Y + + false + false + N + false + + + + 1 + + IsActive + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54648 + 100 + 348 + + + 1 + 20 + 100 + a44f6e22-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:03:59.149 + true + 2019-06-12 10:03:59.149 + 93618 + false + Activo + 0 + 0 + 100 + 100 + es_MX + a511d782-82ef-11e9-bc49-0242ac140004 + + + + + Alphanumeric identifier of the entity + true + + 2019-06-12 10:03:59.406 + + 2019-06-12 10:03:59.406 + + 93619 + true + Name + true + false + + + false + true + N + false + + + + 0 + + Name + The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length. + true + + false + N + + true + false + false + true + 2 + WHH + 0 + 0 + + 54648 + 100 + 469 + + + 255 + 10 + 100 + 6d0f24b0-28aa-11e9-be26-6c0b840adaed + + + + + + 2019-06-12 10:03:59.968 + true + 2019-06-12 10:03:59.968 + 93619 + false + Nombre + 0 + 0 + 100 + 100 + es_MX + a511d246-82ef-11e9-bc49-0242ac140004 + + + + + + false + false + Date this record was updated + true + + 2019-06-12 10:04:00.235 + + 2019-06-12 10:04:00.235 + + 93620 + false + Updated + true + false + + N + false + + + + 1 + + Updated + The Updated field indicates the date that this record was updated. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54648 + 100 + 607 + + + 0 + 16 + 100 + a44f185a-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:00.679 + true + 2019-06-12 10:04:00.679 + 93620 + false + Actualizado. + 0 + 0 + 100 + 100 + es_MX + a511e2cc-82ef-11e9-bc49-0242ac140004 + + + + + User who updated this records + true + + 2019-06-12 10:04:00.934 + + 2019-06-12 10:04:00.934 + + 93621 + false + Updated By + true + false + + + false + false + N + false + + + + 1 + + UpdatedBy + The Updated By field indicates the user who updated this record. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54648 + 100 + 608 + 110 + + 10 + 18 + 100 + a44f34a2-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:01.359 + true + 2019-06-12 10:04:01.359 + 93621 + false + Actualizado por. + 0 + 0 + 100 + 100 + es_MX + a511e3da-82ef-11e9-bc49-0242ac140004 + + + + + Immutable Universally Unique Identifier + true + + 2019-06-12 10:04:01.605 + + 2019-06-12 10:04:01.605 + + 93622 + false + Immutable Universally Unique Identifier + false + false + + + false + false + N + false + + + + 1 + + UUID + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54648 + 100 + 59595 + + + 36 + 10 + 100 + a44f58ec-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:02.083 + true + 2019-06-12 10:04:02.083 + 93622 + false + Immutable Universally Unique Identifier + 0 + 0 + 100 + 100 + es_MX + a511d138-82ef-11e9-bc49-0242ac140004 + + + + + 620 + es_MX + a566c454-82ef-11e9-bc49-0242ac140004 + + + + + Search key for the record in the format required - must be unique + true + + 2019-06-12 10:04:02.618 + + 2019-06-12 10:04:02.618 + + 93623 + true + Search Key + true + false + + + false + true + N + false + + + + 0 + + Value + A search key allows you a fast method of finding a particular record. +If you leave the search key empty, the system automatically creates a numeric number. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + true + + false + N + + true + false + false + true + 1 + WHH + 0 + 0 + + 54648 + 100 + 620 + + + 255 + 10 + 100 + a44f7020-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:03.098 + true + 2019-06-12 10:04:03.098 + 93623 + false + Código + 0 + 0 + 100 + 100 + es_MX + a511e45c-82ef-11e9-bc49-0242ac140004 + + + + + Indicates the types of national tax withholdings + true + + 2019-06-12 10:04:03.364 + + 2019-06-12 10:04:03.364 + + 93624 + false + Withholding Type + true + false + + + false + false + N + true + + + + 0 + + WH_Type_ID + In the window the types of existing national tax withholdings are indicated. + false + + false + N + + true + false + false + false + 0 + WHH + 0 + 0 + + 54648 + 100 + 61056 + + + 10 + 13 + 100 + d2d8ad86-2899-11e9-a45e-6c0b840adaed + + + + + + 2019-06-12 10:04:03.834 + true + 2019-06-12 10:04:03.834 + 93624 + false + Tipo de Retención + 0 + 0 + 100 + 100 + es_MX + a511e812-82ef-11e9-bc49-0242ac140004 + + + + + true + Table WH_Type + 2019-06-12 10:04:04.103 + 2019-06-12 10:04:04.103 + false + + true + false + + + + + WH_Type + 0 + 0 + 55107 + 1 + 1000000 + true + 50000 + 1000005 + 100 + 100 + e04d649c-82ef-11e9-bc49-0242ac140004 + + + + + + + 0 + 54814 + true + Withholding Type + false + false + false + 2019-06-12 10:04:04.428 + 2019-06-12 10:04:04.428 + + true + false + + Indicates the types of national tax withholdings + false + false + + false + N + + + true + 53673 + 10 + + 100 + 100 + WHH + + 0 + 54648 + + + + 0 + + ce477458-288c-11e9-a3ae-6c0b840adaed + + + + + + Indica el Tipo de Retención de Impuesto + 2019-06-12 10:04:04.905 + true + 2019-06-12 10:04:04.905 + Tipo de Retención + + En la pestaña Tipo de Retención se configuran llos tipos de retención que se aplican a impuestos + false + 0 + 0 + 54814 + 100 + 100 + es_MX + e0aadaf0-82ef-11e9-bc49-0242ac140004 + + + + + Immutable Universally Unique Identifier + false + 2019-06-12 10:04:05.187 + false + + 2019-06-12 10:04:05.187 + + true + + false + false + Immutable Universally Unique Identifier + false + false + + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + + + + + true + false + false + + + + false + 0 + 0 + 94739 + WHH + 100 + 100 + 0 + + 93622 + + 0 + 36 + 54814 + + a68dd91c-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:05.637 + 2019-06-12 10:04:05.637 + 0 + false + Immutable Universally Unique Identifier + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + 0 + 94739 + 100 + 100 + es_MX + aa1f19f6-82ef-11e9-bc49-0242ac140004 + + + + + Withholding Type + false + 2019-06-12 10:04:05.922 + false + + 2019-06-12 10:04:05.922 + + true + + false + false + Indicates the types of national tax withholdings + false + false + + true + In the window the types of existing national tax withholdings are indicated. + + + + + + true + false + false + + + + false + 0 + 0 + 94740 + WHH + 100 + 100 + 0 + + 93624 + + 0 + 10 + 54814 + + d2db3998-2899-11e9-a461-6c0b840adaed + + + + + true + 2019-06-12 10:04:06.363 + 2019-06-12 10:04:06.363 + 0 + false + Identifica las Diversas Retenciones Existentes + Tipo de Retención + + 0 + 94740 + 100 + 100 + es_MX + aa1f3b66-82ef-11e9-bc49-0242ac140004 + + + + + Client + false + 2019-06-12 10:04:06.674 + false + + 2019-06-12 10:04:06.674 + + true + + false + false + Client/Tenant for this installation. + true + false + + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + + + + + true + false + false + + + + false + 0 + 0 + 94741 + WHH + 100 + 100 + 10 + + 93612 + + 0 + 10 + 54814 + + 79203492-2896-11e9-a3b8-6c0b840adaed + + + + + true + 2019-06-12 10:04:07.124 + 2019-06-12 10:04:07.124 + 0 + true + Compañía para esta instalación. + Compañía + Compañía o entidad legal. No se pueden compartir datos entre diferentes compañías. + 0 + 94741 + 100 + 100 + es_MX + aa1f286a-82ef-11e9-bc49-0242ac140004 + + + + + Organization + false + 2019-06-12 10:04:07.448 + false + + 2019-06-12 10:04:07.448 + + true + + false + false + Organizational entity within client + true + false + + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + + + + + true + true + false + + + + false + 0 + 0 + 94742 + WHH + 100 + 100 + 20 + + 93613 + + 0 + 10 + 54814 + + a69025e6-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:07.888 + 2019-06-12 10:04:07.888 + 0 + true + Entidad organizacional dentro de la compañía. + Organización. + Una organización es una unidad de la compañía o entidad legal - Ej. Tiendas y departamentos. Es posible compartir datos entre organizaciones. + 0 + 94742 + 100 + 100 + es_MX + aa1f2afe-82ef-11e9-bc49-0242ac140004 + + + + + Search Key + false + 2019-06-12 10:04:08.142 + false + + 2019-06-12 10:04:08.142 + + true + + false + false + Search key for the record in the format required - must be unique + true + false + + true + A search key allows you a fast method of finding a particular record. +If you leave the search key empty, the system automatically creates a numeric number. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + + + + + + true + false + false + + + + false + 0 + 0 + 94743 + WHH + 100 + 100 + 30 + + 93623 + + 0 + 10 + 54814 + + a68ddaf2-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:08.57 + 2019-06-12 10:04:08.57 + 0 + true + El código para el registro en el formato requerido; debe ser único. + Código + Un código le permite a usted un método rápido de encontrar un registro en particular. + 0 + 94743 + 100 + 100 + es_MX + aa1f2900-82ef-11e9-bc49-0242ac140004 + + + + + View + false + 2019-06-12 10:04:08.836 + false + + 2019-06-12 10:04:08.836 + + true + + false + false + View allows you to create dynamic views of information from the dictionary application + true + false + + true + These views can be based on tables and views of the dictionary application. + + + + + + true + true + false + + + + false + 0 + 0 + 94744 + WHH + 100 + 100 + 40 + + 93614 + + 0 + 10 + 54814 + + 90107bae-8c63-11e9-8b3c-572e93ab6975 + + + + + true + 2019-06-12 10:04:09.288 + 2019-06-12 10:04:09.288 + 0 + false + View allows you to create dynamic views of information from the dictionary application + View + These views can be based on tables and views of the dictionary application. + 0 + 94744 + 100 + 100 + es_MX + e2c9cc90-8c6f-11e9-b132-57ee97d825a1 + + + + + Name + false + 2019-06-12 10:04:09.574 + false + + 2019-06-12 10:04:09.574 + + true + + false + false + Alphanumeric identifier of the entity + true + false + + true + The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length. + + + + + + true + false + false + + + + false + 0 + 0 + 94745 + WHH + 100 + 100 + 50 + + 93619 + + 0 + 60 + 54814 + + a68ddbce-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:10.036 + 2019-06-12 10:04:10.036 + 0 + true + Identificador alfanumérico de la entidad. + Nombre + El nombre de una entidad (registro) se usa como una opción de búsqueda predeterminada, adicional al código. El nombre es de hasta 60 caracteres de longitud. + 0 + 94745 + 100 + 100 + es_MX + aa1f2a72-82ef-11e9-bc49-0242ac140004 + + + + + + Active + false + 2019-06-12 10:04:10.315 + false + + 2019-06-12 10:04:10.315 + + true + + false + false + The record is active in the system + true + false + + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + + + + + true + false + false + + + + false + 0 + 0 + 94746 + WHH + 100 + 100 + 60 + + 93618 + 0 + 1 + 54814 + + a68dda16-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:10.822 + 2019-06-12 10:04:10.822 + 0 + true + El registro está activo en el sistema. + Activo + Hay dos métodos para que los registros no estén disponibles en el sistema: Uno es eliminar el registro; el otro es desactivarlo. Un registro desactivado no está disponible para selección; pero está disponible para Informes. + 0 + 94746 + 100 + 100 + es_MX + aa1f29e6-82ef-11e9-bc49-0242ac140004 + + + + + Description + false + 2019-06-12 10:04:11.09 + false + + 2019-06-12 10:04:11.09 + + true + + false + false + Optional short description of the record + true + false + 0 + true + A description is limited to 255 characters. + + + + + 0 + true + false + false + + + + false + 0 + 0 + 94747 + WHH + 100 + 100 + 70 + + 93617 + + 70 + 30 + 54814 + + cc9142d4-2895-11e9-a449-6c0b840adaed + + + + + true + 2019-06-12 10:04:11.552 + 2019-06-12 10:04:11.552 + 0 + true + Opción de una breve descripción del registro. + Descripción + Una descripción de hasta 255 caracteres. + 0 + 94747 + 100 + 100 + es_MX + cc943f34-2895-11e9-a44a-6c0b840adaed + + + + + 2019-06-12 10:04:11.841 + 2019-06-12 10:04:11.841 + Withholding Setting + false + + true + specifies the setting to each applied withholding + N + WH_Setting + 3 + In this sale the functionalities are specified to each applied retention + L + false + 0 + false + false + N + false + true + false + true + 0 + 0 + 54649 + WHH + + 53673 + 100 + 0 + 100 + + e0845bbe-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:04:12.218 + 2019-06-12 10:04:12.218 + false + true + Funcionalidades + 0 + 0 + es_MX + 54649 + 100 + 100 + e09adbe6-82ef-11e9-bc49-0242ac140004 + + + + + Client/Tenant for this installation. + true + + 2019-06-12 10:04:12.502 + + 2019-06-12 10:04:12.502 + + 93625 + false + Client + true + false + @#AD_Client_ID@ + + false + false + N + false + + + + 1 + + AD_Client_ID + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54649 + 100 + 102 + + 129 + 10 + 19 + 100 + a44f9d70-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:12.992 + true + 2019-06-12 10:04:12.992 + 93625 + false + Compañía + 0 + 0 + 100 + 100 + es_MX + a5120658-82ef-11e9-bc49-0242ac140004 + + + + + Organizational entity within client + true + + 2019-06-12 10:04:13.261 + + 2019-06-12 10:04:13.261 + + 93626 + false + Organization + true + false + @#AD_Org_ID@ + + false + false + N + false + + + + 1 + + AD_Org_ID + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54649 + 100 + 113 + + 104 + 10 + 19 + 100 + a44f9e6a-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:13.727 + true + 2019-06-12 10:04:13.727 + 93626 + false + Organización. + 0 + 0 + 100 + 100 + es_MX + a5120202-82ef-11e9-bc49-0242ac140004 + + + + + Database Table information + true + + 2019-06-12 10:04:14.103 + + 2019-06-12 10:04:14.103 + + 93627 + false + Table + false + false + + + false + true + N + false + + + + 0 + + AD_Table_ID + The Database Table provides the information of the table definition + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54649 + 100 + 126 + + + 10 + 19 + 100 + 114b1f16-8c6a-11e9-b0a8-17841e74bc38 + + + + + + 2019-06-12 10:04:14.53 + true + 2019-06-12 10:04:14.53 + 93627 + false + Tabla + 0 + 0 + 100 + 100 + es_MX + 114ea816-8c6a-11e9-b0aa-175cc288b1aa + + + + + Additional document charges + true + + 2019-06-12 10:04:14.81 + + 2019-06-12 10:04:14.81 + + 93628 + false + Charge + false + false + + + false + false + N + false + + + + 0 + + C_Charge_ID + The Charge indicates a type of Charge (Handling, Shipping, Restocking) + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54649 + 100 + 968 + 200 + 52029 + 10 + 18 + 100 + bb7925c4-8c6e-11e9-b14f-a3a6d75fd0e8 + + + + + + 2019-06-12 10:04:15.298 + true + 2019-06-12 10:04:15.298 + 93628 + false + Cargo + 0 + 0 + 100 + 100 + es_MX + bb7d47c6-8c6e-11e9-b151-3742e656e6e3 + + + + + Document type or rules + true + + 2019-06-12 10:04:15.563 + + 2019-06-12 10:04:15.563 + + 93629 + false + Document Type + false + false + + + false + false + N + false + + + + 0 + + C_DocType_ID + The Document Type determines document sequence and processing rules + true + + false + N + + true + false + false + false + 0 + WHH + 0 + 0 + + 54649 + 100 + 196 + + 173 + 10 + 19 + 100 + b3605ef2-8c6e-11e9-b14c-97b1ead6a2eb + + + + + + 2019-06-12 10:04:16.025 + true + 2019-06-12 10:04:16.025 + 93629 + false + Tipo de Documento + 0 + 0 + 100 + 100 + es_MX + b3640296-8c6e-11e9-b14e-3395c2c7ee00 + + + + + Date this record was created + true + + 2019-06-12 10:04:16.299 + + 2019-06-12 10:04:16.299 + + 93630 + false + Created + true + false + + + false + false + N + false + + + + 1 + + Created + The Created field indicates the date that this record was created. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54649 + 100 + 245 + + + 0 + 16 + 100 + a44fa072-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:16.786 + true + 2019-06-12 10:04:16.786 + 93630 + false + Creado. + 0 + 0 + 100 + 100 + es_MX + a5120306-82ef-11e9-bc49-0242ac140004 + + + + + User who created this records + true + + 2019-06-12 10:04:17.041 + + 2019-06-12 10:04:17.041 + + 93631 + false + Created By + true + false + + + false + false + N + false + + + + 1 + + CreatedBy + The Created By field indicates the user who created this record. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54649 + 100 + 246 + 110 + + 10 + 18 + 100 + a44fa284-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:17.562 + true + 2019-06-12 10:04:17.562 + 93631 + false + Creado Por. + 0 + 0 + 100 + 100 + es_MX + a5120766-82ef-11e9-bc49-0242ac140004 + + + + + Optional short description of the record + true + + 2019-06-12 10:04:17.838 + + 2019-06-12 10:04:17.838 + + 93632 + false + Description + false + false + + + false + true + N + false + + + + 0 + + Description + A description is limited to 255 characters. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54649 + 100 + 275 + + + 255 + 14 + 100 + a44f4d70-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:18.327 + true + 2019-06-12 10:04:18.327 + 93632 + false + Descripción + 0 + 0 + 100 + 100 + es_MX + a5120900-82ef-11e9-bc49-0242ac140004 + + + + + 53237 + es_MX + ee55cb4a-8c6f-11e9-b455-232d0a767099 + + + + + 53300 + es_MX + eefe1d86-8c6f-11e9-b46e-c79eb74db918 + + + + + 53301 + es_MX + ef56cb98-8c6f-11e9-b47a-2734c77fb2c7 + + + + + 53302 + es_MX + efb10f86-8c6f-11e9-b486-2fb8daa05f3f + + + + + 53303 + es_MX + f00313a8-8c6f-11e9-b492-aff19513c111 + + + + + 53304 + es_MX + f062d658-8c6f-11e9-b49e-4b7fbfbc0809 + + + + + 53305 + es_MX + f0acb14c-8c6f-11e9-b4aa-d76567b9af71 + + + + + 53306 + es_MX + f0f8afe8-8c6f-11e9-b4b6-7f51a93e7eac + + + + + 53307 + es_MX + f14fbe82-8c6f-11e9-b4c2-c7e16df99002 + + + + + 53308 + es_MX + f1a32fc2-8c6f-11e9-b4ce-1377a1d61e7d + + + + + 53309 + es_MX + f1fb7e3e-8c6f-11e9-b4da-ff3429e69921 + + + + + 53310 + es_MX + f25716d6-8c6f-11e9-b4e6-0780441ec9a7 + + + + + 53311 + es_MX + f2a8e38a-8c6f-11e9-b4f2-b7eabc274b5b + + + + + 53312 + es_MX + f2f4c53e-8c6f-11e9-b4fe-1f96b360920c + + + + + 53313 + es_MX + f34f3960-8c6f-11e9-b50a-d7fb00286702 + + + + + 53314 + es_MX + f3a15a4c-8c6f-11e9-b516-d3c23bd1e648 + + + + + 53315 + es_MX + f3ef2768-8c6f-11e9-b522-4bf7c889246c + + + + + 53316 + es_MX + f4458446-8c6f-11e9-b52e-27ebad44d086 + + + + + 53317 + es_MX + f494acd8-8c6f-11e9-b53a-832ef4a50ae6 + + + + + 53318 + es_MX + f4f33794-8c6f-11e9-b546-fb005ccd41fa + + + + + 53319 + es_MX + f5418ed0-8c6f-11e9-b552-0b5ba74b8659 + + + + + 53320 + es_MX + f5911310-8c6f-11e9-b55e-c34cd88dd5d6 + + + + + 53339 + es_MX + f6a2b38a-8c6f-11e9-b582-3b69fd411b39 + + + + + 53299 + es_MX + eeac4218-8c6f-11e9-b462-eb751af7d14b + + + + + 53337 + es_MX + f5dfb2fe-8c6f-11e9-b56a-9b1633f21cb2 + + + + + 53338 + es_MX + f63c9668-8c6f-11e9-b576-6b96d25ca50a + + + + + es_MX + 53338 + f6ffcfe8-8c6f-11e9-b591-dbde84f61849 + + + + + + true + + 2019-06-12 10:04:25.895 + + 2019-06-12 10:04:25.895 + + 93633 + false + Event Model Validator + false + false + + + false + true + N + false + + + + 0 + + EventModelValidator + + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54649 + 100 + 53338 + 53237 + + 4 + 17 + 100 + 07c1f456-8c6a-11e9-b0a5-33d64f7ab2ef + + + + + + 2019-06-12 10:04:26.448 + true + 2019-06-12 10:04:26.448 + 93633 + false + Evento Validador del Modelo + 0 + 0 + 100 + 100 + es_MX + 07c586d4-8c6a-11e9-b0a7-6b1ec20c845f + + + + + 2019-06-12 10:04:26.703 + true + 2019-06-12 10:04:26.703 + L + + false + + WH_Setting Event Type + + 54139 + 0 + 0 + WHH + 100 + 100 + 204827b6-8c6a-11e9-866f-378a5ab15fc6 + + + + + WH_Setting Event Type + + true + 2019-06-12 10:04:26.978 + 2019-06-12 10:04:26.978 + 100 + false + + 0 + 0 + 100 + es_MX + 54139 + 204db690-8c6a-11e9-8671-0312686da06d + + + + + true + 2019-06-12 10:04:27.239 + 2019-06-12 10:04:27.239 + P + WHH + 54139 + Document Process called from menu + + Process + + 55367 + 0 + 0 + 100 + 100 + 2ae4ef1a-8c6a-11e9-8672-6bb163462e94 + + + + + 2019-06-12 10:04:27.556 + 2019-06-12 10:04:27.556 + true + Proceso + false + Proceso de un Documento llamado desde el menú + 0 + 0 + 100 + 100 + 55367 + es_MX + 2ae6b16a-8c6a-11e9-8674-2f56f52870c3 + + + + + true + 2019-06-12 10:04:27.876 + 2019-06-12 10:04:27.876 + E + WHH + 54139 + Table or Document Event + + Event + + 55368 + 0 + 0 + 100 + 100 + 58912046-8c6a-11e9-8676-030d9c1adb19 + + + + + 2019-06-12 10:04:28.169 + 2019-06-12 10:04:28.169 + true + Evento + false + Evento de Tabla o Documento + 0 + 0 + 100 + 100 + 55368 + es_MX + 58949a82-8c6a-11e9-8678-3b26541d4154 + + + + + Type of Event + true + + 2019-06-12 10:04:28.627 + + 2019-06-12 10:04:28.627 + + 93634 + false + Event Type + true + false + + + false + true + N + false + + + + 0 + + EventType + + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54649 + 100 + 2334 + 54139 + + 1 + 17 + 100 + f8648122-8c69-11e9-b0a0-0b9aa88d13fe + + + + + + 2019-06-12 10:04:29.122 + true + 2019-06-12 10:04:29.122 + 93634 + false + Tipo de Evento + 0 + 0 + 100 + 100 + es_MX + f86e035a-8c69-11e9-b0a2-bb722658ae26 + + + + + The record is active in the system + true + + 2019-06-12 10:04:29.402 + + 2019-06-12 10:04:29.402 + + 93635 + false + Active + true + false + Y + + false + false + N + false + + + + 1 + + IsActive + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54649 + 100 + 348 + + + 1 + 20 + 100 + a44f9f6e-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:29.857 + true + 2019-06-12 10:04:29.857 + 93635 + false + Activo + 0 + 0 + 100 + 100 + es_MX + a5120284-82ef-11e9-bc49-0242ac140004 + + + + + Alphanumeric identifier of the entity + true + + 2019-06-12 10:04:30.12 + + 2019-06-12 10:04:30.12 + + 93636 + true + Name + true + false + + + false + true + N + false + + + + 0 + + Name + The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length. + true + + false + N + + true + false + false + true + 2 + WHH + 0 + 0 + + 54649 + 100 + 469 + + + 255 + 10 + 100 + a44fa680-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:30.592 + true + 2019-06-12 10:04:30.592 + 93636 + false + Nombre + 0 + 0 + 100 + 100 + es_MX + a51205d6-82ef-11e9-bc49-0242ac140004 + + + + + Method of ordering records; lowest number comes first + true + + 2019-06-12 10:04:31.002 + + 2019-06-12 10:04:31.002 + + 93637 + false + Sequence + true + false + @SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM WH_Setting WHERE WH_Type_ID=@WH_Type_ID@ + + false + false + N + false + + + + 0 + + SeqNo + The Sequence indicates the order of records + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54649 + 100 + 566 + + + 10 + 11 + 100 + a44f9a50-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:31.534 + true + 2019-06-12 10:04:31.534 + 93637 + false + Secuencia. + 0 + 0 + 100 + 100 + es_MX + a51204b4-82ef-11e9-bc49-0242ac140004 + + + + + Date this record was updated + true + + 2019-06-12 10:04:31.791 + + 2019-06-12 10:04:31.791 + + 93638 + false + Updated + true + false + + + false + false + N + false + + + + 1 + + Updated + The Updated field indicates the date that this record was updated. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54649 + 100 + 607 + + + 0 + 16 + 100 + a44fa180-82ef-11e9-bc49-0242ac140004 + + + + + + Actualizado. + 0 + 0 + 2019-06-12 10:04:32.219 + true + 2019-06-12 10:04:32.219 + 93638 + false + 100 + 100 + es_MX + a51206e4-82ef-11e9-bc49-0242ac140004 + + + + + User who updated this records + true + + 2019-06-12 10:04:32.482 + + 2019-06-12 10:04:32.482 + + 93639 + false + Updated By + true + false + + + false + false + N + false + + + + 1 + + UpdatedBy + The Updated By field indicates the user who updated this record. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54649 + 100 + 608 + 110 + + 10 + 18 + 100 + a44fa37e-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:32.983 + true + 2019-06-12 10:04:32.983 + 93639 + false + Actualizado por. + 0 + 0 + 100 + 100 + es_MX + a51207f2-82ef-11e9-bc49-0242ac140004 + + + + + Immutable Universally Unique Identifier + true + + 2019-06-12 10:04:33.239 + + 2019-06-12 10:04:33.239 + + 93640 + false + Immutable Universally Unique Identifier + false + false + + + false + false + N + false + + + + 1 + + UUID + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54649 + 100 + 59595 + + + 36 + 10 + 100 + a44fa478-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:33.717 + true + 2019-06-12 10:04:33.717 + 93640 + false + Immutable Universally Unique Identifier + 0 + 0 + 100 + 100 + es_MX + a5120176-82ef-11e9-bc49-0242ac140004 + + + + + Search key for the record in the format required - must be unique + true + + 2019-06-12 10:04:33.985 + + 2019-06-12 10:04:33.985 + + 93641 + true + Search Key + true + false + + + false + true + N + false + + + + 0 + + Value + A search key allows you a fast method of finding a particular record. +If you leave the search key empty, the system automatically creates a numeric number. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + true + + false + N + + true + false + false + true + 1 + WHH + 0 + 0 + + 54649 + 100 + 620 + + + 60 + 10 + 100 + a44fa57c-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:34.589 + true + 2019-06-12 10:04:34.589 + 93641 + false + Código + 0 + 0 + 100 + 100 + es_MX + a512054a-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:04:34.849 + true + Withholding Setting + specifies the setting to each applied withholding + 2019-06-12 10:04:34.849 + WH_Setting_ID + in this sale the functionalities are specified to each applied withholding. + + + Withholding Setting + + + 10 + 13 + 61064 + 0 + 0 + WHH + 100 + + 100 + a54402b6-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:04:35.182 + + true + 2019-06-12 10:04:35.182 + es_MX + + + Funcionalidades + + false + Funcionalidades + + + 0 + 0 + 100 + 100 + 61064 + a56795e6-82ef-11e9-bc49-0242ac140004 + + + + + specifies the setting to each applied withholding + true + + 2019-06-12 10:04:35.491 + + 2019-06-12 10:04:35.491 + + 93642 + false + Withholding Setting + true + false + + + false + false + N + true + + + + 0 + + WH_Setting_ID + in this sale the functionalities are specified to each applied withholding. + false + + false + N + + true + false + false + false + 0 + WHH + 0 + 0 + + 54649 + 100 + 61064 + + + 10 + 13 + 100 + a44f9906-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:35.986 + true + 2019-06-12 10:04:35.986 + 93642 + false + Funcionalidades + 0 + 0 + 100 + 100 + es_MX + a5120874-82ef-11e9-bc49-0242ac140004 + + + + + Indicates the types of national tax withholdings + true + + 2019-06-12 10:04:36.251 + + 2019-06-12 10:04:36.251 + + 93643 + false + Withholding Type + true + false + + + true + false + N + false + + + + 0 + + WH_Type_ID + In the window the types of existing national tax withholdings are indicated. + false + + false + N + + true + false + false + true + 1 + WHH + 0 + 0 + + 54649 + 100 + 61056 + + + 10 + 19 + 100 + a44f9b68-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:36.701 + true + 2019-06-12 10:04:36.701 + 93643 + false + Tipo de Retención + 0 + 0 + 100 + 100 + es_MX + a5120388-82ef-11e9-bc49-0242ac140004 + + + + + 2019-06-12 10:04:36.951 + true + Withholding Class Name + Java Classname + 2019-06-12 10:04:36.951 + WithholdingClassName + Classname identifies the Java classname used by Withholding + + + Withholding Class Name + + + 30 + 10 + 61065 + 0 + 0 + WHH + 100 + + 100 + 4eed7d2a-28b8-11e9-afc9-6c0b840adaed + + + + + 2019-06-12 10:04:37.341 + + true + 2019-06-12 10:04:37.341 + es_MX + + Nombre de clase identifica el nombre de clase de Java utilizado por Retención + Nombre de la Clase para Retención + Nombre de la Clase de Java + false + Nombre de la Clase para Retención + + + 0 + 0 + 100 + 100 + 61065 + e0ce9d80-28ba-11e9-bbe4-6c0b840adaed + + + + + Java Classname + true + + 2019-06-12 10:04:37.632 + + 2019-06-12 10:04:37.632 + + 93644 + false + Withholding Class Name + true + false + + + false + true + N + false + + + + 0 + + WithholdingClassName + Classname identifies the Java classname used by Withholding + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54649 + 100 + 61065 + + + 255 + 10 + 100 + a44f4ee2-82ef-11e9-bc49-0242ac140004 + + + + + + 2019-06-12 10:04:38.109 + true + 2019-06-12 10:04:38.109 + 93644 + false + Nombre de la Clase para Retención + 0 + 0 + 100 + 100 + es_MX + a5120982-82ef-11e9-bc49-0242ac140004 + + + + + true + Table WH_Setting + 2019-06-12 10:04:38.366 + 2019-06-12 10:04:38.366 + false + + true + false + + + + + WH_Setting + 0 + 0 + 55108 + 1 + 1000000 + true + 50000 + 1000001 + 100 + 100 + e04d6532-82ef-11e9-bc49-0242ac140004 + + + + + in the window it specifies the functionalities to each applied withholding + + 0 + 54815 + false + Withholding Setting + false + false + false + 2019-06-12 10:04:38.659 + 2019-06-12 10:04:38.659 + + true + false + + specifies the functionalities to each applied retention + false + false + + false + N + + + true + 53673 + 20 + + 100 + 100 + WHH + + 0 + 54649 + 93624 + + + 1 + + e062b8ec-82ef-11e9-bc49-0242ac140004 + + + + + + Especifica las funcionalidades para cada retención aplicada + 2019-06-12 10:04:39.06 + true + 2019-06-12 10:04:39.06 + Configuración de Retención + + En esta pestaña se especifica la funcionalidad aplicada para cada retención así como su comportamiento + false + 0 + 0 + 54815 + 100 + 100 + es_MX + e0aade38-82ef-11e9-bc49-0242ac140004 + + + + + Immutable Universally Unique Identifier + false + 2019-06-12 10:04:39.317 + false + + 2019-06-12 10:04:39.317 + + true + + false + false + Immutable Universally Unique Identifier + false + false + + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + + + + + true + false + false + + + + false + 0 + 0 + 94748 + WHH + 100 + 100 + 0 + + 93640 + + 0 + 36 + 54815 + + a6903a9a-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:39.712 + 2019-06-12 10:04:39.712 + 0 + false + Immutable Universally Unique Identifier + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + 0 + 94748 + 100 + 100 + es_MX + aa1f3e40-82ef-11e9-bc49-0242ac140004 + + + + + Withholding Setting + false + 2019-06-12 10:04:39.971 + false + + 2019-06-12 10:04:39.971 + + true + + false + false + specifies the setting to each applied withholding + false + false + + true + in this sale the functionalities are specified to each applied withholding. + + + + + + true + false + false + + + + false + 0 + 0 + 94749 + WHH + 100 + 100 + 0 + + 93642 + + 0 + 10 + 54815 + + a6903e0a-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:40.434 + 2019-06-12 10:04:40.434 + 0 + false + + Funcionalidades + + 0 + 94749 + 100 + 100 + es_MX + aa1f4a2a-82ef-11e9-bc49-0242ac140004 + + + + + Organization + false + 2019-06-12 10:04:40.711 + false + + 2019-06-12 10:04:40.711 + + true + + false + false + Organizational entity within client + true + false + + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + + + + + true + false + false + + + + false + 0 + 0 + 94750 + WHH + 100 + 100 + 10 + + 93626 + + 0 + 10 + 54815 + + a6903b44-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:41.178 + 2019-06-12 10:04:41.178 + 0 + true + Entidad organizacional dentro de la compañía. + Organización. + Una organización es una unidad de la compañía o entidad legal - Ej. Tiendas y departamentos. Es posible compartir datos entre organizaciones. + 0 + 94750 + 100 + 100 + es_MX + aa1f4886-82ef-11e9-bc49-0242ac140004 + + + + + Client + false + 2019-06-12 10:04:41.452 + false + + 2019-06-12 10:04:41.452 + + true + + false + false + Client/Tenant for this installation. + true + false + + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + + + + + true + true + false + + + + false + 0 + 0 + 94751 + WHH + 100 + 100 + 20 + + 93625 + + 0 + 10 + 54815 + + a6903d88-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:41.9 + 2019-06-12 10:04:41.9 + 0 + true + Compañía para esta instalación. + Compañía + Compañía o entidad legal. No se pueden compartir datos entre diferentes compañías. + 0 + 94751 + 100 + 100 + es_MX + aa1f46f6-82ef-11e9-bc49-0242ac140004 + + + + + Withholding Type + false + 2019-06-12 10:04:42.178 + false + + 2019-06-12 10:04:42.178 + + true + + false + false + Indicates the types of national tax withholdings + true + false + + true + In the window the types of existing national tax withholdings are indicated. + + + + + + true + false + false + + + + false + 0 + 0 + 94752 + WHH + 100 + 100 + 30 + + 93643 + + 0 + 10 + 54815 + + a6903e96-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:42.589 + 2019-06-12 10:04:42.589 + 0 + false + Identifica las Diversas Retenciones Existentes + Tipo de Retención + + 0 + 94752 + 100 + 100 + es_MX + aa1f3ec2-82ef-11e9-bc49-0242ac140004 + + + + + Search Key + false + 2019-06-12 10:04:42.856 + false + + 2019-06-12 10:04:42.856 + + true + + false + false + Search key for the record in the format required - must be unique + true + false + + true + A search key allows you a fast method of finding a particular record. +If you leave the search key empty, the system automatically creates a numeric number. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + + + + + + true + true + false + + + + false + 0 + 0 + 94753 + WHH + 100 + 100 + 40 + + 93641 + + 0 + 10 + 54815 + + a6903f5e-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:43.288 + 2019-06-12 10:04:43.288 + 0 + true + El código para el registro en el formato requerido; debe ser único. + Código + Un código le permite a usted un método rápido de encontrar un registro en particular. + 0 + 94753 + 100 + 100 + es_MX + aa1f44ee-82ef-11e9-bc49-0242ac140004 + + + + + Name + false + 2019-06-12 10:04:43.549 + false + + 2019-06-12 10:04:43.549 + + true + + false + false + Alphanumeric identifier of the entity + true + false + + true + The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length. + + + + + + true + false + false + + + + false + 0 + 0 + 94754 + WHH + 100 + 100 + 50 + + 93636 + + 0 + 30 + 54815 + + a6903bda-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:44.092 + 2019-06-12 10:04:44.092 + 0 + true + Identificador alfanumérico de la entidad. + Nombre + El nombre de una entidad (registro) se usa como una opción de búsqueda predeterminada, adicional al código. El nombre es de hasta 60 caracteres de longitud. + 0 + 94754 + 100 + 100 + es_MX + aa1f4764-82ef-11e9-bc49-0242ac140004 + + + + + Active + false + 2019-06-12 10:04:44.386 + false + + 2019-06-12 10:04:44.386 + + true + + false + false + The record is active in the system + true + false + + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + + + + + true + false + false + + + + false + 0 + 0 + 94755 + WHH + 100 + 100 + 60 + + 93635 + + 0 + 1 + 54815 + + a6904026-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:44.806 + 2019-06-12 10:04:44.806 + 0 + true + El registro está activo en el sistema. + Activo + Hay dos métodos para que los registros no estén disponibles en el sistema: Uno es eliminar el registro; el otro es desactivarlo. Un registro desactivado no está disponible para selección; pero está disponible para Informes. + 0 + 94755 + 100 + 100 + es_MX + aa1f446c-82ef-11e9-bc49-0242ac140004 + + + + + Sequence + false + 2019-06-12 10:04:45.06 + false + + 2019-06-12 10:04:45.06 + + true + + false + false + Method of ordering records; lowest number comes first + true + false + + true + The Sequence indicates the order of records + + + + + + true + true + false + + + + false + 0 + 0 + 94756 + WHH + 100 + 100 + 70 + + 93637 + + 0 + 10 + 54815 + + a6903c66-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:45.471 + 2019-06-12 10:04:45.471 + 0 + true + Método de ordenar registros; el número más bajo viene primero. + Secuencia. + La Secuencia indica el orden de los registros. + 0 + 94756 + 100 + 100 + es_MX + aa1f45a2-82ef-11e9-bc49-0242ac140004 + + + + + Event Type + false + 2019-06-12 10:04:45.753 + false + + 2019-06-12 10:04:45.753 + + true + + false + false + Type of Event + true + false + + true + + + + + + + true + false + false + + + + false + 0 + 0 + 94757 + WHH + 100 + 100 + 80 + + 93634 + + 0 + 1 + 54815 + + 83e7567a-8c6a-11e9-b0b1-cf34d42fcfef + + + + + true + 2019-06-12 10:04:46.218 + 2019-06-12 10:04:46.218 + 0 + true + Tipo de Evento + Tipo de Evento + + 0 + 94757 + 100 + 100 + es_MX + 83e88d60-8c6a-11e9-b0b3-8f38758d37bb + + + + + Table + false + 2019-06-12 10:04:46.483 + false + + 2019-06-12 10:04:46.483 + + true + + false + false + Database Table information + true + false + + true + The Database Table provides the information of the table definition + + @EventType@=E + + Y + + true + false + false + + + + false + 0 + 0 + 94758 + WHH + 100 + 100 + 90 + + 93627 + + 0 + 10 + 54815 + + 83e984b8-8c6a-11e9-b0b4-0ffaee15cfcd + + + + + true + 2019-06-12 10:04:46.904 + 2019-06-12 10:04:46.904 + 0 + true + Información de la tabla de la base de datos + Tabla + La tabla provee la información de la Configuración de la tabla. + 0 + 94758 + 100 + 100 + es_MX + 83eab392-8c6a-11e9-b0b6-6b269832816d + + + + + Event Model Validator + false + 2019-06-12 10:04:47.16 + false + + 2019-06-12 10:04:47.16 + + true + + false + false + + true + false + + true + + + @EventType@=E + + Y + + true + true + false + + + + false + 0 + 0 + 94759 + WHH + 100 + 100 + 100 + + 93633 + + 0 + 4 + 54815 + + 83e3f8a4-8c6a-11e9-b0ae-bb76d467684d + + + + + true + 2019-06-12 10:04:47.62 + 2019-06-12 10:04:47.62 + 0 + true + + Evento Validador del Modelo + + 0 + 94759 + 100 + 100 + es_MX + 83e64460-8c6a-11e9-b0b0-c3d36684abdb + + + + + Document Type + false + 2019-06-12 10:04:47.901 + false + + 2019-06-12 10:04:47.901 + + true + + false + false + Document type or rules + true + false + + true + The Document Type determines document sequence and processing rules + + + + + + true + false + false + + + + false + 0 + 0 + 94760 + WHH + 100 + 100 + 110 + + 93629 + + 0 + 10 + 54815 + + 070885fc-8c6f-11e9-b165-df23082a3b31 + + + + + true + 2019-06-12 10:04:48.359 + 2019-06-12 10:04:48.359 + 0 + true + Tipo de documento o reglas + Tipo de Documento + El tipo de documento determina la secuencia del documento y las reglas de proceso + 0 + 94760 + 100 + 100 + es_MX + 0709b0a8-8c6f-11e9-b167-3b48a42318db + + + + + Charge + false + 2019-06-12 10:04:48.617 + false + + 2019-06-12 10:04:48.617 + + true + + false + false + Additional document charges + true + false + + true + The Charge indicates a type of Charge (Handling, Shipping, Restocking) + + + + + + true + true + false + + + + false + 0 + 0 + 94761 + WHH + 100 + 100 + 120 + + 93628 + + 0 + 10 + 54815 + + 0705973e-8c6f-11e9-b162-93af722e0c77 + + + + + true + 2019-06-12 10:04:49.028 + 2019-06-12 10:04:49.028 + 0 + true + Cargos adicionales del documento + Cargo + El cargo indica un tipo de cargo (manejo, embalaje, reposición) + 0 + 94761 + 100 + 100 + es_MX + 0707842c-8c6f-11e9-b164-ffc7118df675 + + + + + Description + false + 2019-06-12 10:04:49.312 + false + + 2019-06-12 10:04:49.312 + + true + + false + false + Optional short description of the record + true + false + + true + A description is limited to 255 characters. + + + + + + true + false + false + + + + false + 0 + 0 + 94762 + WHH + 100 + 100 + 130 + + 93632 + + 0 + 255 + 54815 + + a69039a0-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:49.775 + 2019-06-12 10:04:49.775 + 0 + true + Opción de una breve descripción del registro. + Descripción + Una descripción de hasta 255 caracteres. + 0 + 94762 + 100 + 100 + es_MX + aa1f467e-82ef-11e9-bc49-0242ac140004 + + + + + Withholding Class Name + false + 2019-06-12 10:04:50.063 + false + + 2019-06-12 10:04:50.063 + + true + + false + false + Java Classname + true + false + + true + Classname identifies the Java classname used by Withholding + + + + + + true + false + false + + + + false + 0 + 0 + 94763 + WHH + 100 + 100 + 140 + + 93644 + + 0 + 60 + 54815 + + a6903cf2-82ef-11e9-bc49-0242ac140004 + + + + + true + 2019-06-12 10:04:50.531 + 2019-06-12 10:04:50.531 + 0 + false + Nombre de la Clase de Java + Nombre de la Clase para Retención + Nombre de clase identifica el nombre de clase de Java utilizado por Retención + 0 + 94763 + 100 + 100 + es_MX + aa1f49a8-82ef-11e9-bc49-0242ac140004 + + + + + + + 0 + 54816 + false + Sequence + false + false + false + 2019-06-12 10:04:50.805 + 2019-06-12 10:04:50.805 + 93635 + true + false + + Sequence of Running + false + true + + false + N + + + true + 53673 + 30 + + 100 + 100 + WHH + + 0 + 54649 + + + 93637 + 1 + + 63298fb2-8c69-11e9-a362-8f7fcd2f5b72 + + + + + + Secuencia de Ejecución + 2019-06-12 10:04:51.24 + true + 2019-06-12 10:04:51.24 + Secuencia + + + false + 0 + 0 + 54816 + 100 + 100 + es_MX + 632e1eec-8c69-11e9-a364-1fab60c4e16a + + + + + true + + Withholding Type + 2019-06-12 10:04:51.525 + 2019-06-12 10:04:51.525 + + false + false + false + true + Indicates the types of national tax withholdings + W + 0 + 54469 + 0 + + WHH + + 53673 + 100 + + 100 + + 56bc2b88-2894-11e9-a335-6c0b840adaed + + + + + 33e549ec-8c70-11e9-9a83-e77b5093f935 + true + 2019-06-12 10:04:51.86 + 2019-06-12 10:04:51.86 + 0 + 0 + 54469 + 54465 + 100 + 100 + 3 + 10 + + + + + true + 50326 + + + + + specifies the setting to each applied withholding + true + + 2019-06-13 09:56:51.02 + + 2019-06-13 09:56:51.02 + + 93667 + false + Withholding Setting + true + false + + + false + true + N + false + + + + 0 + + WH_Setting_ID + in this sale the functionalities are specified to each applied withholding. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 61064 + + + 10 + 19 + 100 + 491470ae-8de7-11e9-a412-3b97646d76fb + + + + + + 2019-06-13 09:56:51.916 + true + 2019-06-13 09:56:51.916 + 93667 + false + Withholding Setting + 0 + 0 + 100 + 100 + es_MX + 495b0f50-8de7-11e9-a446-33cb208c11bd + + + + + true + + + + + true + S + C_DocType.DocBaseType='WHH' + 2019-06-13 09:58:03.687 + 2019-06-13 09:58:03.687 + C_DocType Withholding + Document Withholding + 0 + 0 + 52702 + WHH + 100 + 100 + 746ae44a-8de7-11e9-a457-c71db1361c38 + + + + + 52702 + + + + + true + 2019-06-13 09:58:58.461 + 2019-06-13 09:58:58.461 + WHH + WHH + 183 + + + Withholding + + 55369 + 0 + 0 + 100 + 100 + 9520c7c2-8de7-11e9-a46b-bb6a7ad8b55f + + + + + 2019-06-13 09:58:59.333 + 2019-06-13 09:58:59.333 + true + Withholding + false + + 0 + 0 + 100 + 100 + 55369 + es_MX + 954d3974-8de7-11e9-a47e-a790f9cba1e1 + + + + + 55369 + es_MX + Retención + + + + + Withholding Setting + false + 2019-06-13 09:59:28.239 + false + + 2019-06-13 09:59:28.239 + + true + + false + true + specifies the setting to each applied withholding + true + false + 0 + true + in this sale the functionalities are specified to each applied withholding. + + + + + 0 + true + true + false + + + + false + 0 + 0 + 94775 + WHH + 100 + 100 + 200 + + 93667 + + 200 + 0 + 54813 + + a6f44a3c-8de7-11e9-a491-5b8db2c4219d + + + + + true + 2019-06-13 09:59:29.506 + 2019-06-13 09:59:29.506 + 0 + false + specifies the setting to each applied withholding + Withholding Setting + in this sale the functionalities are specified to each applied withholding. + 0 + 94775 + 100 + 100 + es_MX + a749a02c-8de7-11e9-a4c0-8fd875457cfd + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 170 + + + + + 180 + + + + + 190 + + + + + 200 + + + + + 10 + + + + + false + + + + + false + 0 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 170 + + + + + 180 + + + + + 190 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 130 + + + + + 101 + + + + + 2019-06-13 15:53:32.831 + 2019-06-13 15:53:32.831 + Withholding Log + true + + true + Save a log for each document processed + N + WH_Log + 3 + Use this information for know if exists a error with withholding setup + L + true + 0 + true + false + N + false + true + false + true + 0 + 0 + 54651 + WHH + + + 100 + 0 + 100 + + 1ddd5504-8e19-11e9-bdde-dbd9e8db1e86 + + + + + 2019-06-13 15:53:34.353 + 2019-06-13 15:53:34.353 + false + true + Withholding Log + 0 + 0 + es_MX + 54651 + 100 + 100 + 1e33cb96-8e19-11e9-be01-b7e748455a02 + + + + + Client/Tenant for this installation. + true + + 2019-06-13 15:53:34.619 + + 2019-06-13 15:53:34.619 + + 93668 + false + Client + true + false + @#AD_Client_ID@ + + false + false + + false + + + + 1 + + AD_Client_ID + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54651 + 100 + 102 + + 129 + 10 + 19 + 100 + 1f9d9bf6-8e19-11e9-be0f-836767a99daa + + + + + + 2019-06-13 15:53:37.115 + true + 2019-06-13 15:53:37.115 + 93668 + false + Client + 0 + 0 + 100 + 100 + es_MX + 1fd91cc6-8e19-11e9-be43-7b4ce0e80458 + + + + + Organizational entity within client + true + + 2019-06-13 15:53:37.363 + + 2019-06-13 15:53:37.363 + + 93669 + false + Organization + true + false + @#AD_Org_ID@ + + false + false + + false + + + + 1 + + AD_Org_ID + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54651 + 100 + 113 + + 104 + 10 + 19 + 100 + 205f7596-8e19-11e9-be51-7fcde40dc533 + + + + + + 2019-06-13 15:53:38.356 + true + 2019-06-13 15:53:38.356 + 93669 + false + Organization + 0 + 0 + 100 + 100 + es_MX + 20968ae0-8e19-11e9-be85-3f7b7d53c046 + + + + + The record is active in the system + true + + 2019-06-13 15:53:38.645 + + 2019-06-13 15:53:38.645 + + 93670 + false + Active + true + false + Y + + false + false + + false + + + + 1 + + IsActive + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54651 + 100 + 348 + + + 1 + 20 + 100 + 2117bf52-8e19-11e9-be93-573d06b8dfa3 + + + + + + 2019-06-13 15:53:39.563 + true + 2019-06-13 15:53:39.563 + 93670 + false + Active + 0 + 0 + 100 + 100 + es_MX + 214e8bea-8e19-11e9-bec7-37f399c133bd + + + + + Date this record was created + true + + 2019-06-13 15:53:39.791 + + 2019-06-13 15:53:39.791 + + 93671 + false + Created + true + false + + + false + false + + false + + + + 1 + + Created + The Created field indicates the date that this record was created. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54651 + 100 + 245 + + + 0 + 16 + 100 + 21dc480e-8e19-11e9-bed5-3f7754463bf5 + + + + + + 2019-06-13 15:53:40.864 + true + 2019-06-13 15:53:40.864 + 93671 + false + Created + 0 + 0 + 100 + 100 + es_MX + 221533a8-8e19-11e9-bf09-2759aa43186a + + + + + Date this record was updated + true + + 2019-06-13 15:53:41.091 + + 2019-06-13 15:53:41.091 + + 93672 + false + Updated + true + false + + + false + false + + false + + + + 1 + + Updated + The Updated field indicates the date that this record was updated. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54651 + 100 + 607 + + + 0 + 16 + 100 + 22d464f8-8e19-11e9-bf17-2733d30d606d + + + + + + 2019-06-13 15:53:42.51 + true + 2019-06-13 15:53:42.51 + 93672 + false + Updated + 0 + 0 + 100 + 100 + es_MX + 2310407c-8e19-11e9-bf4b-a3bc5199798a + + + + + User who created this records + true + + 2019-06-13 15:53:42.8 + + 2019-06-13 15:53:42.8 + + 93673 + false + Created By + true + false + + + false + false + + false + + + + 1 + + CreatedBy + The Created By field indicates the user who created this record. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54651 + 100 + 246 + 110 + + 10 + 18 + 100 + 23f76132-8e19-11e9-bf59-3f5605d3f29a + + + + + + 2019-06-13 15:53:44.399 + true + 2019-06-13 15:53:44.399 + 93673 + false + Created By + 0 + 0 + 100 + 100 + es_MX + 24308bb0-8e19-11e9-bf8d-9b5770dc0f8a + + + + + User who updated this records + true + + 2019-06-13 15:53:44.699 + + 2019-06-13 15:53:44.699 + + 93674 + false + Updated By + true + false + + + false + false + + false + + + + 1 + + UpdatedBy + The Updated By field indicates the user who updated this record. + true + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54651 + 100 + 608 + 110 + + 10 + 18 + 100 + 2539be6e-8e19-11e9-bf9b-832497476e59 + + + + + + 93674 + 2019-06-13 15:53:46.51 + true + 2019-06-13 15:53:46.51 + false + Updated By + 0 + 0 + 100 + 100 + es_MX + 2572b340-8e19-11e9-bfcf-1356645e3cb1 + + + + + Immutable Universally Unique Identifier + true + + 2019-06-13 15:53:46.741 + + 2019-06-13 15:53:46.741 + + 93675 + false + Immutable Universally Unique Identifier + false + false + + + false + false + + false + + + + 1 + + UUID + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + true + + false + N + + true + false + false + true + + WHH + 0 + 0 + + 54651 + 100 + 59595 + + + 36 + 10 + 100 + 26196442-8e19-11e9-bfdd-87d171b2c874 + + + + + + 2019-06-13 15:53:47.964 + true + 2019-06-13 15:53:47.964 + 93675 + false + Immutable Universally Unique Identifier + 0 + 0 + 100 + 100 + es_MX + 26507edc-8e19-11e9-85b5-9be771999835 + + + + + 2019-06-13 15:53:48.179 + true + Withholding Log ID + + 2019-06-13 15:53:48.179 + WH_Log_ID + + + + Withholding Log ID + + + + + 61068 + 0 + 0 + WHH + 100 + + 100 + 26b70ff8-8e19-11e9-85c3-8308929d6d88 + + + + + 2019-06-13 15:53:48.925 + + true + 2019-06-13 15:53:48.925 + es_MX + + + Withholding Log ID + + false + Withholding Log ID + + + 0 + 0 + 100 + 100 + 61068 + 26e3313c-8e19-11e9-85dc-53f15d2cbcb5 + + + + + + true + + 2019-06-13 15:53:49.179 + + 2019-06-13 15:53:49.179 + + 93676 + false + Withholding Log ID + true + false + + + false + false + + true + + + + 1 + + WH_Log_ID + + false + + false + N + + true + false + false + false + + WHH + 0 + 0 + + 54651 + 100 + 61068 + + + 10 + 13 + 100 + 27ab1256-8e19-11e9-85f1-6f9ab036859a + + + + + + 2019-06-13 15:53:50.866 + true + 2019-06-13 15:53:50.866 + 93676 + false + Withholding Log ID + 0 + 0 + 100 + 100 + es_MX + 280b5c6a-8e19-11e9-8625-1f66dffb7f17 + + + + + true + Table WH_Log + 2019-06-13 15:53:51.099 + 2019-06-13 15:53:51.099 + false + + true + false + + + + + WH_Log + 0 + 0 + 55112 + 1 + 1000000 + true + 50000 + 1000000 + 100 + 100 + 28a5ad10-8e19-11e9-8633-17521ec0cc04 + + + + + es_MX + 54651 + Log de Retención + + + + + Withholding Log + Save a log for each document processed + Use this information for know if exists a error with withholding setup + Withholding Log + 10 + 19 + + + + + es_MX + Log de Retención + Guarda un registro por cada documento procesado + 61068 + Use ésta información para saber si existe algún error con la configiración de retenciones + Log de Retención + + + + + Withholding Definition is used for define a withholding rule for BP + true + + 2019-06-13 15:57:51.048 + + 2019-06-13 15:57:51.048 + + 93677 + false + Withholding + true + false + + + false + true + N + false + + + + 0 + + WH_Definition_ID + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54651 + 100 + 61055 + + + 10 + 19 + 100 + b79b28ba-8e19-11e9-8661-abccd36955f7 + + + + + + 2019-06-13 15:57:52.105 + true + 2019-06-13 15:57:52.105 + 93677 + false + Withholding + 0 + 0 + 100 + 100 + es_MX + b7d58b72-8e19-11e9-8695-833f5708b9a9 + + + + + 1 + true + + + + + specifies the setting to each applied withholding + true + + 2019-06-13 15:58:12.975 + + 2019-06-13 15:58:12.975 + + 93678 + false + Withholding Setting + true + false + + + false + true + N + false + + + + 0 + + WH_Setting_ID + in this sale the functionalities are specified to each applied withholding. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54651 + 100 + 61064 + + + 10 + 19 + 100 + c488601a-8e19-11e9-86a8-9316902d7a39 + + + + + + 2019-06-13 15:58:13.835 + true + 2019-06-13 15:58:13.835 + 93678 + false + Withholding Setting + 0 + 0 + 100 + 100 + es_MX + c4c9381a-8e19-11e9-86dc-b3edc8a9dae8 + + + + + + true + + 2019-06-13 15:58:47.997 + + 2019-06-13 15:58:47.997 + + 93679 + false + Source Invoice + false + false + + + false + true + N + false + + + + 0 + + SourceInvoice_ID + + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54651 + 100 + 61060 + 336 + + 10 + 30 + 100 + d98baaee-8e19-11e9-86ea-1b4f65e4ec7d + + + + + + 2019-06-13 15:58:49.153 + true + 2019-06-13 15:58:49.153 + 93679 + false + Source Invoice + 0 + 0 + 100 + 100 + es_MX + d9d67948-8e19-11e9-871e-a7ca505e9025 + + + + + + true + + 2019-06-13 15:59:18.969 + + 2019-06-13 15:59:18.969 + + 93680 + false + Source Invoice Line + false + false + + + false + true + N + false + + + + 0 + + SourceInvoiceLine_ID + + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54651 + 100 + 61061 + 53933 + + 10 + 30 + 100 + ec3398d2-8e19-11e9-872c-f794f6b70233 + + + + + + 2019-06-13 15:59:20.38 + true + 2019-06-13 15:59:20.38 + 93680 + false + Source Invoice Line + 0 + 0 + 100 + 100 + es_MX + ec732ed4-8e19-11e9-8760-2ffd54c35245 + + + + + Invoice Identifier + true + + 2019-06-13 16:00:47.246 + + 2019-06-13 16:00:47.246 + + 93681 + false + Invoice + false + false + + + false + true + N + false + + + + 0 + + C_Invoice_ID + The Invoice Document. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54651 + 100 + 1008 + 336 + + 10 + 19 + 100 + 2096d940-8e1a-11e9-876e-6b18a9e296bc + + + + + + 2019-06-13 16:00:48.205 + true + 2019-06-13 16:00:48.205 + 93681 + false + Invoice + 0 + 0 + 100 + 100 + es_MX + 20cc2f46-8e1a-11e9-87a2-63ef91f739ee + + + + + Invoice Detail Line + true + + 2019-06-13 16:01:04.664 + + 2019-06-13 16:01:04.664 + + 93682 + false + Invoice Line + false + false + + + false + true + N + false + + + + 0 + + C_InvoiceLine_ID + The Invoice Line uniquely identifies a single line of an Invoice. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54651 + 100 + 1076 + 53933 + + 10 + 19 + 100 + 2b19933a-8e1a-11e9-87b0-3b1b0818524d + + + + + + 2019-06-13 16:01:05.957 + true + 2019-06-13 16:01:05.957 + 93682 + false + Invoice Line + 0 + 0 + 100 + 100 + es_MX + 2b60e078-8e1a-11e9-87e4-0b471dc2749d + + + + + 2019-06-13 16:02:13.631 + true + 2019-06-13 16:02:13.631 + T + + false + + Withholding reference + + 54140 + 0 + 0 + WHH + 100 + 100 + 53fb8db2-8e1a-11e9-829d-6b219b58b91c + + + + + Withholding reference + + true + 2019-06-13 16:02:14.351 + 2019-06-13 16:02:14.351 + 100 + false + + 0 + 0 + 100 + es_MX + 54140 + 54252906-8e1a-11e9-82b0-d75f70dcf62f + + + + + 2019-06-13 16:02:32.108 + 2019-06-13 16:02:32.108 + true + + false + + false + + false + 93598 + WHH + 0 + 0 + 54647 + + 93609 + 54140 + 100 + 100 + 5ebae1a8-8e1a-11e9-82c0-2b1433b4167a + + + + + + true + + 2019-06-13 16:02:46.998 + + 2019-06-13 16:02:46.998 + + 93683 + false + Withholding Generated + false + false + + + false + false + N + false + + + + 0 + + WH_Withholding_ID + + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54651 + 100 + 61062 + 54140 + + 10 + 30 + 100 + 68209896-8e1a-11e9-82d6-f71e62d43cd6 + + + + + + 2019-06-13 16:02:48.3 + true + 2019-06-13 16:02:48.3 + 93683 + false + Withholding Generated + 0 + 0 + 100 + 100 + es_MX + 68615b24-8e1a-11e9-830a-0728cb14fa74 + + + + + true + + + + + WH_Withholding reference + + + + + Comments or additional information + true + + 2019-06-13 16:04:54.863 + + 2019-06-13 16:04:54.863 + + 93684 + false + Comments + false + false + + + false + false + N + false + + + + 0 + + Comments + The Comments field allows for free form entry of additional information. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54651 + 100 + 230 + + + 2000 + 14 + 100 + b449db6a-8e1a-11e9-831e-db3c66d1d90c + + + + + + 2019-06-13 16:04:55.996 + true + 2019-06-13 16:04:55.996 + 93684 + false + Comments + 0 + 0 + 100 + 100 + es_MX + b47e1b0a-8e1a-11e9-8352-b7fcf17935f1 + + + + + 2019-06-13 16:05:33.833 + false + 0 + 100 + Save a log for each document processed + false + false + 100 + 53675 + WHH + 0 + 0 + + + 0 + false + Withholding Log + Use this information for know if exists a error with withholding setup + cba6a676-8e1a-11e9-8362-fb2c7992a933 + Q + true + 2019-06-13 16:05:33.833 + + + + + + 2019-06-13 16:05:35.158 + Save a log for each document processed + 2019-06-13 16:05:35.158 + true + es_MX + Use this information for know if exists a error with withholding setup + Withholding Log + false + 0 + 0 + 100 + 100 + 53675 + cbd5e120-8e1a-11e9-837c-670f67116c4e + + + + + es_MX + Log de Retención + 53675 + Guarda un registro por cada documento procesado + Use ésta información para saber si existe algún error con la configiración de retenciones + + + + + + + 0 + 54818 + false + Log + false + true + false + 2019-06-13 16:06:42.544 + 2019-06-13 16:06:42.544 + + true + false + + Log Tab + false + false + + false + N + + + false + 53675 + 10 + + 100 + 100 + WHH + + 0 + 54651 + + + + 0 + + f4833bf4-8e1a-11e9-87f2-b32453de43bd + + + + + + Log Tab + 2019-06-13 16:06:43.918 + true + 2019-06-13 16:06:43.918 + Log + + + false + 0 + 0 + 54818 + 100 + 100 + es_MX + f4d218e6-8e1a-11e9-881d-677ea2b444ae + + + + + Active + false + 2019-06-13 16:06:46.24 + false + + 2019-06-13 16:06:46.24 + + true + + false + true + The record is active in the system + true + false + + true + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + + + + + + true + false + false + + + + false + 0 + 0 + 94776 + WHH + 100 + 100 + 0 + + 93670 + + 0 + 1 + 54818 + + f67714b2-8e1a-11e9-8830-cfb630af36a4 + + + + + true + 2019-06-13 16:06:47.114 + 2019-06-13 16:06:47.114 + 0 + false + The record is active in the system + Active + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + 0 + 94776 + 100 + 100 + es_MX + f6b95e08-8e1a-11e9-885f-3fb98caba81f + + + + + Client + false + 2019-06-13 16:06:47.361 + false + + 2019-06-13 16:06:47.361 + + true + + false + false + Client/Tenant for this installation. + true + false + + true + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + + + + + + true + false + false + + + + false + 0 + 0 + 94777 + WHH + 100 + 100 + 0 + + 93668 + + 0 + 10 + 54818 + + f7302b8c-8e1a-11e9-886f-579d60f517c2 + + + + + true + 2019-06-13 16:06:48.275 + 2019-06-13 16:06:48.275 + 0 + false + Client/Tenant for this installation. + Client + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + 0 + 94777 + 100 + 100 + es_MX + f76a9a9c-8e1a-11e9-889e-e7268884b5d9 + + + + + Comments + false + 2019-06-13 16:06:48.615 + false + + 2019-06-13 16:06:48.615 + + true + + false + true + Comments or additional information + true + false + + true + The Comments field allows for free form entry of additional information. + + + + + + true + false + false + + + + false + 0 + 0 + 94778 + WHH + 100 + 100 + 0 + + 93684 + + 0 + 2000 + 54818 + + f7ebd922-8e1a-11e9-88ae-d75678036a05 + + + + + true + 2019-06-13 16:06:49.513 + 2019-06-13 16:06:49.513 + 0 + false + Comments or additional information + Comments + The Comments field allows for free form entry of additional information. + 0 + 94778 + 100 + 100 + es_MX + f82786c0-8e1a-11e9-88dd-c357473ac74b + + + + + Immutable Universally Unique Identifier + false + 2019-06-13 16:06:49.752 + false + + 2019-06-13 16:06:49.752 + + true + + false + true + Immutable Universally Unique Identifier + false + false + + true + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + + + + + + true + false + false + + + + false + 0 + 0 + 94779 + WHH + 100 + 100 + 0 + + 93675 + + 0 + 36 + 54818 + + f8a776e6-8e1a-11e9-88ed-2b924640e7b5 + + + + + true + 2019-06-13 16:06:50.826 + 2019-06-13 16:06:50.826 + 0 + false + Immutable Universally Unique Identifier + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + 0 + 94779 + 100 + 100 + es_MX + f8efbe88-8e1a-11e9-891c-d322346154ae + + + + + Invoice + false + 2019-06-13 16:06:51.074 + false + + 2019-06-13 16:06:51.074 + + true + + false + true + Invoice Identifier + true + false + + true + The Invoice Document. + + + + + + true + false + false + + + + false + 0 + 0 + 94780 + WHH + 100 + 100 + 0 + + 93681 + + 0 + 10 + 54818 + + f9619242-8e1a-11e9-892c-bb4bb15dc326 + + + + + true + 2019-06-13 16:06:51.946 + 2019-06-13 16:06:51.946 + 0 + false + Invoice Identifier + Invoice + The Invoice Document. + 0 + 94780 + 100 + 100 + es_MX + f99aa0b4-8e1a-11e9-895b-8f523ddde216 + + + + + Invoice Line + false + 2019-06-13 16:06:52.165 + false + + 2019-06-13 16:06:52.165 + + true + + false + true + Invoice Detail Line + true + false + + true + The Invoice Line uniquely identifies a single line of an Invoice. + + + + + + true + false + false + + + + false + 0 + 0 + 94781 + WHH + 100 + 100 + 0 + + 93682 + + 0 + 10 + 54818 + + f9fd52c2-8e1a-11e9-896b-338b9b81a427 + + + + + true + 2019-06-13 16:06:52.959 + 2019-06-13 16:06:52.959 + 0 + false + Invoice Detail Line + Invoice Line + The Invoice Line uniquely identifies a single line of an Invoice. + 0 + 94781 + 100 + 100 + es_MX + fa353cc8-8e1a-11e9-899a-a3a4f2ae330a + + + + + Organization + false + 2019-06-13 16:06:53.174 + false + + 2019-06-13 16:06:53.174 + + true + + false + true + Organizational entity within client + true + false + + true + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + + + + + + true + false + false + + + + false + 0 + 0 + 94782 + WHH + 100 + 100 + 0 + + 93669 + + 0 + 10 + 54818 + + fab6344a-8e1a-11e9-89aa-a3f203221843 + + + + + true + 2019-06-13 16:06:54.23 + 2019-06-13 16:06:54.23 + 0 + false + Organizational entity within client + Organization + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + 0 + 94782 + 100 + 100 + es_MX + faf71fbe-8e1a-11e9-89d9-0b3d532da95a + + + + + Source Invoice + false + 2019-06-13 16:06:54.457 + false + + 2019-06-13 16:06:54.457 + + true + + false + true + + true + false + + true + + + + + + + true + false + false + + + + false + 0 + 0 + 94783 + WHH + 100 + 100 + 0 + + 93679 + + 0 + 10 + 54818 + + fb5d7a84-8e1a-11e9-89e9-835d9d026c0d + + + + + true + 2019-06-13 16:06:55.203 + 2019-06-13 16:06:55.203 + 0 + false + + Source Invoice + + 0 + 94783 + 100 + 100 + es_MX + fb8bb0d4-8e1a-11e9-8a18-dbd22d30979b + + + + + Source Invoice Line + false + 2019-06-13 16:06:55.415 + false + + 2019-06-13 16:06:55.415 + + true + + false + true + + true + false + + true + + + + + + + true + false + false + + + + false + 0 + 0 + 94784 + WHH + 100 + 100 + 0 + + 93680 + + 0 + 10 + 54818 + + fc0e8cfc-8e1a-11e9-8a28-c74aeeda3c0d + + + + + true + 2019-06-13 16:06:56.391 + 2019-06-13 16:06:56.391 + 0 + false + + Source Invoice Line + + 0 + 94784 + 100 + 100 + es_MX + fc40df0e-8e1a-11e9-8a57-137cc7969abc + + + + + Withholding + false + 2019-06-13 16:06:56.636 + false + + 2019-06-13 16:06:56.636 + + true + + false + true + Withholding Definition is used for define a withholding rule for BP + true + false + + true + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + + + + + + true + false + false + + + + false + 0 + 0 + 94785 + WHH + 100 + 100 + 0 + + 93677 + + 0 + 10 + 54818 + + fcaeede6-8e1a-11e9-8a67-63cc4a51b112 + + + + + true + 2019-06-13 16:06:57.488 + 2019-06-13 16:06:57.488 + 0 + false + Withholding Definition is used for define a withholding rule for BP + Withholding + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + 0 + 94785 + 100 + 100 + es_MX + fce84668-8e1a-11e9-8a96-fb238f17460a + + + + + Withholding Generated + false + 2019-06-13 16:06:57.727 + false + + 2019-06-13 16:06:57.727 + + true + + false + true + + true + false + + true + + + + + + + true + false + false + + + + false + 0 + 0 + 94786 + WHH + 100 + 100 + 0 + + 93683 + + 0 + 10 + 54818 + + fd4ddd5c-8e1a-11e9-8aa6-f3fed2a062a7 + + + + + true + 2019-06-13 16:06:58.766 + 2019-06-13 16:06:58.766 + 0 + false + + Withholding Generated + + 0 + 94786 + 100 + 100 + es_MX + fdab6ea4-8e1a-11e9-8ad5-ffea1982de1d + + + + + Withholding Log + false + 2019-06-13 16:06:59.117 + false + + 2019-06-13 16:06:59.117 + + true + + false + false + Save a log for each document processed + false + false + + true + Use this information for know if exists a error with withholding setup + + + + + + true + false + false + + + + false + 0 + 0 + 94787 + WHH + 100 + 100 + 0 + + 93676 + + 0 + 10 + 54818 + + fefc24a6-8e1a-11e9-8ae5-4f3ea659f885 + + + + + true + 2019-06-13 16:07:01.379 + 2019-06-13 16:07:01.379 + 0 + false + Save a log for each document processed + Withholding Log + Use this information for know if exists a error with withholding setup + 0 + 94787 + 100 + 100 + es_MX + ff3a07ee-8e1a-11e9-8b14-077418f1b8df + + + + + Withholding Setting + false + 2019-06-13 16:07:01.644 + false + + 2019-06-13 16:07:01.644 + + true + + false + true + specifies the setting to each applied withholding + true + false + + true + in this sale the functionalities are specified to each applied withholding. + + + + + + true + false + false + + + + false + 0 + 0 + 94788 + WHH + 100 + 100 + 0 + + 93678 + + 0 + 10 + 54818 + + ffbce8e4-8e1a-11e9-8b24-d3d48be623f0 + + + + + true + 2019-06-13 16:07:02.587 + 2019-06-13 16:07:02.587 + 0 + false + specifies the setting to each applied withholding + Withholding Setting + in this sale the functionalities are specified to each applied withholding. + 0 + 94788 + 100 + 100 + es_MX + fff24fd4-8e1a-11e9-8b53-cf4a95a044cb + + + + + 54818 + es_MX + Pestaña de Log + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + Withholding Log + 2019-06-13 16:09:54.474 + 2019-06-13 16:09:54.474 + + false + false + false + true + + W + 0 + 54471 + 0 + + WHH + + 53675 + 100 + + 100 + + 678259aa-8e1b-11e9-8397-a73991f7d148 + + + + + 0 + true + 2019-06-13 16:09:56.648 + 2019-06-13 16:09:56.648 + 100 + Withholding Log + + false + 0 + 100 + 54471 + es_MX + 67b229a0-8e1b-11e9-83b2-9f7014c6052e + + + + + 67e7a648-8e1b-11e9-83c1-3fe2e8ddf4b6 + true + 2019-06-13 16:09:56.997 + 2019-06-13 16:09:56.997 + 0 + 0 + 54471 + 0 + 100 + 100 + 999 + 10 + + + + + 54465 + 2 + 10 + 54471 + + + + + 54466 + 3 + 10 + + + + + 54469 + 4 + 10 + + + + + Retención Generada + es_MX + 53672 + Retención Generada + + + + + 2019-06-14 12:09:15.018 + true + Withholding Rate + + 2019-06-14 12:09:15.018 + WithholdingRate + + + + Withholding Rate + + + 10 + 12 + 61072 + 0 + 0 + WHH + 100 + + 100 + f2a5c664-8ec2-11e9-ab44-8f0647893f01 + + + + + 2019-06-14 12:09:16.145 + + true + 2019-06-14 12:09:16.145 + es_MX + + + Withholding Rate + + false + Withholding Rate + + + 0 + 0 + 100 + 100 + 61072 + f2e5ee74-8ec2-11e9-ab5d-ff6764ebd283 + + + + + es_MX + Porcentaje de Retención + Porcentaje de Retención aplicado al documento + Porcentaje de Retención + 61072 + + + + + Withholding Rate applied to Document + + + + + Withholding Rate applied to Document + true + + 2019-06-14 12:16:36.619 + + 2019-06-14 12:16:36.619 + + 93701 + false + Withholding Rate + true + false + + + false + false + N + false + + + + 0 + + WithholdingRate + + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 61072 + + + 0 + 12 + 100 + fa0b87a8-8ec3-11e9-ab7b-7348c18c8ad3 + + + + + + 2019-06-14 12:16:38.029 + true + 2019-06-14 12:16:38.029 + 93701 + false + Withholding Rate + 0 + 0 + 100 + 100 + es_MX + fa4839c8-8ec3-11e9-abaf-0b48116cac8b + + + + + Withholding Rate + false + 2019-06-14 12:16:55.883 + false + + 2019-06-14 12:16:55.883 + + true + + false + true + Withholding Rate applied to Document + true + false + 0 + true + + + + + + 0 + true + false + false + + + + false + 0 + 0 + 94801 + WHH + 100 + 100 + 200 + + 93701 + + 200 + 0 + 54813 + + 056848b6-8ec4-11e9-804a-eb925e5255d6 + + + + + true + 2019-06-14 12:16:57.1 + 2019-06-14 12:16:57.1 + 0 + false + Withholding Rate applied to Document + Withholding Rate + + 0 + 94801 + 100 + 100 + es_MX + 05a61cc2-8ec4-11e9-8079-2bb2a7305947 + + + + + 110 + + + + + 120 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 170 + + + + + 180 + + + + + 190 + + + + + 200 + + + + + true + + + + + false + + + + + Withholding Management + + + + + 54465 + 1003 + 10 + + + + diff --git a/withholding_engine/xml/migration/003_Add_Relations.xml b/withholding_engine/xml/migration/003_Add_Relations.xml new file mode 100644 index 0000000000..f50acd295e --- /dev/null +++ b/withholding_engine/xml/migration/003_Add_Relations.xml @@ -0,0 +1,402 @@ + + + + + + 2019-06-13 16:48:31.879 + true + 2019-06-13 16:48:31.879 + T + + false + + RelType C_Invoice => WH_Log_ID Withholding Log + Withholding Log + 54141 + 0 + 0 + WHH + 100 + 100 + cc378f78-8e20-11e9-a418-07b5da355089 + + + + + RelType C_Invoice => WH_Log_ID Withholding Log + + true + 2019-06-13 16:48:33.229 + 2019-06-13 16:48:33.229 + 100 + false + Withholding Log + 0 + 0 + 100 + es_MX + 54141 + cc7c331c-8e20-11e9-a42b-136960b9b0d1 + + + + + 2019-06-13 16:50:06.024 + 2019-06-13 16:50:06.024 + true + + false + WH_Log.SourceInvoice_ID = @C_Invoice_ID@ + false + + false + 93678 + WHH + 0 + 0 + 54651 + 53675 + 93676 + 54141 + 100 + 100 + 03cbc60c-8e21-11e9-a43b-2b4db105a89c + + + + + 2019-06-13 16:50:59.501 + true + 2019-06-13 16:50:59.501 + T + + false + + RelType C_Invoice (Vendor) <= WH_Log_ID + Withholding Log to Invoice + 54142 + 0 + 0 + WHH + 100 + 100 + 23ee5d5a-8e21-11e9-a451-3bfc625605ea + + + + + RelType C_Invoice (Vendor) <= WH_Log_ID + + true + 2019-06-13 16:51:00.223 + 2019-06-13 16:51:00.223 + 100 + false + Withholding Log to Invoice + 0 + 0 + 100 + es_MX + 54142 + 24199ff6-8e21-11e9-a464-fbeac3338130 + + + + + 2019-06-13 16:57:13.677 + 2019-06-13 16:57:13.677 + true + + false + EXISTS(SELECT 1 FROM WH_Log l + WHERE l.WH_Log_ID = @WH_Log_ID@ + AND l.C_Invoice_ID = C_Invoice.C_Invoice_ID) +AND C_Invoice.IsSOTrx = 'N' + false + + false + 3492 + WHH + 0 + 0 + 318 + 183 + 3484 + 54142 + 100 + 100 + 02b244a2-8e22-11e9-a475-9b2e2e29a3f0 + + + + + true + 2019-06-13 16:57:59.034 + 2019-06-13 16:57:59.034 + WithholdingLog + WHH + 53331 + + + Withholding Log + + 55370 + 0 + 0 + 100 + 100 + 1dff6898-8e22-11e9-a48b-6facfbb044c6 + + + + + 2019-06-13 16:57:59.755 + 2019-06-13 16:57:59.755 + true + Withholding Log + false + + 0 + 0 + 100 + 100 + 55370 + es_MX + 1e2943ca-8e22-11e9-a49e-3bef3636e7e6 + + + + + Log de Retención + 55370 + es_MX + + + + + 53331 + true + 2019-06-13 16:58:30.201 + 2019-06-13 16:58:30.201 + WithholdingGenerated + WHH + + + Withholding Generated + + 55371 + 0 + 0 + 100 + 100 + 30e75aba-8e22-11e9-a4b2-fbf2ec22f00f + + + + + 2019-06-13 16:58:31.473 + 2019-06-13 16:58:31.473 + true + Withholding Generated + false + + 0 + 0 + 100 + 100 + 55371 + es_MX + 3110e876-8e22-11e9-a4c5-8757b5b4d128 + + + + + Retención Generada + 55371 + es_MX + + + + + + I + 2019-06-13 16:59:05.396 + true + 2019-06-13 16:59:05.396 + Invoice (Vendor) <-> Withholding Log + 54141 + 54142 + false + WithholdingLog + Invoice + 0 + 0 + 50059 + 100 + 100 + 458d510e-8e22-11e9-a900-5b86659f52be + + + + + EXISTS(SELECT 1 FROM WH_Log l + WHERE l.WH_Log_ID = @WH_Log_ID@ + AND l.SourceInvoice_ID = C_Invoice.C_Invoice_ID) +AND C_Invoice.IsSOTrx = 'N' + + + + + 2019-06-13 17:01:04.83 + true + 2019-06-13 17:01:04.83 + T + + false + + RelType C_Invoice (Vendor) <= WH_Withholding_ID + Withholding Generated to Invoice + 54143 + 0 + 0 + WHH + 100 + 100 + 8cede130-8e22-11e9-9b9b-37f368f34563 + + + + + RelType C_Invoice (Vendor) <= WH_Withholding_ID + + true + 2019-06-13 17:01:05.874 + 2019-06-13 17:01:05.874 + 100 + false + Withholding Generated to Invoice + 0 + 0 + 100 + es_MX + 54143 + 8d18b3f6-8e22-11e9-9bae-0b9dca5538aa + + + + + 2019-06-13 17:02:19.128 + 2019-06-13 17:02:19.128 + true + + false + EXISTS(SELECT 1 FROM WH_Withholding l + WHERE l.WH_Withholding_ID = @WH_Withholding_ID@ + AND l.SourceInvoice_ID = C_Invoice.C_Invoice_ID) +AND C_Invoice.IsSOTrx = 'N' + false + + false + 3492 + WHH + 0 + 0 + 318 + 183 + 3484 + 54143 + 100 + 100 + b8c27e10-8e22-11e9-9bbe-fbd233dfe95d + + + + + RelType C_Invoice (Vendor) => WH_Log_ID Withholding Log + + + + + 2019-06-13 17:04:03.405 + true + 2019-06-13 17:04:03.405 + T + + false + + RelType C_Invoice (Vendor) => WH_Withholding_ID Withholding + Withholding + 54144 + 0 + 0 + WHH + 100 + 100 + f72aa2a4-8e22-11e9-9bd7-e328e4aefa10 + + + + + RelType C_Invoice (Vendor) => WH_Withholding_ID Withholding + + true + 2019-06-13 17:04:04.082 + 2019-06-13 17:04:04.082 + 100 + false + Withholding + 0 + 0 + 100 + es_MX + 54144 + f7510fde-8e22-11e9-9bea-9b8f13e44fa7 + + + + + 2019-06-13 17:04:39.523 + 2019-06-13 17:04:39.523 + true + + false + WH_Withholding.SourceInvoice_ID = @C_Invoice_ID@ + false + + false + 93598 + WHH + 0 + 0 + 54647 + 53672 + 93609 + 54144 + 100 + 100 + 0c70ff14-8e23-11e9-9bfa-efe681724ba1 + + + + + + I + 2019-06-13 17:05:05.675 + true + 2019-06-13 17:05:05.675 + Invoice (Vendor) <-> Withholding Generated + 54144 + 54143 + false + WithholdingGenerated + Invoice + 0 + 0 + 50060 + 100 + 100 + 1c65231e-8e23-11e9-9922-7b2fbf3dd0f1 + + + + diff --git a/withholding_engine/xml/migration/004_Remove_Mandatory_Column.xml b/withholding_engine/xml/migration/004_Remove_Mandatory_Column.xml new file mode 100644 index 0000000000..929380190e --- /dev/null +++ b/withholding_engine/xml/migration/004_Remove_Mandatory_Column.xml @@ -0,0 +1,10 @@ + + + + + + false + + + + diff --git a/withholding_engine/xml/migration/020_Add_Declaration_reference.xml b/withholding_engine/xml/migration/020_Add_Declaration_reference.xml new file mode 100644 index 0000000000..ed6209f19d --- /dev/null +++ b/withholding_engine/xml/migration/020_Add_Declaration_reference.xml @@ -0,0 +1,628 @@ + + + + + + 10 + 2019-07-01 20:39:49.738 + true + Declaration Debit Document Type + Declaration Debit Document Type + 2019-07-01 20:39:49.738 + DeclarationDebitDocType_ID + Use this field for set Declaration Debit Document Type + + + Declaration Debit Document Type + + + 18 + 61105 + 0 + 0 + WHH + 100 + 170 + 100 + e751c5d6-9c61-11e9-8fbe-0242ac110002 + + + + + 2019-07-01 20:39:52.208 + + true + 2019-07-01 20:39:52.208 + es_MX + + Use this field for set Declaration Debit Document Type + Declaration Debit Document Type + Declaration Debit Document Type + false + Declaration Debit Document Type + + + 0 + 0 + 100 + 100 + 61105 + e78daf6a-9c61-11e9-8fbe-0242ac110002 + + + + + es_MX + Use este campo para llenar el Tipo de Documento de Declaración (Débito) + Tipo de Documento de Declaración (Débito) + Tipo de Documento de Declaración (Débito) + Tipo de Documento de Declaración (Débito) + 61105 + + + + + 2019-07-01 20:42:16.852 + true + Declaration Credit Document Type + Declaration Credit Document Type + 2019-07-01 20:42:16.852 + DeclarationCreditDocType_ID + Use this field for set Declaration Credit Document Type + + + Declaration Credit Document Type + + + 10 + 18 + 61106 + 0 + 0 + WHH + 100 + 170 + 100 + 3e75d14a-9c62-11e9-8888-0242ac110002 + + + + + 2019-07-01 20:42:18.273 + + true + 2019-07-01 20:42:18.273 + es_MX + + Use this field for set Declaration Credit Document Type + Declaration Credit Document Type + Declaration Credit Document Type + false + Declaration Credit Document Type + + + 0 + 0 + 100 + 100 + 61106 + 3e9d644e-9c62-11e9-8888-0242ac110002 + + + + + es_MX + Use este campo para establecer el Tipo de Documento de Declaración (Crédito) + Tipo de Documento de Declaración (Crédito) + Tipo de Documento de Declaración (Crédito) + Tipo de Documento de Declaración (Crédito) + 61106 + + + + + 100 + 2019-07-01 20:45:41.036 + true + Withholding Declaration + Withholding Declaration reference + 2019-07-01 20:45:41.036 + WithholdingDeclaration_ID + + + + Withholding Declaration + + + 10 + 30 + 61107 + 0 + 0 + WHH + 336 + 100 + bafa93ae-9c62-11e9-8888-0242ac110002 + + + + + 2019-07-01 20:45:47.131 + + true + 2019-07-01 20:45:47.131 + es_MX + + + Withholding Declaration + Withholding Declaration reference + false + Withholding Declaration + + + 0 + 0 + 100 + 100 + 61107 + bb1a7a20-9c62-11e9-8888-0242ac110002 + + + + + es_MX + Indica la referencia al documento por pagar de declaración de retención + Declaración de Retención + Referencia de Declaración de Retención + Declaración de Retención + 61107 + + + + + Make a reference to AP invoice for withholding declaration + + + + + Withholding Declaration reference + 0 + + WithholdingDeclaration_ID + Make a reference to AP invoice for withholding declaration + true + + false + N + + true + false + false + 0 + true + WHH + 0 + 0 + + 54647 + 100 + 61107 + 336 + + 10 + 30 + 100 + 06775d6c-9c63-11e9-8888-0242ac110002 + + true + + 2019-07-01 20:47:52.252 + + 2019-07-01 20:47:52.252 + + 93919 + false + Withholding Declaration + false + false + + + false + true + N + false + + + + + + + + 2019-07-01 20:47:53.858 + true + 2019-07-01 20:47:53.858 + 93919 + false + Withholding Declaration + 0 + 0 + 100 + 100 + es_MX + 06a3a714-9c63-11e9-8888-0242ac110002 + + + + + Retención realizada a un documento + Retención + 54813 + es_MX + + + + + Withholding + + + + + Withholding Declaration + false + 2019-07-01 20:48:55.845 + false + + 2019-07-01 20:48:55.846 + + true + + false + true + Withholding Declaration reference + true + false + 0 + true + Make a reference to AP invoice for withholding declaration + + + + + 0 + true + false + false + + + + false + 0 + 0 + 95174 + WHH + 100 + 100 + 210 + + 93919 + + 210 + 0 + 54813 + + 2cfd7b1a-9c63-11e9-8888-0242ac110002 + + + + + true + 2019-07-01 20:48:58.764 + 2019-07-01 20:48:58.764 + 0 + false + Withholding Declaration reference + Withholding Declaration + Make a reference to AP invoice for withholding declaration + 0 + 95174 + 100 + 100 + es_MX + 2d53c272-9c63-11e9-8888-0242ac110002 + + + + + true + + + + + S + true + C_DocType.DocBaseType IN ('APC') + 2019-07-01 20:52:38.882 + 2019-07-01 20:52:38.882 + C_DocType Credit Memos Only + C_DocType Credit Memos Only + 0 + 0 + 52709 + WHH + 100 + 100 + b16f407c-9c63-11e9-ad65-0242ac110002 + + + + + 100 + Declaration Debit Document Type + true + + 2019-07-01 20:52:58.441 + + 2019-07-01 20:52:58.441 + + 93920 + false + Declaration Debit Document Type + false + false + + + false + false + N + false + + + + 0 + + DeclarationDebitDocType_ID + Use this field for set Declaration Debit Document Type + true + + false + N + + true + false + false + 0 + true + WHH + 0 + 0 + + 54648 + 61105 + 170 + 52559 + 10 + 18 + 100 + bd464fd0-9c63-11e9-ad65-0242ac110002 + + + + + + 2019-07-01 20:53:00.713 + true + 2019-07-01 20:53:00.713 + 93920 + false + Declaration Debit Document Type + 0 + 0 + 100 + 100 + es_MX + bd8a0644-9c63-11e9-ad65-0242ac110002 + + + + + Declaration Credit Document Type + true + + 2019-07-01 20:53:27.368 + + 2019-07-01 20:53:27.368 + + 93921 + false + Declaration Credit Document Type + false + false + + + false + false + N + false + + + + 0 + + DeclarationCreditDocType_ID + Use this field for set Declaration Credit Document Type + true + + false + N + + true + false + false + 0 + true + WHH + 0 + 0 + + 54648 + 100 + 61106 + 170 + 52709 + 10 + 18 + 100 + cddf0fda-9c63-11e9-8fbe-0242ac110002 + + + + + + 2019-07-01 20:53:28.406 + 93921 + false + Declaration Credit Document Type + 0 + 0 + 100 + 100 + es_MX + ce0b9686-9c63-11e9-8fbe-0242ac110002 + true + 2019-07-01 20:53:28.406 + + + + + Declaration Debit Document Type + false + 2019-07-01 20:54:04.138 + false + + 2019-07-01 20:54:04.138 + + true + + false + true + Declaration Debit Document Type + true + false + 0 + true + Use this field for set Declaration Debit Document Type + + + + + 0 + true + false + false + + + + false + 0 + 0 + 95175 + WHH + 100 + 100 + 80 + 104 + 93920 + + 80 + 0 + 54814 + + e3d7e44c-9c63-11e9-8fbe-0242ac110002 + + + + + true + 2019-07-01 20:54:05.398 + 2019-07-01 20:54:05.398 + 0 + false + Declaration Debit Document Type + Declaration Debit Document Type + Use this field for set Declaration Debit Document Type + 0 + 95175 + 100 + 100 + es_MX + e41840fa-9c63-11e9-8fbe-0242ac110002 + + + + + Declaration Credit Document Type + false + 2019-07-01 20:54:11.274 + false + + 2019-07-01 20:54:11.274 + + true + + false + true + Declaration Credit Document Type + true + false + 0 + true + Use this field for set Declaration Credit Document Type + + + + + 0 + true + true + false + + + + false + 0 + 0 + 95176 + WHH + 100 + 100 + 90 + + 93921 + + 90 + 0 + 54814 + + e83ce154-9c63-11e9-8fbe-0242ac110002 + + + + + true + 2019-07-01 20:54:12.608 + 2019-07-01 20:54:12.608 + 0 + false + Declaration Credit Document Type + Declaration Credit Document Type + Use this field for set Declaration Credit Document Type + 0 + 95176 + 100 + 100 + es_MX + e864451e-9c63-11e9-8fbe-0242ac110002 + + + + diff --git a/withholding_engine/xml/migration/021_Add_Message.xml b/withholding_engine/xml/migration/021_Add_Message.xml new file mode 100644 index 0000000000..38fe9c8ed3 --- /dev/null +++ b/withholding_engine/xml/migration/021_Add_Message.xml @@ -0,0 +1,136 @@ + + + + + + true + 2019-07-10 10:30:34.408 + Already exists a Withholding reference for this document + 2019-07-10 10:30:34.408 + I + WithholdingReferenceError + + 0 + 0 + WHH + 53637 + 100 + 100 + 4764a8ee-a31f-11e9-b645-0242ac110002 + + + + + 2019-07-10 10:30:41.123 + 2019-07-10 10:30:41.123 + true + false + Already exists a Withholding reference for this document + + 0 + 0 + 100 + es_MX + 53637 + 100 + 4b209f74-a31f-11e9-b645-0242ac110002 + + + + + Ya existe una retención generada para este documento, por favor anule la retención primero + es_MX + 53637 + + + + + Already exists a withholding generated for this document, please reverse the withholding before + + + + + true + 2019-07-10 10:57:59.33 + Already exists a AP document generated for this document, please reverse the withholding before + 2019-07-10 10:57:59.33 + I + WithholdingAPIReferenceError + + 0 + 0 + WHH + 53638 + 100 + 100 + 1c509e5c-a323-11e9-ad45-0242ac110002 + + + + + 2019-07-10 10:58:00.907 + 2019-07-10 10:58:00.907 + true + false + Already exists a AP document generated for this document, please reverse the withholding before + + 0 + 0 + 100 + es_MX + 53638 + 100 + 1c83ba1c-a323-11e9-ad45-0242ac110002 + + + + + Ya existe una retención de documento por pagar generada para este documento, por favor anule primero la retención de documento por pagar + es_MX + 53638 + + + + + true + 2019-07-10 10:59:52.646 + Already exists a declaration generated for this document, please reverse the withholding before + 2019-07-10 10:59:52.646 + I + DeclarationReferenceError + + 0 + 0 + WHH + 53639 + 100 + 100 + 622bed50-a323-11e9-ad45-0242ac110002 + + + + + 2019-07-10 10:59:58.019 + 2019-07-10 10:59:58.019 + true + false + Already exists a declaration generated for this document, please reverse the withholding before + + 0 + 0 + 100 + es_MX + 53639 + 100 + 62519ee2-a323-11e9-ad45-0242ac110002 + + + + + Ya existe una declaración generada para este documento, por favor anule la declaración primero + es_MX + 53639 + + + + diff --git a/withholding_engine/xml/migration/022_Add_Columns.xml b/withholding_engine/xml/migration/022_Add_Columns.xml new file mode 100644 index 0000000000..9ff5e50a60 --- /dev/null +++ b/withholding_engine/xml/migration/022_Add_Columns.xml @@ -0,0 +1,811 @@ + + + + + + + Identifies a Business Partner + true + 2019-08-13 09:54:58.861 + + 2019-08-13 09:54:58.861 + + 94196 + false + Business Partner + false + false + + + false + false + N + false + + + + 0 + + C_BPartner_ID + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + true + + false + N + + true + false + false + 0 + true + WHH + 0 + 0 + + 54647 + 100 + 187 + 138 + + 10 + 30 + 100 + f096cbc8-bdd1-11e9-92f0-0242ac110002 + + + + + + 2019-08-13 09:54:59.989 + 0 + 100 + 100 + es_MX + f0f4d984-bdd1-11e9-92f0-0242ac110002 + true + 2019-08-13 09:54:59.989 + 94196 + false + Business Partner + 0 + + + + + Business Partner + false + 2019-08-13 09:57:48.163 + false + + 2019-08-13 09:57:48.163 + + true + + false + true + Identifies a Business Partner + true + false + 0 + true + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + + + + + 0 + true + false + false + + + + false + 0 + 0 + 95532 + WHH + 100 + 100 + 220 + + 94196 + + 220 + 0 + 54813 + + 55af5ade-bdd2-11e9-92f0-0242ac110002 + + + + + false + true + 2019-08-13 09:57:49.49 + 2019-08-13 09:57:49.49 + 0 + Identifies a Business Partner + Business Partner + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + 0 + 95532 + 100 + 100 + es_MX + 55fcb78e-bdd2-11e9-92f0-0242ac110002 + + + + + 170 + + + + + 180 + + + + + 190 + + + + + 200 + + + + + 210 + + + + + 220 + + + + + 104 + + + + + + + + + + WHH + Performing the function is only simulated + true + + 2019-08-13 10:01:48.041 + + 2019-08-13 10:01:48.041 + + 94197 + false + Simulation + false + false + N + + false + false + N + false + + + + 0 + + IsSimulation + + true + + false + N + + true + false + false + 0 + true + 0 + 0 + + 54647 + 100 + 1667 + + + 1 + 20 + 100 + e4717702-bdd2-11e9-92f0-0242ac110002 + + + + + + 2019-08-13 10:01:48.788 + true + 2019-08-13 10:01:48.788 + 94197 + false + Simulation + 0 + 0 + 100 + 100 + es_MX + e49e970a-bdd2-11e9-92f0-0242ac110002 + + + + + Simulation + false + 2019-08-13 10:02:07.854 + false + + 2019-08-13 10:02:07.854 + + true + + false + true + Performing the function is only simulated + true + false + 0 + true + + + + + + 0 + true + false + false + + + + false + 0 + 0 + 95533 + WHH + 100 + 100 + 230 + + 94197 + + 230 + 0 + 54813 + + f03cd7f2-bdd2-11e9-92f0-0242ac110002 + + + + + true + 2019-08-13 10:02:08.852 + 2019-08-13 10:02:08.852 + 0 + false + Performing the function is only simulated + Simulation + + 0 + 95533 + 100 + 100 + es_MX + f0941bb6-bdd2-11e9-92f0-0242ac110002 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 170 + + + + + 180 + + + + + 190 + + + + + 200 + + + + + 210 + + + + + 220 + + + + + 230 + + + + + true + true + + + + + + Withholding Credit Document Type + + + 10 + 18 + 61136 + 0 + 0 + WHH + 100 + 170 + 100 + 120b1828-bdfe-11e9-b157-0242ac110002 + 2019-08-13 15:10:52.519 + true + Withholding Credit Document Type + Withholding Credit Document Type + 2019-08-13 15:10:52.519 + WithholdingCreditDocType_ID + Use this field for set Declaration Credit Document Type + + + + + + 2019-08-13 15:10:53.673 + + true + 2019-08-13 15:10:53.673 + es_MX + + Use this field for set Declaration Credit Document Type + Withholding Credit Document Type + Withholding Credit Document Type + false + Withholding Credit Document Type + + + 0 + 0 + 100 + 100 + 61136 + 123b95de-bdfe-11e9-b157-0242ac110002 + + + + + es_MX + Tipo de Documento de Retención (Crédito) + Tipo de Documento de Retención (Crédito) + Tipo de Documento de Retención (Crédito) + 61136 + + + + + es_MX + Use este campo para establecer el Tipo de Documento de Retención (Crédito) + 61136 + + + + + + 2019-08-13 15:12:09.046 + true + Withholding Debit Document Type + Withholding Debit Document Type + 2019-08-13 15:12:09.046 + WithholdingDebitDocType_ID + Use this field for set Withholding Debit Document Type + + Withholding Debit Document Type + + + 10 + 18 + 61137 + 0 + 0 + WHH + 100 + 170 + 100 + 3f901f8c-bdfe-11e9-b157-0242ac110002 + + + + + 2019-08-13 15:12:09.97 + + true + 2019-08-13 15:12:09.97 + es_MX + + Use this field for set Withholding Debit Document Type + Withholding Debit Document Type + Withholding Debit Document Type + false + Withholding Debit Document Type + + + 0 + 0 + 100 + 100 + 61137 + 3fb56aa8-bdfe-11e9-b157-0242ac110002 + + + + + es_MX + Tipo de Documento de Retención (Débito) + Tipo de Documento de Retención (Débito) + Tipo de Documento de Retención (Débito) + 61137 + + + + + es_MX + Use este campo para llenar el Tipo de Documento de Retención (Débito) + 61137 + + + + + Withholding Debit Document Type + Withholding Debit Document Type + true + + 2019-08-13 15:13:55.659 + + 2019-08-13 15:13:55.659 + + 94198 + false + false + false + + + false + false + N + false + + + + 0 + + WithholdingDebitDocType_ID + Use this field for set Withholding Debit Document Type + true + + false + N + + true + false + false + 0 + true + WHH + 0 + 0 + + 54648 + 100 + 61137 + 170 + 52559 + 10 + 18 + 100 + 7f49e8e2-bdfe-11e9-b157-0242ac110002 + + + + + + 2019-08-13 15:13:57.09 + true + 2019-08-13 15:13:57.09 + 94198 + false + Withholding Debit Document Type + 0 + 0 + 100 + 100 + es_MX + 7f8eae32-bdfe-11e9-b157-0242ac110002 + + + + + Withholding Credit Document Type + true + + 2019-08-13 15:14:27.028 + + 2019-08-13 15:14:27.028 + + 94199 + false + Withholding Credit Document Type + false + false + + + false + false + N + false + + + + 0 + + WithholdingCreditDocType_ID + Use this field for set Declaration Credit Document Type + true + + false + N + + true + false + false + 0 + true + WHH + 0 + 0 + + 54648 + 100 + 61136 + 170 + 52709 + 10 + 18 + 100 + 91ad2d32-bdfe-11e9-b157-0242ac110002 + + + + + + 2019-08-13 15:14:27.908 + 94199 + false + Withholding Credit Document Type + 0 + 0 + 100 + 100 + es_MX + 91ed1474-bdfe-11e9-b157-0242ac110002 + true + 2019-08-13 15:14:27.908 + + + + + Withholding Credit Document Type + false + 2019-08-13 15:14:44.512 + false + + 2019-08-13 15:14:44.512 + + true + + false + true + Withholding Credit Document Type + true + false + + true + Use this field for set Declaration Credit Document Type + + + + + + true + false + false + + + + false + 0 + 0 + 95534 + WHH + 100 + 100 + 0 + + 94199 + + 0 + 10 + 54814 + + 9c3e18ce-bdfe-11e9-b157-0242ac110002 + + + + + true + 2019-08-13 15:14:45.664 + 2019-08-13 15:14:45.664 + 0 + false + Withholding Credit Document Type + Withholding Credit Document Type + Use this field for set Declaration Credit Document Type + 0 + 95534 + 100 + 100 + es_MX + 9c827c62-bdfe-11e9-b157-0242ac110002 + + + + + Withholding Debit Document Type + 94198 + + 0 + 10 + 54814 + + 9d16e244-bdfe-11e9-b157-0242ac110002 + false + 2019-08-13 15:14:45.982 + false + + 2019-08-13 15:14:45.982 + + true + + false + true + Withholding Debit Document Type + true + false + + true + Use this field for set Withholding Debit Document Type + + + + + + true + false + false + + + + false + 0 + 0 + 95535 + WHH + 100 + 100 + 0 + + + + + + true + 2019-08-13 15:14:46.983 + 2019-08-13 15:14:46.983 + 0 + false + Withholding Debit Document Type + Withholding Debit Document Type + Use this field for set Withholding Debit Document Type + 0 + 95535 + 100 + 100 + es_MX + 9d4bbd16-bdfe-11e9-b157-0242ac110002 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + + + + + + 104 + + + + + true + + + + diff --git a/withholding_engine/xml/migration/023_Add_Default_documentType.xml b/withholding_engine/xml/migration/023_Add_Default_documentType.xml new file mode 100644 index 0000000000..7d5258503f --- /dev/null +++ b/withholding_engine/xml/migration/023_Add_Default_documentType.xml @@ -0,0 +1,510 @@ + + + + + + Y + + + + + Y + + + + + Y + + + + + Y + + + + + false + + + + + Withholding Debit Document Type + Withholding Debit Document Type + WithholdingDebitDocType_ID + Use this field for set Withholding Debit Document Type + 61137 + 170 + + + + + Withholding Debit Document Type + Withholding Debit Document Type + Use this field for set Withholding Debit Document Type + + + + + false + 94706 + es_MX + + + + + Withholding Credit Document Type + true + + 2019-08-15 13:46:37.189 + + 2019-08-15 13:46:37.189 + + 94207 + false + Withholding Credit Document Type + false + false + + + false + false + N + false + + + + 0 + + WithholdingCreditDocType_ID + Use this field for set Declaration Credit Document Type + true + + false + N + + true + false + false + 0 + true + WHH + 0 + 0 + + 54645 + 100 + 61136 + 170 + 52709 + 10 + 18 + 100 + a1db650c-bf84-11e9-b861-0242ac110002 + + + + + + 2019-08-15 13:46:38.761 + 2019-08-15 13:46:38.761 + true + 94207 + false + Withholding Credit Document Type + 0 + 0 + 100 + 100 + es_MX + a218f318-bf84-11e9-b861-0242ac110002 + + + + + 52709 + Declaration Credit Document Type + true + + 2019-08-15 13:47:07.511 + + 2019-08-15 13:47:07.511 + + 94208 + false + Declaration Credit Document Type + false + false + + + false + false + N + false + + + + 0 + + DeclarationCreditDocType_ID + Use this field for set Declaration Credit Document Type + true + + false + N + + true + false + false + 0 + true + WHH + 0 + 0 + + 54645 + 100 + 61106 + 170 + 10 + 18 + 100 + b3ec432e-bf84-11e9-b861-0242ac110002 + + + + + + 2019-08-15 13:47:09.124 + true + 2019-08-15 13:47:09.124 + 94208 + false + Declaration Credit Document Type + 0 + 0 + 100 + 100 + es_MX + b431ce1c-bf84-11e9-b861-0242ac110002 + + + + + WHH + Declaration Debit Document Type + true + + 2019-08-15 13:47:32.092 + + 2019-08-15 13:47:32.092 + + 94209 + false + Declaration Debit Document Type + false + false + + + false + false + N + false + + + + 0 + + DeclarationDebitDocType_ID + Use this field for set Declaration Debit Document Type + true + + false + N + + true + false + false + 0 + true + 0 + 0 + + 54645 + 100 + 61105 + 170 + 52559 + 10 + 18 + 100 + c2535bd2-bf84-11e9-b861-0242ac110002 + + + + + + 2019-08-15 13:47:33.272 + true + 2019-08-15 13:47:33.272 + 94209 + false + Declaration Debit Document Type + 0 + 0 + 100 + 100 + es_MX + c2963f60-bf84-11e9-b861-0242ac110002 + + + + + 52559 + 18 + + + + + + + + false + 0 + 0 + 95544 + WHH + 100 + 100 + 0 + + 94208 + + 0 + 10 + 54811 + + e52254a6-bf84-11e9-9c7b-0242ac110002 + Declaration Credit Document Type + false + 2019-08-15 13:48:30.6 + false + + 2019-08-15 13:48:30.6 + + true + + false + true + Declaration Credit Document Type + true + false + + true + Use this field for set Declaration Credit Document Type + + + + + + true + false + false + + + + + true + 2019-08-15 13:48:31.644 + 2019-08-15 13:48:31.644 + 0 + false + Declaration Credit Document Type + Declaration Credit Document Type + Use this field for set Declaration Credit Document Type + 0 + 95544 + 100 + 100 + es_MX + e561992c-bf84-11e9-9c7b-0242ac110002 + + + + + + Declaration Debit Document Type + false + 2019-08-15 13:48:31.825 + false + + 2019-08-15 13:48:31.825 + + true + + false + true + Declaration Debit Document Type + true + false + + true + Use this field for set Declaration Debit Document Type + + + + + true + false + false + + + + false + 0 + 0 + 95545 + WHH + 100 + 100 + 0 + + 94209 + + 0 + 10 + 54811 + + e675c2c0-bf84-11e9-9c7b-0242ac110002 + + + + + true + 2019-08-15 13:48:33.811 + 2019-08-15 13:48:33.811 + 0 + false + Declaration Debit Document Type + Declaration Debit Document Type + Use this field for set Declaration Debit Document Type + 0 + 95545 + 100 + 100 + es_MX + e6abdf18-bf84-11e9-9c7b-0242ac110002 + + + + + Withholding Credit Document Type + Withholding Credit Document Type + false + 2019-08-15 13:48:33.978 + false + + 2019-08-15 13:48:33.978 + + true + + false + true + true + false + + true + Use this field for set Declaration Credit Document Type + + + + + + true + false + false + + + + false + 0 + 0 + 95546 + WHH + 100 + 100 + 0 + + 94207 + + 0 + 10 + 54811 + + e7186b4c-bf84-11e9-9c7b-0242ac110002 + + + + + true + 2019-08-15 13:48:34.866 + 2019-08-15 13:48:34.866 + 0 + false + Withholding Credit Document Type + Withholding Credit Document Type + Use this field for set Declaration Credit Document Type + 0 + 95546 + 100 + 100 + es_MX + e74cd38c-bf84-11e9-9c7b-0242ac110002 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 104 + + + + + true + + + + + true + + + + diff --git a/withholding_engine/xml/migration/024_Add_DocumentType_For_Setting.xml b/withholding_engine/xml/migration/024_Add_DocumentType_For_Setting.xml new file mode 100644 index 0000000000..b81d8d0a03 --- /dev/null +++ b/withholding_engine/xml/migration/024_Add_DocumentType_For_Setting.xml @@ -0,0 +1,741 @@ + + + + + + 2019-08-17 14:27:04.249 + true + Source Order + + 2019-08-17 14:27:04.249 + SourceOrder_ID + + + + Source Order + + + 10 + 18 + 61146 + 0 + 0 + WHH + 100 + 290 + 100 + 9d1513f8-c11c-11e9-9e36-0242ac110002 + + + + + 2019-08-17 14:27:05.988 + + true + 2019-08-17 14:27:05.988 + es_MX + + + Source Order + + false + Source Order + + + 0 + 0 + 100 + 100 + 61146 + 9da9a428-c11c-11e9-9e36-0242ac110002 + + + + + es_MX + 61146 + Orden Fuente + Orden Fuente para la Retención a Generar + Orden Fuente + + + + + Source Invoice + Source Invoice + + + + + Source Invoice + + + + + Source Invoice + + + + + Source Invoice + + + + + Source Invoice + + + + + es_MX + Factura Fuente para la Retención a Generar + 61060 + + + + + 2019-08-17 14:29:43.529 + true + Source Order Line + + 2019-08-17 14:29:43.529 + SourceOrderLine_ID + + + + Source Order Line + + + 10 + 18 + 61147 + 0 + 0 + WHH + 100 + 271 + 100 + fbf23b6c-c11c-11e9-9e36-0242ac110002 + + + + + fc12bacc-c11c-11e9-9e36-0242ac110002 + 2019-08-17 14:29:44.383 + + true + 2019-08-17 14:29:44.383 + es_MX + + + Source Order Line + + false + Source Order Line + + + 0 + 0 + 100 + 100 + 61147 + + + + + es_MX + Linea de Orden Fuente + Linea de Orden Fuente para la Retención a Generar + Linea de Orden Fuente + 61147 + + + + + 20e4cd9a-c11d-11e9-9e36-0242ac110002 + + true + + 2019-08-17 14:30:45.421 + + 2019-08-17 14:30:45.421 + + 94215 + false + Source Order + false + false + + + false + true + N + false + + + + 0 + + SourceOrder_ID + + true + + false + N + + true + false + false + 0 + true + WHH + 0 + 0 + + 54647 + 100 + 61146 + 290 + + 10 + 18 + 100 + + + + + + 2019-08-17 14:30:46.542 + true + 2019-08-17 14:30:46.542 + 94215 + false + Source Order + 0 + 0 + 100 + 100 + es_MX + 211f83b8-c11d-11e9-9e36-0242ac110002 + + + + + + 100 + 61147 + 271 + + 10 + 18 + 100 + 27e5989a-c11d-11e9-9d95-0242ac110002 + + true + + 2019-08-17 14:30:57.364 + + 2019-08-17 14:30:57.364 + + 94216 + false + Source Order Line + false + false + + + false + false + N + false + + + + 0 + + SourceOrderLine_ID + + true + + false + N + + true + false + false + 0 + true + WHH + 0 + 0 + + 54647 + + + + + 2019-08-17 14:30:58.239 + true + 2019-08-17 14:30:58.239 + 94216 + false + Source Order Line + 0 + 0 + 100 + 100 + es_MX + 2818413c-c11d-11e9-9d95-0242ac110002 + + + + + Source Order + false + 2019-08-17 14:35:26.174 + false + + 2019-08-17 14:35:26.174 + + true + + false + true + + true + false + + true + + + + + + + true + false + false + + + + false + 0 + 0 + 95552 + WHH + 100 + 100 + 0 + + 94215 + + 0 + 10 + 54813 + + c82f77bc-c11d-11e9-9d95-0242ac110002 + + + + + true + 2019-08-17 14:35:27.122 + 2019-08-17 14:35:27.122 + 0 + false + + Source Order + + 0 + 95552 + 100 + 100 + es_MX + c85cac46-c11d-11e9-9d95-0242ac110002 + + + + + Source Order Line + + false + 0 + 0 + 95553 + WHH + 100 + 100 + 0 + + 94216 + + 0 + 10 + 54813 + + c8cb5dee-c11d-11e9-9d95-0242ac110002 + false + 2019-08-17 14:35:27.288 + false + + 2019-08-17 14:35:27.288 + + true + + false + true + + true + false + + true + + + + + + + true + false + false + + + + + + + true + 2019-08-17 14:35:28.121 + 2019-08-17 14:35:28.121 + 0 + false + + Source Order Line + + 0 + 95553 + 100 + 100 + es_MX + c8f4e25e-c11d-11e9-9d95-0242ac110002 + + + + + 210 + + + + + 220 + + + + + 230 + + + + + 240 + + + + + 250 + + + + + true + + + + + true + + + + + true + + + + + true + S + C_DocType.DocBaseType IN ('ARI', 'API') + 2019-08-17 14:39:05.636 + 2019-08-17 14:39:05.636 + C_DocType AR/AP (For Withholding) + Document Type AR/AP (For Withholding + 0 + 0 + 52723 + WHH + 100 + 100 + 4aff6396-c11e-11e9-9e36-0242ac110002 + + + + + 52723 + + + + + true + S + C_DocType.DocBaseType IN ('ARC', 'APC') + 2019-08-17 14:42:02.686 + 2019-08-17 14:42:02.686 + C_DocType ARC/APC (For Withholding) + Document Type ARC/APC (For Withholding) + 0 + 0 + 52724 + WHH + 100 + 100 + b4b4c2e0-c11e-11e9-9e36-0242ac110002 + + + + + Document Type AR/AP (For Withholding) + + + + + 52724 + + + + + 52724 + + + + + 52723 + + + + + 52724 + + + + + 52723 + + + + + 52723 + + + + + 52724 + + + + + 52724 + Withholding Debit Document Type + Withholding Debit Document Type + WithholdingDebitDocType_ID + Use this field for set Withholding Debit Document Type + 61137 + 170 + + + + + Withholding Debit Document Type + Withholding Debit Document Type + Use this field for set Withholding Debit Document Type + + + + + false + 94760 + es_MX + + + + + true + 18 + + + + + 52723 + 10 + 18 + 100 + 36567e4c-c11f-11e9-8b23-0242ac110002 + + Withholding Credit Document Type + true + + 2019-08-17 14:45:40.241 + + 2019-08-17 14:45:40.241 + + 94217 + false + Withholding Credit Document Type + false + false + + + false + true + N + false + + + + 0 + + WithholdingCreditDocType_ID + Use this field for set Declaration Credit Document Type + true + + false + N + + true + false + false + 0 + true + WHH + 0 + 0 + + 54649 + 100 + 61136 + 170 + + + + + 2019-08-17 14:45:41.765 + true + 2019-08-17 14:45:41.765 + 94217 + false + Withholding Credit Document Type + 0 + 0 + 100 + 100 + es_MX + 36b7c6fc-c11f-11e9-8b23-0242ac110002 + + + + + 0 + Withholding Credit Document Type + false + 2019-08-17 14:46:00.498 + false + + 2019-08-17 14:46:00.498 + + true + + false + true + Withholding Credit Document Type + true + false + + true + Use this field for set Declaration Credit Document Type + + + + + + true + false + false + + + + false + 0 + 0 + 95554 + WHH + 100 + 100 + + 94217 + + 0 + 10 + 54815 + + 424e0c4c-c11f-11e9-8b23-0242ac110002 + + + + + true + 2019-08-17 14:46:01.574 + 2019-08-17 14:46:01.574 + 0 + false + Withholding Credit Document Type + Withholding Credit Document Type + Use this field for set Declaration Credit Document Type + 0 + 95554 + 100 + 100 + es_MX + 428640ee-c11f-11e9-8b23-0242ac110002 + + + + + 120 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + true + + + + + false + + + + diff --git a/withholding_engine/xml/migration/025_Add_ReProcess_Withholding.xml b/withholding_engine/xml/migration/025_Add_ReProcess_Withholding.xml new file mode 100644 index 0000000000..b1e0768629 --- /dev/null +++ b/withholding_engine/xml/migration/025_Add_ReProcess_Withholding.xml @@ -0,0 +1,141 @@ + + + + + + + 660ea190-c120-11e9-996e-0242ac110002 + org.spin.process.WithholdingReProcess + This process allows re-generate withholding from AP Invoices for add to declaration party + false + false + 0 + 0 + 100 + 100 + true + Y + Withholding Re-Process + Re-Process a Withholding generated from a AP Document + WithholdingReProcess + + 3 + false + N + + 54261 + 0 + 0 + + + + WHH + + 2019-08-17 14:54:09.753 + 2019-08-17 14:54:09.753 + + false + N + + + + + true + 2019-08-17 14:54:11.008 + 2019-08-17 14:54:11.008 + Re-Process a Withholding generated from a AP Document + This process allows re-generate withholding from AP Invoices for add to declaration party + false + Withholding Re-Process + 0 + 0 + 100 + es_MX + 54261 + 100 + 664015f4-c120-11e9-996e-0242ac110002 + + + + + Re-Procesar Retención de un Documento + Este proceso permite re-procesar un documento para generar la retención + Re-Procesar Retención + es_MX + 54261 + + + + + true + 2019-08-17 14:56:52.496 + 2019-08-17 14:56:52.496 + 318 + 54261 + 0 + WHH + 0 + 100 + 100 + c682013e-c120-11e9-996e-0242ac110002 + + + + + true + 2019-08-17 14:57:07.006 + 2019-08-17 14:57:07.006 + 259 + 54261 + 0 + WHH + 0 + 100 + 100 + cf278e12-c120-11e9-996e-0242ac110002 + + + + + true + 2019-08-17 15:04:40.749 + Record is not a valid document for withholding + 2019-08-17 15:04:40.749 + E + RecordIsNotADocument + + 0 + 0 + WHH + 53640 + 100 + 100 + de04dccc-c121-11e9-82b1-0242ac110002 + + + + + 2019-08-17 15:04:41.853 + 2019-08-17 15:04:41.853 + true + false + Record is not a valid document for withholding + + 0 + 0 + 100 + es_MX + 53640 + 100 + de4353e4-c121-11e9-82b1-0242ac110002 + + + + + El registro no es un documento válido para retener + es_MX + 53640 + + + + diff --git a/withholding_engine/xml/migration/026_AddBrowserForGenerateWithholdingDocument.xml b/withholding_engine/xml/migration/026_AddBrowserForGenerateWithholdingDocument.xml new file mode 100644 index 0000000000..107b560d73 --- /dev/null +++ b/withholding_engine/xml/migration/026_AddBrowserForGenerateWithholdingDocument.xml @@ -0,0 +1,3667 @@ + + + + + + true + 100 + 100 + 0fb0a5fa-9dd0-11e9-a5b9-0242ac140003 + 2019-09-01 12:27:46.811 + 2019-09-01 12:27:46.811 + WH_Withholding + + + N + Withholding + 50155 + WHH + 0 + 0 + + + + + 100 + true + 2019-09-01 12:27:47.912 + 2019-09-01 12:27:47.912 + + true + + Retenciones + 0 + 0 + 50155 + 100 + es_MX + 0fb3715e-9dd0-11e9-a5b9-0242ac140003 + + + + + true + + + + + true + false + 2019-09-01 12:28:23.099 + 2019-09-01 12:28:23.099 + wh + + 50429 + 0 + 0 + 100 + 100 + 54647 + 50155 + 10 + 279820e4-9dd0-11e9-a5b9-0242ac140003 + + + + + 4c8522bc-9dd0-11e9-8514-0242ac140003 + + 66762 + 0 + 0 + WHH + 100 + 50155 + 93605 + 100 + true + 2019-09-01 12:28:23.855 + 2019-09-01 12:28:23.855 + 50429 + + wh.SourceInvoiceLine_ID + Source Invoice Line + WH_SourceInvoiceLine_ID + + + + + true + 2019-09-01 12:28:24.662 + 2019-09-01 12:28:24.662 + + + false + Source Invoice Line + 66762 + 0 + 0 + 100 + 100 + 4c88392a-9dd0-11e9-8514-0242ac140003 + es_MX + + + + + The Updated field indicates the date that this record was updated. + 4c8a3b9e-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:24.892 + 2019-09-01 12:28:24.892 + 50429 + wh.Updated + Updated + WH_Updated + Date this record was updated + 66763 + 0 + 0 + WHH + 100 + 50155 + 93606 + 100 + + + + + true + 2019-09-01 12:28:26.288 + 2019-09-01 12:28:26.288 + Date this record was updated + + false + Updated + 66763 + 0 + 0 + 100 + 100 + 4c8f7050-9dd0-11e9-8514-0242ac140003 + es_MX + + + + + 4c79ae14-9dd0-11e9-8514-0242ac140003 + 0 + 0 + WHH + 100 + 50155 + 93602 + 100 + true + 2019-09-01 12:28:26.514 + 2019-09-01 12:28:26.514 + 50429 + The Processed checkbox indicates that a document has been processed. + wh.Processed + Processed + WH_Processed + The document has been processed + 66764 + + + + + true + Processed + 2019-09-01 12:28:27.443 + 2019-09-01 12:28:27.443 + The document has been processed + + false + 66764 + 0 + 0 + 100 + 100 + 4c7b79b0-9dd0-11e9-8514-0242ac140003 + es_MX + + + + + 4c7d8a16-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:27.615 + 2019-09-01 12:28:27.615 + 50429 + + wh.Processing + Process Now + WH_Processing + + 66765 + 0 + 0 + WHH + 100 + 50155 + 93603 + 100 + + + + + true + 2019-09-01 12:28:28.425 + 2019-09-01 12:28:28.425 + + + false + Process Now + 66765 + 0 + 0 + 100 + 100 + 4c7f5ac6-9dd0-11e9-8514-0242ac140003 + es_MX + + + + + + 66766 + 0 + 0 + WHH + 100 + 4c8163e8-9dd0-11e9-8514-0242ac140003 + 50155 + 93604 + 100 + true + 2019-09-01 12:28:28.691 + 2019-09-01 12:28:28.691 + 50429 + + wh.SourceInvoice_ID + Source Invoice + WH_SourceInvoice_ID + + + + + true + 2019-09-01 12:28:29.412 + 2019-09-01 12:28:29.412 + + + false + Source Invoice + 66766 + 0 + 0 + 100 + 100 + 4c8325fc-9dd0-11e9-8514-0242ac140003 + es_MX + + + + + 4c2e3524-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:29.699 + 2019-09-01 12:28:29.699 + 50429 + + wh.A_Base_Amount + A_Base_Amount + WH_A_Base_Amount + + 66767 + 0 + 0 + WHH + 100 + 50155 + 93586 + 100 + + + + + true + 2019-09-01 12:28:30.703 + 2019-09-01 12:28:30.703 + + + false + A_Base_Amount + 66767 + 0 + 0 + 100 + 100 + 4c30ea94-9dd0-11e9-8514-0242ac140003 + es_MX + + + + + 4c349770-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:30.925 + 2019-09-01 12:28:30.925 + 50429 + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + wh.AD_Client_ID + Client + WH_AD_Client_ID + Client/Tenant for this installation. + 66768 + 0 + 0 + WHH + 100 + 50155 + 93587 + 100 + + + + + true + 2019-09-01 12:28:31.862 + 2019-09-01 12:28:31.862 + Client/Tenant for this installation. + + false + Client + 66768 + 0 + 0 + 100 + 100 + 4c36dbfc-9dd0-11e9-8514-0242ac140003 + es_MX + + + + + 4c38d81c-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:32.101 + 2019-09-01 12:28:32.101 + 50429 + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + wh.AD_Org_ID + Organization + WH_AD_Org_ID + Organizational entity within client + 66769 + 0 + 0 + WHH + 100 + 50155 + 93588 + 100 + + + + + es_MX + true + 2019-09-01 12:28:33.085 + 2019-09-01 12:28:33.085 + Organizational entity within client + + false + Organization + 66769 + 0 + 0 + 100 + 100 + 4c3ab3b2-9dd0-11e9-8514-0242ac140003 + + + + + 4c3ca500-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:33.309 + 2019-09-01 12:28:33.309 + 50429 + The Invoice Document. + wh.C_Invoice_ID + Invoice + WH_C_Invoice_ID + Invoice Identifier + 66770 + 0 + 0 + WHH + 100 + 50155 + 93590 + 100 + + + + + 2019-09-01 12:28:34.067 + true + 2019-09-01 12:28:34.067 + Invoice Identifier + + false + Invoice + 66770 + 0 + 0 + 100 + 100 + 4c410ffa-9dd0-11e9-8514-0242ac140003 + es_MX + + + + + 4c46da84-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:34.233 + 2019-09-01 12:28:34.233 + 50429 + wh.C_InvoiceLine_ID + Invoice Line + WH_C_InvoiceLine_ID + Invoice Detail Line + 66771 + 0 + 0 + WHH + 100 + 50155 + 93591 + 100 + The Invoice Line uniquely identifies a single line of an Invoice. + + + + + es_MX + true + 2019-09-01 12:28:35.075 + 2019-09-01 12:28:35.075 + Invoice Detail Line + + false + Invoice Line + 66771 + 0 + 0 + 100 + 100 + 4c4b418c-9dd0-11e9-8514-0242ac140003 + + + + + 4c4d2f88-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:35.25 + 2019-09-01 12:28:35.25 + 50429 + The Created field indicates the date that this record was created. + wh.Created + Created + WH_Created + Date this record was created + 66772 + 0 + 0 + WHH + 100 + 50155 + 93592 + 100 + + + + + 100 + 100 + 4c4f18a2-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:35.912 + 2019-09-01 12:28:35.912 + Date this record was created + + false + Created + 66772 + 0 + 0 + es_MX + + + + + 4c50fe56-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:36.186 + 2019-09-01 12:28:36.186 + 50429 + The Created By field indicates the user who created this record. + wh.CreatedBy + Created By + WH_CreatedBy + User who created this records + 66773 + 0 + 0 + WHH + 100 + 50155 + 93593 + 100 + + + + + true + 2019-09-01 12:28:37.28 + 2019-09-01 12:28:37.28 + User who created this records + + false + Created By + 66773 + 0 + 0 + 100 + 100 + 4c5410be-9dd0-11e9-8514-0242ac140003 + es_MX + + + + + 4c5610f8-9dd0-11e9-8514-0242ac140003 + 93594 + 100 + true + 2019-09-01 12:28:37.473 + 2019-09-01 12:28:37.473 + 50429 + The Document Date indicates the date the document was generated. It may or may not be the same as the accounting date. + wh.DateDoc + Document Date + WH_DateDoc + Date of the Document + 66774 + 0 + 0 + WHH + 100 + 50155 + + + + + Document Date + true + 2019-09-01 12:28:38.298 + 2019-09-01 12:28:38.298 + Date of the Document + + false + 66774 + 0 + 0 + 100 + 100 + 4c57ea5e-9dd0-11e9-8514-0242ac140003 + es_MX + + + + + 4c59eade-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:38.562 + 2019-09-01 12:28:38.562 + 50429 + The Document Type determines document sequence and processing rules + wh.C_DocType_ID + Document Type + WH_C_DocType_ID + Document type or rules + 66775 + 0 + 0 + WHH + 100 + 50155 + 93589 + 100 + + + + + es_MX + + false + Document Type + 66775 + 0 + 0 + 100 + 100 + 4c5bc412-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:39.394 + 2019-09-01 12:28:39.394 + Document type or rules + + + + + 4c5dbb46-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:39.635 + 2019-09-01 12:28:39.635 + 50429 + A description is limited to 255 characters. + wh.Description + Description + WH_Description + Optional short description of the record + 66776 + 0 + 0 + WHH + 100 + 50155 + 93595 + 100 + + + + + true + 66776 + 0 + 0 + 100 + es_MX + 100 + 4c5f7aee-9dd0-11e9-8514-0242ac140003 + 2019-09-01 12:28:40.475 + 2019-09-01 12:28:40.475 + Optional short description of the record + + false + Description + + + + + 50155 + 4c618d3e-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:40.674 + 2019-09-01 12:28:40.674 + 50429 + You find the current status in the Document Status field. The options are listed in a popup + wh.DocAction + Document Action + WH_DocAction + The targeted status of the document + 66777 + 0 + 0 + WHH + 100 + 93665 + 100 + + + + + true + 2019-09-01 12:28:41.371 + 2019-09-01 12:28:41.371 + The targeted status of the document + + false + Document Action + 66777 + 0 + 0 + 100 + 100 + 4c635556-9dd0-11e9-8514-0242ac140003 + es_MX + + + + + 4c655464-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:41.539 + 2019-09-01 12:28:41.539 + 50429 + The Document Status indicates the status of a document at this time. If you want to change the document status, use the Document Action field + wh.DocStatus + Document Status + WH_DocStatus + The current status of the document + 66778 + 0 + 0 + WHH + 100 + 50155 + 93597 + 100 + + + + + 0 + 4c671024-9dd0-11e9-8514-0242ac140003 + es_MX + true + 2019-09-01 12:28:42.343 + 2019-09-01 12:28:42.343 + The current status of the document + + false + Document Status + 66778 + 0 + 100 + 100 + + + + + 4c692e4a-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:42.574 + 2019-09-01 12:28:42.574 + 50429 + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + wh.DocumentNo + Document No + WH_DocumentNo + Document sequence number of the document + 66779 + 0 + 0 + WHH + 100 + 50155 + 93598 + 100 + + + + + true + 2019-09-01 12:28:43.349 + 2019-09-01 12:28:43.349 + Document sequence number of the document + + false + Document No + 66779 + 0 + 0 + 100 + es_MX + 100 + 4c6af77a-9dd0-11e9-8514-0242ac140003 + + + + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + 4c6d00d8-9dd0-11e9-8514-0242ac140003 + 0 + WHH + 100 + 50155 + 93599 + 100 + true + 2019-09-01 12:28:43.642 + 2019-09-01 12:28:43.642 + 50429 + wh.IsActive + Active + WH_IsActive + The record is active in the system + 66780 + 0 + + + + + 2019-09-01 12:28:44.529 + true + 2019-09-01 12:28:44.529 + The record is active in the system + + false + Active + 66780 + 0 + 0 + 100 + 100 + 4c6ebab8-9dd0-11e9-8514-0242ac140003 + es_MX + + + + + 4c72171c-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:44.78 + 2019-09-01 12:28:44.78 + 50429 + The Approved checkbox indicates if this document requires approval before it can be processed. + wh.IsApproved + Approved + WH_IsApproved + Indicates if this document requires approval + 66781 + 0 + 0 + WHH + 100 + 50155 + 93600 + 100 + + + + + Approved + 4c73e6dc-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:45.728 + 2019-09-01 12:28:45.728 + Indicates if this document requires approval + + false + 0 + 0 + 100 + 100 + es_MX + 66781 + + + + + 4c75e72a-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:45.964 + 2019-09-01 12:28:45.964 + 50429 + This flag is very useful for determinate if a withholding was declared or not + wh.IsDeclared + Is Declared + WH_IsDeclared + Show if a withholding has been declared + 66782 + 0 + 0 + WHH + 100 + 50155 + 93601 + 100 + + + + + true + 2019-09-01 12:28:47.011 + Show if a withholding has been declared + + false + Is Declared + 66782 + 0 + 0 + 100 + es_MX + 100 + 4c77b0aa-9dd0-11e9-8514-0242ac140003 + 2019-09-01 12:28:47.011 + + + + + 100 + 0 + WHH + 100 + 50155 + 93607 + 4c953ca6-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:47.258 + 2019-09-01 12:28:47.258 + 50429 + The Updated By field indicates the user who updated this record. + wh.UpdatedBy + Updated By + WH_UpdatedBy + User who updated this records + 66783 + 0 + + + + + true + 2019-09-01 12:28:48.36 + 2019-09-01 12:28:48.36 + User who updated this records + + false + Updated By + 66783 + 0 + 0 + 100 + es_MX + 100 + 4c9b4b64-9dd0-11e9-8514-0242ac140003 + + + + + 4c9d58dc-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:48.639 + 2019-09-01 12:28:48.639 + 50429 + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + wh.UUID + Immutable Universally Unique Identifier + WH_UUID + Immutable Universally Unique Identifier + 66784 + 0 + 0 + WHH + 100 + 50155 + 93608 + 100 + + + + + true + 2019-09-01 12:28:49.363 + Immutable Universally Unique Identifier + + false + Immutable Universally Unique Identifier + 66784 + 0 + 0 + 100 + es_MX + 100 + 4c9f1c08-9dd0-11e9-8514-0242ac140003 + 2019-09-01 12:28:49.363 + + + + + 4ca1296c-9dd0-11e9-8514-0242ac140003 + 2019-09-01 12:28:49.643 + 2019-09-01 12:28:49.643 + 50429 + + wh.WH_Withholding_ID + Withholding Allocation + WH_WH_Withholding_ID + + 66785 + 0 + 0 + WHH + 100 + 50155 + 93609 + 100 + true + + + + + true + 2019-09-01 12:28:50.309 + 2019-09-01 12:28:50.309 + + + false + Withholding Allocation + 66785 + 0 + 0 + 100 + es_MX + 100 + 4ca2f1ac-9dd0-11e9-8514-0242ac140003 + + + + + 4ca4f31c-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:50.473 + 2019-09-01 12:28:50.473 + 50429 + + wh.WithholdingAmt + Withholding Amt + WH_WithholdingAmt + + 66786 + 0 + 0 + WHH + 100 + 50155 + 93611 + 100 + + + + + false + 2019-09-01 12:28:51.252 + + + Withholding Amt + 66786 + 0 + 0 + 100 + es_MX + 100 + 4ca6bdc8-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:51.252 + + + + + 4ca8cb18-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:51.429 + 2019-09-01 12:28:51.429 + 50429 + in this sale the functionalities are specified to each applied withholding. + wh.WH_Setting_ID + Withholding Setting + WH_WH_Setting_ID + specifies the setting to each applied withholding + 66787 + 0 + 0 + WHH + 100 + 50155 + 93667 + 100 + + + + + true + 2019-09-01 12:28:52.55 + 2019-09-01 12:28:52.55 + specifies the setting to each applied withholding + + false + Withholding Setting + 66787 + 0 + 0 + 100 + es_MX + 100 + 4caa9858-9dd0-11e9-8514-0242ac140003 + + + + + Withholding + 2019-09-01 12:28:52.776 + 2019-09-01 12:28:52.776 + 50429 + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + wh.WH_Definition_ID + WH_WH_Definition_ID + Withholding Definition is used for define a withholding rule for BP + 66788 + 0 + 0 + WHH + 100 + 50155 + 93610 + 100 + 4cac948c-9dd0-11e9-8514-0242ac140003 + true + + + + + true + + false + Withholding + 66788 + 0 + 0 + 100 + es_MX + 100 + 4caf3f34-9dd0-11e9-8514-0242ac140003 + 2019-09-01 12:28:53.526 + 2019-09-01 12:28:53.526 + Withholding Definition is used for define a withholding rule for BP + + + + + 4cb13b0e-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:53.762 + 2019-09-01 12:28:53.762 + 50429 + + wh.WithholdingRate + Withholding Rate + WH_WithholdingRate + Withholding Rate applied to Document + 66789 + 0 + 0 + WHH + 100 + 50155 + 93701 + 100 + + + + + 0 + es_MX + 100 + 4cb37cde-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:54.427 + 2019-09-01 12:28:54.427 + Withholding Rate applied to Document + + false + Withholding Rate + 66789 + 0 + 100 + + + + + 4cc0f8be-9dd0-11e9-8514-0242ac140003 + true + 2019-09-01 12:28:57.906 + 2019-09-01 12:28:57.906 + 50429 + Make a reference to AP invoice for withholding declaration + wh.WithholdingDeclaration_ID + Withholding Declaration + WH_WithholdingDeclaration_ID + Withholding Declaration reference + 66793 + 0 + 0 + WHH + 100 + 50155 + 93919 + 100 + + + + + true + 2019-09-01 12:28:58.861 + 2019-09-01 12:28:58.861 + Withholding Declaration reference + + false + Withholding Declaration + 66793 + 0 + 0 + 100 + es_MX + 100 + 4cc400f4-9dd0-11e9-8514-0242ac140003 + + + + + 776f6b3c-be0e-11e9-b233-0242ac110003 + wh.C_BPartner_ID + Business Partner + WH_C_BPartner_ID + Identifies a Business Partner + 66794 + 0 + 0 + WHH + 100 + 50155 + 94196 + 100 + true + 2019-09-01 12:28:59.034 + 2019-09-01 12:28:59.034 + 50429 + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + + + + + true + 100 + es_MX + 100 + 7778dac8-be0e-11e9-b233-0242ac110003 + 2019-09-01 12:28:59.79 + 2019-09-01 12:28:59.79 + Identifies a Business Partner + + false + Business Partner + 66794 + 0 + 0 + + + + + 7780de8a-be0e-11e9-b233-0242ac110003 + true + 2019-09-01 12:29:00.027 + 2019-09-01 12:29:00.027 + 50429 + + wh.IsSimulation + Simulation + WH_IsSimulation + Performing the function is only simulated + 66795 + 0 + 0 + WHH + 100 + 50155 + 94197 + 100 + + + + + true + 2019-09-01 12:29:01.1 + 2019-09-01 12:29:01.1 + Performing the function is only simulated + + false + Simulation + 66795 + 0 + 0 + 100 + es_MX + 100 + 77837924-be0e-11e9-b233-0242ac110003 + + + + + + + + + + false + whd + LEFT JOIN WH_Definition whd ON (whd.WH_Definition_ID=wh.WH_Definition_ID) + 50430 + 0 + 0 + 100 + 100 + 54645 + 50155 + 20 + aa38465c-9dd3-11e9-bdf1-0242ac140003 + true + 2019-09-01 12:29:11.025 + 2019-09-01 12:29:11.025 + + + + + Withholding Type + WHD_WH_Type_ID + Withholding Type + 66796 + 0 + 0 + WHH + 100 + 50155 + 93573 + 100 + dec96c3e-9dd3-11e9-9796-0242ac140003 + true + 2019-09-01 12:29:12.02 + 2019-09-01 12:29:12.02 + 50430 + + whd.WH_Type_ID + + + + + true + 100 + es_MX + 100 + decb6278-9dd3-11e9-9796-0242ac140003 + 2019-09-01 12:29:13.103 + 2019-09-01 12:29:13.103 + + + false + Withholding Type + 66796 + 0 + 0 + + + + + 100 + + d3b5e57e-a266-11e9-ba81-0242ac110003 + org.spin.process.WithholdingGenerate + + false + false + 3224 + 80 + 100 + 54287 + 0 + 0 + + + + WHH + + 2019-09-01 12:29:13.43 + 2019-09-01 12:29:13.43 + false + N + true + Y + SBP_GenerateWithholding + + + 3 + false + N + + Generate Withholding + Generate Withholding + + + + + es_MX + true + 2019-09-01 12:29:14.403 + 2019-09-01 12:29:14.403 + + false + 0 + 0 + 100 + Generar Retenciones + Generar Retenciones + 54287 + 100 + d3bc6b2e-a266-11e9-ba81-0242ac110003 + + + + + 2019-09-01 12:29:14.678 + Document Date + true + false + 2019-09-01 12:29:14.678 + true + + DateDoc + Date of the Document + The Document Date indicates the date the document was generated. It may or may not be the same as the accounting date. + + true + + + @#Date@ + + false + 57043 + 0 + 0 + WHH + 7 + 54287 + 100 + 15 + + 10 + 100 + + 265 + e45fd3ee-a266-11e9-ba81-0242ac110003 + + + + + + 2019-09-01 12:29:15.724 + true + 2019-09-01 12:29:15.724 + F. Documento + true + Fecha del documento + La fecha del documento indica la fecha en que el documento fue generado. Puede o no ser la misma que la fecha contable. + 57043 + 0 + 0 + 100 + es_MX + 100 + e4694d0c-a266-11e9-ba81-0242ac110003 + + + + + false + false + false + Browser Generate Withholding + true + 2019-09-01 12:29:16.202 + 2019-09-01 12:29:16.202 + Generate Withholding + Generate Withholding + N + true + false + false + false + SB_GenerateWithholding + 3 + 0 + 50181 + WHH + 0 + 100 + 100 + + 50155 + 54287 + 6e6ebb6e-a266-11e9-8834-0242ac110003 + wh.IsDeclared = 'N' AND wh.IsSimulation = 'N' AND wh.DocStatus IN ('CO','CL') AND Processed = 'Y' AND wh.SourceInvoice_ID IS NOT NULL AND NOT EXISTS (SELECT 1 FROM C_Invoice i WHERE wh.C_Invoice_ID = i.C_Invoice_ID AND i.DocStatus IN ('CO', 'CL', 'IP', 'IN')) + + false + + + + + true + 2019-09-01 12:29:17.301 + 2019-09-01 12:29:17.301 + 50181 + false + 0 + 0 + es_MX + 100 + 100 + 6e790bf0-a266-11e9-8834-0242ac110003 + Generar Retenciones + Generar Retenciones + Generar Retenciones + + + + + Document type or rules + + false + 0 + 0 + WHH + 65513 + 0 + + 100 + 100 + + 196 + 66775 + 19 + 50181 + + + + 10 + 0 + 77963626-a267-11e9-8834-0242ac110003 + 2019-09-01 12:29:17.609 + true + 2019-09-01 12:29:17.609 + false + false + false + + + false + false + The Document Type determines document sequence and processing rules + false + Document Type + true + true + false + + + + + + + + + + + 7798823c-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:18.665 + 2019-09-01 12:29:18.665 + Tipo de documento o reglas + El tipo de documento determina la secuencia del documento y las reglas de proceso + true + Tipo de Documento + 0 + 0 + es_MX + 100 + 65513 + 100 + + + + + + true + true + false + + + false + false + Date of the Document + The Document Date indicates the date the document was generated. It may or may not be the same as the accounting date. + true + Document Date + true + true + true + + + + + + + false + 0 + 0 + WHH + 65514 + 60 + + 100 + 100 + + 265 + 66774 + 15 + 50181 + + 40 + + 0 + 40 + 7791244c-a267-11e9-8834-0242ac110003 + 2019-09-01 12:29:19.105 + true + 2019-09-01 12:29:19.105 + + + + + 77937256-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:20.15 + 2019-09-01 12:29:20.15 + Fecha del documento + La fecha del documento indica la fecha en que el documento fue generado. Puede o no ser la misma que la fecha contable. + true + F. Documento + 0 + 0 + es_MX + 100 + 65514 + 100 + + + + + + true + Withholding Setting + true + false + false + + + + + + + + false + 0 + 0 + WHH + 65515 + 100 + + 100 + 100 + 61064 + 66787 + 19 + 50181 + + + + 10 + 0 + 77d86168-a267-11e9-8834-0242ac110003 + 2019-09-01 12:29:20.581 + true + 2019-09-01 12:29:20.581 + false + false + false + + + true + false + specifies the setting to each applied withholding + in this sale the functionalities are specified to each applied withholding. + + + + + 77dae578-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:21.805 + 2019-09-01 12:29:21.805 + + + false + Configuración de Retención + 0 + 0 + es_MX + 100 + 65515 + 100 + + + + + 2019-09-01 12:29:22.02 + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65516 + 50 + + 100 + 100 + + 61056 + 66796 + 19 + 50181 + + + + 10 + 50 + 77ffd2e8-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:22.02 + false + true + false + + + true + false + Indicates the types of national tax withholdings + In the window the types of existing national tax withholdings are indicated. + true + Withholding Type + + + + + 2019-09-01 12:29:23.357 + Identifica las Diversas Retenciones Existentes + 780225ac-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:23.357 + + false + Tipo de Retención + 0 + 0 + es_MX + 100 + 65516 + 100 + + + + + + + + + + false + 0 + 0 + WHH + 65517 + 0 + 131 + 100 + 100 + + 289 + 66778 + 17 + 50181 + + + + 2 + 0 + 77a5794c-a267-11e9-8834-0242ac110003 + 2019-09-01 12:29:23.86 + true + 2019-09-01 12:29:23.86 + false + false + false + + + true + false + The current status of the document + The Document Status indicates the status of a document at this time. If you want to change the document status, use the Document Action field + false + Document Status + true + true + false + + + + + + + 77a7cfb2-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:25.052 + 2019-09-01 12:29:25.052 + El estado actual del documento + El estado del documento indica el estado del documento en este momento. Si usted quiere cambiar el estado de Documento; use el campo acción de documento + true + Estado del Documento + 0 + 0 + es_MX + 100 + 65517 + 100 + + + + + 2019-09-01 12:29:25.552 + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65518 + 0 + 53933 + 100 + 100 + + 1076 + 66771 + 19 + 50181 + + + + 10 + 0 + 7781dea6-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:25.552 + false + false + false + + + false + false + Invoice Detail Line + The Invoice Line uniquely identifies a single line of an Invoice. + false + Invoice Line + + + + + 778425c6-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:26.577 + 2019-09-01 12:29:26.577 + Línea de detalle de factura + La línea de la factura identifica de manera única una línea de la factura + true + Línea de Factura + 0 + 0 + es_MX + 100 + 65518 + 100 + + + + + + 50181 + + + + 10 + 0 + 77729b6c-a267-11e9-8834-0242ac110003 + 2019-09-01 12:29:27.054 + true + 2019-09-01 12:29:27.054 + false + false + false + + false + false + Client/Tenant for this installation. + A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client. + false + Client + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65519 + 0 + + 100 + 100 + + 102 + 66768 + 19 + + + + + 7775029e-a267-11e9-8834-0242ac110003 + es_MX + 100 + 65519 + 100 + true + 2019-09-01 12:29:28.461 + 2019-09-01 12:29:28.461 + Compañía para esta instalación. + Compañía o entidad legal. No se pueden compartir datos entre diferentes compañías. + true + Compañía + 0 + 0 + + + + + + + false + 0 + 0 + WHH + 65520 + 0 + 53933 + 100 + 100 + + 61061 + 66762 + 30 + 50181 + + + + 10 + 0 + 775040d0-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:28.94 + 2019-09-01 12:29:28.94 + false + false + false + + + false + false + + + false + Source Invoice Line + true + true + false + + + + + + + + + + 7753becc-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:30.531 + 2019-09-01 12:29:30.531 + + + false + Línea de Factura Fuente + 0 + 0 + es_MX + 100 + 65520 + 100 + + + + + false + Created + 2019-09-01 12:29:30.914 + true + 2019-09-01 12:29:30.914 + false + false + false + + + false + false + Date this record was created + The Created field indicates the date that this record was created. + false + true + true + + + + + + + + false + 0 + 0 + WHH + 65521 + 0 + + 100 + 100 + + 245 + 66772 + 16 + 50181 + + + + 0 + 0 + 7786f684-a267-11e9-8834-0242ac110003 + + + + + 77893480-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:32.125 + 2019-09-01 12:29:32.125 + Fecha de creación de este registro. + El campo creado, indica la fecha en que este registro fue creado. + true + Creado. + 0 + 0 + es_MX + 100 + 65521 + 100 + + + + + 2019-09-01 12:29:32.473 + User who created this records + The Created By field indicates the user who created this record. + false + Created By + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65522 + 0 + 110 + 100 + 100 + + 246 + 66773 + 18 + 50181 + + + + 10 + 0 + 778c0e1c-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:32.473 + false + false + false + + + false + false + + + + + 778e7fee-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:33.714 + 2019-09-01 12:29:33.714 + Usuario que creó este registro. + El campo creado por, indica el usuario que creó este registro. + true + Creado Por. + 0 + 0 + es_MX + 100 + 65522 + 100 + + + + + 2019-09-01 12:29:34.291 + WHH + 65523 + 0 + + 100 + 100 + + 275 + 66776 + 14 + 50181 + + + + 255 + 0 + 779b53b8-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:34.291 + false + false + false + + + false + false + Optional short description of the record + A description is limited to 255 characters. + false + Description + true + true + false + + + + + + + + false + 0 + 0 + + + + + 779d9b46-a267-11e9-8834-0242ac110003 + 65523 + 100 + true + 2019-09-01 12:29:35.625 + 2019-09-01 12:29:35.625 + Opción de una breve descripción del registro. + Una descripción de hasta 255 caracteres. + true + Descripción + 0 + 0 + es_MX + 100 + + + + + 2019-09-01 12:29:36.144 + false + false + false + + + false + false + The targeted status of the document + You find the current status in the Document Status field. The options are listed in a popup + false + Document Action + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65524 + 0 + 135 + 100 + 100 + + 287 + 66777 + 28 + 50181 + + + + 2 + 0 + 77a06600-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:36.144 + + + + + true + 65524 + 100 + 77a2a87a-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:37.269 + 2019-09-01 12:29:37.269 + El estado destino del documento + Usted encuentra el estado actual en el campo Estado del Documento. Las opciones son listadas en una ventana emergente + Acción en el Documento + 0 + 0 + es_MX + 100 + + + + + + 2019-09-01 12:29:37.629 + true + 2019-09-01 12:29:37.629 + false + false + false + + + false + false + The document has been processed + The Processed checkbox indicates that a document has been processed. + false + Processed + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65525 + 0 + + 100 + 100 + 1047 + 66764 + 20 + 50181 + + + + 1 + 0 + 775e470c-a267-11e9-8834-0242ac110003 + + + + + El cuadro de verificación procesada indica que un documento ha sido procesado + 7760cb76-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:40.058 + 2019-09-01 12:29:40.058 + El documento ha sido procesado + true + Procesado + 0 + 0 + es_MX + 100 + 65525 + 100 + + + + + 2019-09-01 12:29:40.496 + false + + + false + false + + + false + Process Now + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65526 + 0 + + 100 + 100 + + 524 + 66765 + 20 + 50181 + + + + 1 + 0 + 77635850-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:40.496 + false + false + + + + + 2019-09-01 12:29:41.354 + 7765d0c6-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:41.354 + + + true + Procesar Ahora + 0 + 0 + es_MX + 100 + 65526 + 100 + + + + + 100 + 100 + + 53498 + 66767 + 12 + 50181 + + + + 0 + 0 + 2019-09-01 12:29:41.753 + 776d8186-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:41.753 + false + false + false + + + false + false + + + true + A_Base_Amount + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65527 + 70 + + + + + + 2019-09-01 12:29:42.87 + 776ffc36-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:42.87 + + + true + Monto Base + 0 + 0 + es_MX + 100 + 65527 + 100 + + + + + + + false + false + Date this record was updated + The Updated field indicates the date that this record was updated. + false + Updated + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65528 + 0 + + 100 + 100 + + 607 + 66763 + 16 + 50181 + + 0 + 0 + 77592af6-a267-11e9-8834-0242ac110003 + + 2019-09-01 12:29:43.267 + true + 2019-09-01 12:29:43.267 + false + false + false + + + + + + 775ba498-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:44.446 + 2019-09-01 12:29:44.446 + Permite ver si algún registro en especifico esta actualizado. + Permite ver si algún registro en especifico esta actualizado. + true + Actualizado. + 0 + 0 + es_MX + 100 + 65528 + 100 + + + + + + + + + + false + 0 + 0 + WHH + 65529 + 0 + 336 + 100 + 100 + + 1008 + 19 + 50181 + + + + 10 + 0 + 777cce20-a267-11e9-8834-0242ac110003 + 66770 + 2019-09-01 12:29:44.953 + true + 2019-09-01 12:29:44.953 + false + false + false + + + false + false + Invoice Identifier + The Invoice Document. + false + Invoice + true + true + false + + + + + + + 100 + 777f24d6-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:46.347 + 2019-09-01 12:29:46.347 + Identificador de la factura + La ID de Factura identifica únicamente un documento de Factura. + true + Factura + 0 + 0 + es_MX + 100 + 65529 + + + + + 19 + 0 + + + + false + 0 + 0 + WHH + 65530 + + 100 + 100 + + 113 + 66769 + 50181 + + + + 10 + 30 + 7777b32c-a267-11e9-8834-0242ac110003 + 2019-09-01 12:29:46.89 + true + 2019-09-01 12:29:46.89 + false + true + false + + + false + false + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + false + Organization + true + true + false + + + + + + + + + 777a0b36-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:47.902 + 2019-09-01 12:29:47.902 + Entidad organizacional dentro de la compañía. + Una organización es una unidad de la compañía o entidad legal - Ej. Tiendas y departamentos. Es posible compartir datos entre organizaciones. + true + Organización. + 0 + 0 + es_MX + 100 + 65530 + 100 + + + + + There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports. +There are two reasons for de-activating and not deleting records: +(1) The system requires the record for audit purposes. +(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries. + false + Active + true + true + false + + + + + + + false + 0 + 0 + WHH + 65531 + 0 + + 100 + 100 + + 348 + 66780 + 20 + 50181 + + + + 1 + 0 + 77afa5d4-a267-11e9-8834-0242ac110003 + + 2019-09-01 12:29:48.441 + true + 2019-09-01 12:29:48.441 + false + false + false + + + false + false + The record is active in the system + + + + + es_MX + 77b1fd48-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:49.29 + 2019-09-01 12:29:49.29 + El registro está activo en el sistema. + Hay dos métodos para que los registros no estén disponibles en el sistema: Uno es eliminar el registro; el otro es desactivarlo. Un registro desactivado no está disponible para selección; pero está disponible para Informes. + true + Activo + 0 + 0 + 100 + 65531 + 100 + + + + + 2019-09-01 12:29:49.682 + + + false + false + Indicates if this document requires approval + The Approved checkbox indicates if this document requires approval before it can be processed. + false + Approved + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65532 + 0 + + 100 + 100 + + 351 + 66781 + 20 + 50181 + + + + 1 + 0 + 77b4c08c-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:49.682 + false + false + false + + + + + Indica si este documento requiere aprobación + 77b714e0-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:50.855 + 2019-09-01 12:29:50.855 + El Cuadro de Verificación Aprobado indica si este documento requiere aprobación antes de que pueda ser procesado + true + Aprobado + 0 + 0 + es_MX + 100 + 65532 + 100 + + + + + Document No + false + 2019-09-01 12:29:51.211 + true + 2019-09-01 12:29:51.211 + false + false + + + true + false + Document sequence number of the document + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + false + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65533 + 0 + + 100 + 100 + + 290 + 66779 + 10 + 50181 + + + + 60 + 0 + 77aa963e-a267-11e9-8834-0242ac110003 + + + + + 77ad1daa-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:52.079 + 2019-09-01 12:29:52.079 + Número de secuencia del documento para cada documento + El número del documento es usualmente generado en automático por el sistema y determinado por el tipo del documento. Si el documento no se salva; el número preliminar se despliega entre El número del documento es usualmente generado en automático por el sistema y determinado por el tipo del documento. Si el documento no se salva; el número preliminar se despliega entre "<>". + + Si el tipo de documento de su documento no tiene secuencia automatica definida, el campo está vacío si usted crea un nuevo doc. Esto es para documentos los cuales usualmente tiene un número externo (Como factura de proveedor). Si usted deja este campo vacío, el sistema generará un número de doc para usted. + true + No. del Documento + 0 + 0 + es_MX + 100 + 65533 + 100 + + + + + 50181 + 0 + WHH + 65534 + 10 + + 100 + 100 + + 187 + 66794 + 30 + + 10 + + 0 + 10 + c5fa696e-be0e-11e9-bb24-0242ac110003 + 2019-09-01 12:29:52.437 + true + 2019-09-01 12:29:52.437 + false + true + false + + + true + false + Identifies a Business Partner + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + true + Business Partner + true + true + true + + + + + + + + false + 0 + + + + + c60492fe-be0e-11e9-bb24-0242ac110003 + true + 2019-09-01 12:29:53.345 + 2019-09-01 12:29:53.345 + Identifica un Socio del Negocio + Un Socio del Negocio es cualquiera con quien usted realiza transacciones. Este puede incluir Proveedores; Clientes; Empleados o Vendedores. + true + Socio del Negocio + 0 + 0 + es_MX + 100 + 65534 + 100 + + + + + 2019-09-01 12:29:53.751 + 100 + + 59595 + 66784 + 10 + 50181 + + + + 36 + 0 + 77c587dc-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:53.751 + false + false + false + + + false + false + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + false + Immutable Universally Unique Identifier + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65535 + 0 + + 100 + + + + + 77ca6c20-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:54.835 + 2019-09-01 12:29:54.835 + Immutable Universally Unique Identifier + "A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural (or business) key which is derived from application data. " , According to Wikipedia http://en.wikipedia.org/wiki/Surrogate_key + false + Immutable Universally Unique Identifier + 0 + 0 + es_MX + 100 + 65535 + 100 + + + + + false + 608 + + 10 + 0 + 77beec60-a267-11e9-8834-0242ac110003 + 2019-09-01 12:29:55.351 + true + 2019-09-01 12:29:55.351 + false + false + + + false + false + User who updated this records + The Updated By field indicates the user who updated this record. + false + Updated By + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65536 + 0 + 110 + 100 + 100 + + 66783 + 18 + 50181 + + + + + + + 77c12a20-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:56.411 + 2019-09-01 12:29:56.411 + + + true + Actualizado por. + 0 + 0 + es_MX + 100 + 65536 + 100 + + + + + 2019-09-01 12:29:56.823 + + 100 + 2019-09-01 12:29:56.823 + true + false + false + false + + + false + false + Withholding Rate applied to Document + + true + Withholding Rate + true + true + false + + + + + + + false + 0 + 0 + WHH + 65537 + 80 + + 100 + + 61072 + 66789 + 12 + 50181 + + + + 0 + 0 + 77e66060-a267-11e9-8834-0242ac110003 + + + + + 65537 + 100 + 77e8a532-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:58.138 + 2019-09-01 12:29:58.138 + Porcentaje de Retención aplicado al documento + + false + Porcentaje de Retención + 0 + 0 + es_MX + 100 + + + + + WHH + 65538 + 90 + + 100 + 100 + + 61063 + 66786 + 12 + 50181 + + + + 0 + 0 + 77d34c14-a267-11e9-8834-0242ac110003 + 2019-09-01 12:29:58.7 + true + 2019-09-01 12:29:58.7 + false + false + false + + + true + false + + + true + Withholding Amt + true + true + false + + + + + + + + false + 0 + 0 + + + + + Monto de Retención + 77d5ad24-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:29:59.711 + 2019-09-01 12:29:59.711 + Monto de Retención aplicada + + false + 0 + 0 + es_MX + 100 + 65538 + 100 + + + + + Withholding Allocation + 2019-09-01 12:30:00.093 + + false + 0 + 0 + WHH + 65539 + 20 + + 100 + 100 + + 61062 + 66785 + 13 + 50181 + + + + 10 + 0 + 77ce35bc-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:30:00.093 + false + false + false + + + false + true + + + true + true + true + false + + + + + + + + + + + 2019-09-01 12:30:01.317 + 77d07606-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:30:01.317 + + + false + Asignación de Retención + 0 + 0 + es_MX + 100 + 65539 + 100 + + + + + + Withholding Declaration reference + Make a reference to AP invoice for withholding declaration + false + Withholding Declaration + true + true + false + + + + + + + false + 0 + 0 + WHH + 65540 + 0 + 336 + 100 + 100 + + 61107 + 66793 + 30 + 50181 + + + + 10 + 0 + 77fab8d0-a267-11e9-8834-0242ac110003 + 2019-09-01 12:30:01.757 + true + 2019-09-01 12:30:01.757 + false + false + false + + + false + false + + + + + 77fd020c-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:30:03.026 + 2019-09-01 12:30:03.026 + Referencia de Declaración de Retención + Indica la referencia al documento por pagar de declaración de retención + false + Declaración de Retención + 0 + 0 + es_MX + 100 + 65540 + 100 + + + + + Show if a withholding has been declared + + + 1 + 0 + 77b9d554-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:30:06.83 + false + false + false + 2019-09-01 12:30:06.83 + + + false + false + This flag is very useful for determinate if a withholding was declared or not + false + Is Declared + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65543 + 0 + + 100 + 100 + + 61059 + 66782 + 20 + 50181 + + + + + + 77bc1c1a-a267-11e9-8834-0242ac110003 + 65543 + 100 + true + 2019-09-01 12:30:08.136 + 2019-09-01 12:30:08.136 + Indica que la Retención fue Declarada + Esta bandera es útil para determinar si una retención fue o no declarada + false + Retención Declarada + 0 + 0 + es_MX + 100 + + + + + true + 65545 + 30 + 336 + 100 + 100 + + 61060 + 66766 + 30 + 50181 + + 30 + + 10 + 20 + 77686da4-a267-11e9-8834-0242ac110003 + 2019-09-01 12:30:10.488 + true + 2019-09-01 12:30:10.488 + false + true + false + + + true + false + + + true + Source Invoice + true + true + + + + + + + + false + 0 + 0 + WHH + + + + + 776af844-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:30:11.654 + 2019-09-01 12:30:11.654 + Factura Fuente para la Retención a Generar + + false + Factura Fuente + 0 + 0 + es_MX + 100 + 65545 + 100 + + + + + 2019-09-01 12:30:12.053 + + + + false + 0 + 0 + WHH + 65546 + 40 + + 100 + 100 + + 61055 + 66788 + 19 + 50181 + + 20 + + 10 + 60 + 77dd731a-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:30:12.053 + false + true + false + + + true + false + Withholding Definition is used for define a withholding rule for BP + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + true + Withholding + true + true + true + + + + + + + + + 65546 + 77e3b89c-a267-11e9-8834-0242ac110003 + true + 2019-09-01 12:30:13.299 + 2019-09-01 12:30:13.299 + Conservación de parte de una cantidad que se debe pagar para garantizar el cumplimiento de alguna obligación, generalmente de tipo fiscal. + La retención es la cantidad que se retiene de un sueldo, salario u otra percepción para el pago de un impuesto, de deudas en virtud de embargo, es decir, te retienen ahora para asegurar el pago del impuesto. + false + Retención + 0 + 0 + es_MX + 100 + 100 + + + + + S + 100 + + true + 50181 + Generate Witholding + 2019-09-01 12:30:13.698 + 2019-09-01 12:30:13.698 + + false + false + false + true + Smart browser Withholding Generate + 0 + 54513 + 0 + + WHH + + + 100 + + c91ccf5e-a268-11e9-b11a-0242ac110003 + + + + + es_MX + true + 2019-09-01 12:30:14.888 + 2019-09-01 12:30:14.888 + 100 + Generar Retenciones + Generate Withholding + false + 0 + 0 + 100 + 54513 + c923e94c-a268-11e9-b11a-0242ac110003 + + + + + c92a9224-a268-11e9-b11a-0242ac110003 + true + 2019-09-01 12:30:15.226 + 2019-09-01 12:30:15.226 + 0 + 0 + 54513 + 54465 + 100 + 100 + 1 + 10 + + + + + false + + + + + + + + + ALTER TABLE WH_Setting DROP COLUMN C_DocType_ID; + ALTER TABLE WH_Setting ADD COLUMN C_DocType_ID numeric(10,0); + + + ALTER TABLE WH_Definition DROP COLUMN C_DocType_ID; + ALTER TABLE WH_Definition ADD COLUMN C_DocType_ID numeric(10,0); + + + diff --git a/withholding_engine/xml/migration/027_AddSupportToWithholdingManual.xml b/withholding_engine/xml/migration/027_AddSupportToWithholdingManual.xml new file mode 100644 index 0000000000..7f8a53b83b --- /dev/null +++ b/withholding_engine/xml/migration/027_AddSupportToWithholdingManual.xml @@ -0,0 +1,195 @@ + + + + + + This is a manual process + 0 + 0 + + 54647 + 100 + 1474 + + + 1 + 20 + 100 + 0b8082f0-d25c-11e9-9b84-0242ac110002 + + true + + 2019-09-08 13:13:57.797 + + 2019-09-08 13:13:57.797 + + 94527 + false + Manual + false + false + N + + false + false + N + false + + + + 0 + + IsManual + The Manual check box indicates if the process will done manually. + true + + false + N + + true + false + false + true + 0 + WHH + + + + + 2019-09-08 13:13:58.931 + 2019-09-08 13:13:58.931 + 94527 + false + Manual + 0 + 0 + 100 + 100 + es_MX + 0bdc4ba8-d25c-11e9-9b84-0242ac110002 + true + + + + + Manual + false + + 0 + 95763 + WHH + 100 + 100 + 0 + + 94527 + + 0 + 1 + 54813 + + 5463e442-d4d4-11e9-bab6-0242ac110002 + false + 2019-09-11 16:40:01.743 + 2019-09-11 16:40:01.744 + + true + + false + true + This is a manual process + true + false + + true + The Manual check box indicates if the process will done manually. + + + + + + true + false + false + + + + false + 0 + + + + + true + 100 + es_MX + 54d85e76-d4d4-11e9-bab6-0242ac110002 + 2019-09-11 16:40:03.31 + 2019-09-11 16:40:03.31 + 0 + false + This is a manual process + Manual + The Manual check box indicates if the process will done manually. + 0 + 95763 + 100 + + + + + 160 + + + + + 170 + + + + + 180 + + + + + 190 + + + + + 200 + + + + + 210 + + + + + 220 + + + + + 230 + + + + + 240 + + + + + 250 + + + + + 260 + + + + diff --git a/withholding_engine/xml/migration/028_AddSupportToWithholdingProcess.xml b/withholding_engine/xml/migration/028_AddSupportToWithholdingProcess.xml new file mode 100644 index 0000000000..94b1bba78c --- /dev/null +++ b/withholding_engine/xml/migration/028_AddSupportToWithholdingProcess.xml @@ -0,0 +1,444 @@ + + + + + + + 1b49a5ae-d25c-11e9-a9c0-0242ac110002 + + + false + false + 0 + 0 + WithHoldingProcess Manual + + 100 + 100 + 54293 + 0 + 0 + + + + WHH + + 2019-09-08 13:14:24.205 + 2019-09-08 13:14:24.205 + false + N + true + Y + WithHoldingProcess Manual + + + 3 + false + N + + + + + + true + es_MX + 54293 + 100 + 1b8ef8d4-d25c-11e9-a9c0-0242ac110002 + 2019-09-08 13:14:25.267 + 2019-09-08 13:14:25.267 + + + false + WithHoldingProcess Manual + 0 + 0 + 100 + + + + + org.spin.process.WithholdingProcessManual + + + + + Procesar Retención Manual + es_MX + 54293 + + + + + 2019-09-08 13:16:15.823 + Withholding Type + true + false + 2019-09-08 13:16:15.824 + false + + WH_Type_ID + Indicates the types of national tax withholdings + In the window the types of existing national tax withholdings are indicated. + + true + + + + + + false + 57074 + 0 + 0 + WHH + 10 + 54293 + 100 + 19 + + 10 + 100 + + 61056 + 5dc1c9fc-d25c-11e9-a9c0-0242ac110002 + + + + + 2019-09-08 13:16:16.717 + true + 2019-09-08 13:16:16.717 + Withholding Type + false + Indicates the types of national tax withholdings + In the window the types of existing national tax withholdings are indicated. + 57074 + 0 + 0 + 100 + es_MX + 100 + 5dfce514-d25c-11e9-a9c0-0242ac110002 + + + + + true + + + + + org.spin.process.WithholdingProcess + WithHoldingProcess + WithHoldingProcess + + + + + true + S + WH_Setting.WH_Type_ID=@WH_Type_ID@ + 2019-09-08 18:34:54.514 + 2019-09-08 18:34:54.514 + Withholding Setting By Type + + 0 + 0 + 52728 + WHH + 100 + 100 + e171c082-d288-11e9-a1ba-0242ac110002 + + + + + Withholding Setting Process By Type + + + + + WH_Setting.WH_Type_ID=@WH_Type_ID@ AND WH_Setting.EventType='P' + + + + + 2019-09-08 18:36:36.849 + + 61064 + 1e6058dc-d289-11e9-a8a7-0242ac110002 + Withholding Setting + true + false + 2019-09-08 18:36:36.849 + false + + WH_Setting_ID + specifies the setting to each applied withholding + in this sale the functionalities are specified to each applied withholding. + + true + + + + + + false + 57075 + 0 + 0 + WHH + 10 + 54293 + 100 + 19 + 52728 + 20 + 100 + + + + + 2019-09-08 18:36:37.685 + true + 2019-09-08 18:36:37.685 + Withholding Setting + false + specifies the setting to each applied withholding + in this sale the functionalities are specified to each applied withholding. + 57075 + 0 + 0 + 100 + es_MX + 100 + 1e93e382-d289-11e9-a8a7-0242ac110002 + + + + + Procesar Retenciónes + es_MX + 54293 + + + + + true + + Withholding Process + 2019-09-08 18:41:59.896 + 2019-09-08 18:41:59.896 + + false + false + false + true + + P + 0 + 54517 + 0 + + WHH + + + 100 + + 100 + 54293 + df07ca84-d289-11e9-a8a7-0242ac110002 + + + + + true + 0 + 100 + 54517 + es_MX + df32a93e-d289-11e9-a8a7-0242ac110002 + 2019-09-08 18:42:00.849 + 2019-09-08 18:42:00.849 + 100 + Withholding Process + + false + 0 + + + + + df4da1bc-d289-11e9-a8a7-0242ac110002 + true + 2019-09-08 18:42:01.025 + 2019-09-08 18:42:01.025 + 0 + 0 + 54517 + 0 + 100 + 100 + 999 + 10 + + + + + 54517 + 54465 + 0 + 10 + + + + + 54468 + 1 + 10 + + + + + 54467 + 2 + 10 + + + + + 54513 + 3 + 10 + + + + + 54471 + 4 + 10 + + + + + 54466 + 5 + 10 + + + + + 54469 + 6 + 10 + + + + + Procesar Retenciones + es_MX + 54293 + + + + + WithHolding Process + Withholding Process + + + + + WithHolding Process + Withholding Process + + + + + Withholding Process + + + + + Withholding Process + + + + + false + + + + + c0a2cff2-d4c4-11e9-a81f-0242ac110002 + true + S + WH_Definition.WH_Type_ID = @WH_Type_ID@ + 2019-09-11 14:48:31.749 + 2019-09-11 14:48:31.749 + Withholding Definition by Type + + 0 + 0 + 52730 + WHH + 100 + 100 + + + + + 2019-09-11 14:48:51.602 + Withholding + true + false + 2019-09-11 14:48:51.602 + false + + WH_Definition_ID + Withholding Definition is used for define a withholding rule for BP + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + + true + + + + + + false + 57104 + 0 + 0 + WHH + 10 + 54293 + 100 + 19 + 52730 + 30 + 100 + + 61055 + cca364a6-d4c4-11e9-8a55-0242ac110002 + + + + + 2019-09-11 14:48:52.626 + true + 2019-09-11 14:48:52.626 + Withholding + false + Withholding Definition is used for define a withholding rule for BP + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + 57104 + 0 + 0 + 100 + es_MX + 100 + ccce9180-d4c4-11e9-8a55-0242ac110002 + + + + diff --git a/withholding_engine/xml/migration/029_AddBrowserForGenerateWithholdingDeclaration.xml b/withholding_engine/xml/migration/029_AddBrowserForGenerateWithholdingDeclaration.xml new file mode 100644 index 0000000000..1b6a2f5f1f --- /dev/null +++ b/withholding_engine/xml/migration/029_AddBrowserForGenerateWithholdingDeclaration.xml @@ -0,0 +1,1105 @@ + + + + Add Withholding Declaration Browser + + + true + 2019-09-14 18:13:15.639 + 2019-09-14 18:13:15.639 + Invoice_Withholding + + + N + Invoice Withholding + 50158 + WHH + 0 + 0 + 100 + 100 + 7a7946b0-c2b2-11e9-a02c-0242ac110004 + + + + + true + 7a97a452-c2b2-11e9-a02c-0242ac110004 + 2019-09-14 18:13:16.492 + 2019-09-14 18:13:16.492 + + false + + Retenciónes Generadas + 0 + 0 + 50158 + 100 + 100 + es_MX + + + + + false + true + 2019-09-14 18:14:22.986 + 2019-09-14 18:14:22.986 + i + + 50436 + 0 + 0 + 100 + 100 + 318 + 50158 + 10 + 98806990-c2b2-11e9-a02c-0242ac110004 + + + + + ed3edec6-c2b2-11e9-ab8c-0242ac110004 + true + 2019-09-14 18:14:23.993 + 2019-09-14 18:14:23.993 + 50436 + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + i.DocumentNo + Document No + I_DocumentNo + Document sequence number of the document + 66983 + 0 + 0 + WHH + 100 + 50158 + 3492 + 100 + + + + + true + es_MX + 100 + ed46beac-c2b2-11e9-ab8c-0242ac110004 + 2019-09-14 18:14:24.818 + 2019-09-14 18:14:24.818 + Document sequence number of the document + + false + Document No + 66983 + 0 + 0 + 100 + + + + + ed5ea8d2-c2b2-11e9-ab8c-0242ac110004 + true + 2019-09-14 18:14:24.993 + 2019-09-14 18:14:24.993 + 50436 + The Grand Total displays the total amount including Tax and Freight in document currency + i.GrandTotal + Grand Total + I_GrandTotal + Total amount of document + 66984 + 0 + 0 + WHH + 100 + 50158 + 3507 + 100 + + + + + true + 2019-09-14 18:14:25.63 + 2019-09-14 18:14:25.63 + Total amount of document + + false + Grand Total + 66984 + 0 + 0 + 100 + es_MX + 100 + ed673722-c2b2-11e9-ab8c-0242ac110004 + + + + + 50158 + eeab1022-c2b2-11e9-ab8c-0242ac110004 + true + 2019-09-14 18:14:25.806 + 2019-09-14 18:14:25.806 + 50436 + The Date Invoice indicates the date printed on the invoice. + i.DateInvoiced + Date Invoiced + I_DateInvoiced + Date printed on Invoice + 66985 + 0 + 0 + WHH + 100 + 3783 + 100 + + + + + true + 2019-09-14 18:14:26.514 + 2019-09-14 18:14:26.514 + Date printed on Invoice + + false + Date Invoiced + 66985 + 0 + 0 + 100 + es_MX + 100 + eeb2f65c-c2b2-11e9-ab8c-0242ac110004 + + + + + ef98fc74-c2b2-11e9-ab8c-0242ac110004 + true + 2019-09-14 18:14:26.691 + 2019-09-14 18:14:26.691 + 50436 + The Invoice Document. + i.C_Invoice_ID + Invoice + I_C_Invoice_ID + Invoice Identifier + 66986 + 0 + 0 + WHH + 100 + 50158 + 3484 + 100 + + + + + true + 2019-09-14 18:14:27.47 + 2019-09-14 18:14:27.47 + Invoice Identifier + + false + Invoice + 66986 + 0 + 0 + 100 + es_MX + 100 + efa1117a-c2b2-11e9-ab8c-0242ac110004 + + + + + f0592f76-c2b2-11e9-ab8c-0242ac110004 + true + 2019-09-14 18:14:27.645 + 2019-09-14 18:14:27.645 + 50436 + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + i.C_BPartner_ID + Business Partner + I_C_BPartner_ID + Identifies a Business Partner + 66987 + 0 + 0 + WHH + 100 + 50158 + 3499 + 100 + + + + + true + 2019-09-14 18:14:28.363 + 2019-09-14 18:14:28.363 + Identifies a Business Partner + + false + Business Partner + 66987 + 0 + 0 + 100 + es_MX + 100 + f06135ea-c2b2-11e9-ab8c-0242ac110004 + + + + + false + true + 2019-09-14 18:14:52.551 + 2019-09-14 18:14:52.551 + wh + INNER JOIN WH_Withholding wh ON (i.C_Invoice_ID = wh.C_Invoice_ID) + 50437 + 0 + 0 + 100 + 100 + 54647 + 50158 + 20 + a51b6e3e-c2b2-11e9-a02c-0242ac110004 + + + + + 50437 + fbed39c2-c2b2-11e9-ab8c-0242ac110004 + true + 2019-09-14 18:14:53.256 + 2019-09-14 18:14:53.256 + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + wh.WH_Definition_ID + Withholding + WH_WH_Definition_ID + Withholding Definition is used for define a withholding rule for BP + 66988 + 0 + 0 + WHH + 100 + 50158 + 93610 + 100 + + + + + true + 2019-09-14 18:14:53.9 + 2019-09-14 18:14:53.9 + Withholding Definition is used for define a withholding rule for BP + + false + Withholding + 66988 + 0 + 0 + 100 + es_MX + 100 + fc0773f0-c2b2-11e9-ab8c-0242ac110004 + + + + + false + true + 2019-09-14 18:15:04.307 + 2019-09-14 18:15:04.307 + whd + INNER JOIN WH_Definition whd ON (whd.WH_Definition_ID=wh.WH_Definition_ID) + 50438 + 0 + 0 + 100 + 100 + 54645 + 50158 + 30 + 8a0dac5a-c2c2-11e9-b910-0242ac110004 + + + + + 8d8bf0ee-c2c2-11e9-b910-0242ac110004 + true + 2019-09-14 18:15:04.962 + 2019-09-14 18:15:04.962 + 50438 + In the window the types of existing national tax withholdings are indicated. + whd.WH_Type_ID + Withholding Type + WHD_WH_Type_ID + Indicates the types of national tax withholdings + 66989 + 0 + 0 + WHH + 100 + 50158 + 93573 + 100 + + + + + org.spin.process.WithholdingDeclaration + + false + false + 3 + 3 + Generate Withholding Declaration + Generate Withholding Declaration from not Declarated Withholding + 100 + 100 + 54301 + 0 + 0 + + + + WHH + + 2019-09-14 18:15:05.831 + 2019-09-14 18:15:05.831 + false + N + true + Y + SBP_WithholdingDeclaration + + + 3 + false + N + + + 30d48632-c2b7-11e9-ab8c-0242ac110004 + + + + + true + 2019-09-14 18:15:06.898 + 2019-09-14 18:15:06.898 + Generate Withholding Declaration from not Declarated Withholding + + false + Generate Withholding Declaration + 0 + 0 + 100 + es_MX + 54301 + 100 + 30fdf580-c2b7-11e9-ab8c-0242ac110004 + + + + + 2019-09-14 18:15:07.106 + true + + DateDoc + Date of the Document + The Document Date indicates the date the document was generated. It may or may not be the same as the accounting date. + + true + + + + @#Date@ + + false + 57130 + 0 + 0 + WHH + 7 + 54301 + 100 + 15 + + 10 + 100 + + 265 + b20c13c6-c2c3-11e9-b910-0242ac110004 + Document Date + true + false + 2019-09-14 18:15:07.106 + + + + + 2019-09-14 18:15:07.895 + true + 2019-09-14 18:15:07.895 + F. Documento + true + Fecha del documento + La fecha del documento indica la fecha en que el documento fue generado. Puede o no ser la misma que la fecha contable. + 57130 + 0 + 0 + 100 + es_MX + 100 + b2222698-c2c3-11e9-b910-0242ac110004 + + + + + 2019-09-14 18:15:08.265 + Amount + true + false + 2019-09-14 18:15:08.265 + false + + Amount + Amount in a defined currency + The Amount indicates the amount for this document line. + + true + + + + + + true + 57131 + 0 + 0 + WHH + 22 + 54301 + 100 + 12 + + 20 + 100 + + 1367 + d92a4d6a-c2c3-11e9-b910-0242ac110004 + + + + + 2019-09-14 18:15:09.279 + true + 2019-09-14 18:15:09.279 + Monto. + true + Monto en una moneda definida. + Indica el monto para esta línea del documento. + 57131 + 0 + 0 + 100 + es_MX + 100 + d93219d2-c2c3-11e9-b910-0242ac110004 + + + + + N + false + + false + false + false + wh.IsDeclared = 'N' AND wh.IsSimulation = 'N' AND wh.DocStatus IN ('CO','CL') AND wh.Processed = 'Y' AND i.DocStatus IN ('CO', 'CL') AND NOT EXISTS (SELECT 1 FROM C_Invoice dec WHERE wh.WithholdingDeclaration_ID = dec.C_Invoice_ID AND dec.DocStatus IN ('CO', 'CL', 'IP', 'IN')) + Browser Generate Withholding Declaration + true + 2019-09-14 18:15:09.503 + 2019-09-14 18:15:09.503 + Generate Withholding Declaration + Generate Withholding Declaration + true + false + false + false + SB_WithholdingDeclaration + 3 + 0 + 50184 + WHH + 0 + 100 + 100 + + 50158 + 54301 + 0c12794a-c2bb-11e9-9209-0242ac110004 + + + + + true + 2019-09-14 18:15:10.392 + 2019-09-14 18:15:10.392 + 50184 + Permite Generar la Declaracion de Retención + Permite Generar la Declaracion de Retención + false + 0 + 0 + es_MX + 100 + 100 + 0c192826-c2bb-11e9-9209-0242ac110004 + Smart Browser Para Generar Declaracion de Retención + + + + + 2019-09-14 18:15:10.585 + + + + + + false + 0 + 0 + WHH + 65668 + 40 + + 100 + 100 + + 267 + 66985 + 15 + 50184 + + + + 7 + 0 + 102ad4b4-c2bb-11e9-9209-0242ac110004 + true + 2019-09-14 18:15:10.585 + false + false + false + + + true + false + Date printed on Invoice + The Date Invoice indicates the date printed on the invoice. + true + Date Invoiced + true + true + false + + + + + + + 103203e2-c2bb-11e9-9209-0242ac110004 + true + 2019-09-14 18:15:11.37 + 2019-09-14 18:15:11.37 + Fecha impresa en la factura + La fecha de la factura indica la fecha impresa en la factura. + true + Fecha de Facturación + 0 + 0 + es_MX + 100 + 65668 + 100 + + + + + 2019-09-14 18:15:11.556 + true + Grand Total + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65669 + 50 + + 100 + 100 + + 316 + 66984 + 12 + 50184 + + + + 22 + 0 + 0f16ecde-c2bb-11e9-9209-0242ac110004 + true + 2019-09-14 18:15:11.556 + false + false + false + + + true + false + Total amount of document + The Grand Total displays the total amount including Tax and Freight in document currency + + + + + 0f1e074e-c2bb-11e9-9209-0242ac110004 + true + 2019-09-14 18:15:12.284 + 2019-09-14 18:15:12.284 + Total del documento + El gran total identifica el total incluyendo impuestos y totales de fletes en la moneda del documento. + true + Gran Total + 0 + 0 + es_MX + 100 + 65669 + 100 + + + + + false + 2019-09-14 18:15:12.463 + true + 2019-09-14 18:15:12.463 + false + false + + + false + true + Invoice Identifier + The Invoice Document. + true + Invoice + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65670 + 20 + + 100 + 100 + + 1008 + 66986 + 13 + 50184 + + + + 10 + 0 + 11135eb4-c2bb-11e9-9209-0242ac110004 + + + + + 65670 + 100 + 111df3ec-c2bb-11e9-9209-0242ac110004 + true + 2019-09-14 18:15:13.266 + 2019-09-14 18:15:13.266 + Identificador de la factura + La ID de Factura identifica únicamente un documento de Factura. + true + Factura + 0 + 0 + es_MX + 100 + + + + + 2019-09-14 18:15:13.438 + true + 2019-09-14 18:15:13.438 + false + false + false + + + true + false + Identifies a Business Partner + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + true + Business Partner + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65671 + 10 + + 100 + 100 + + 187 + 66987 + 30 + 50184 + + + + 10 + 0 + 11a5925c-c2bb-11e9-9209-0242ac110004 + + + + + true + Socio del Negocio + 0 + 0 + es_MX + 100 + 65671 + 100 + 11ad9772-c2bb-11e9-9209-0242ac110004 + true + 2019-09-14 18:15:14.353 + 2019-09-14 18:15:14.353 + Identifica un Socio del Negocio + Un Socio del Negocio es cualquiera con quien usted realiza transacciones. Este puede incluir Proveedores; Clientes; Empleados o Vendedores. + + + + + 14fc1f2a-c2bb-11e9-9209-0242ac110004 + 2019-09-14 18:15:14.526 + true + 2019-09-14 18:15:14.526 + false + false + false + + + true + false + Withholding Definition is used for define a withholding rule for BP + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + true + Withholding + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65672 + 60 + + 100 + 100 + + 61055 + 66988 + 19 + 50184 + + + + 10 + 0 + + + + + 150330d0-c2bb-11e9-9209-0242ac110004 + true + 2019-09-14 18:15:15.385 + 2019-09-14 18:15:15.385 + Conservación de parte de una cantidad que se debe pagar para garantizar el cumplimiento de alguna obligación, generalmente de tipo fiscal. + La retención es la cantidad que se retiene de un sueldo, salario u otra percepción para el pago de un impuesto, de deudas en virtud de embargo, es decir, te retienen ahora para asegurar el pago del impuesto. + false + Retención + 0 + 0 + es_MX + 100 + 65672 + 100 + + + + + 2019-09-14 18:15:15.56 + 30 + + 100 + 100 + + 290 + 66983 + 10 + 50184 + + + + 30 + 0 + 0ef7bda0-c2bb-11e9-9209-0242ac110004 + true + 2019-09-14 18:15:15.56 + false + false + false + + + true + false + Document sequence number of the document + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + true + Document No + true + true + false + + + + + + + + false + 0 + 0 + WHH + 65673 + + + + + 0f00b93c-c2bb-11e9-9209-0242ac110004 + true + 2019-09-14 18:15:16.298 + 2019-09-14 18:15:16.298 + Número de secuencia del documento para cada documento + El número del documento es usualmente generado en automático por el sistema y determinado por el tipo del documento. Si el documento no se salva; el número preliminar se despliega entre El número del documento es usualmente generado en automático por el sistema y determinado por el tipo del documento. Si el documento no se salva; el número preliminar se despliega entre "<>". + + Si el tipo de documento de su documento no tiene secuencia automatica definida, el campo está vacío si usted crea un nuevo doc. Esto es para documentos los cuales usualmente tiene un número externo (Como factura de proveedor). Si usted deja este campo vacío, el sistema generará un número de doc para usted. + true + No. del Documento + 0 + 0 + es_MX + 100 + 65673 + 100 + + + + + + 2019-09-14 18:15:16.502 + true + 2019-09-14 18:15:16.502 + false + true + true + + + true + false + Indicates the types of national tax withholdings + In the window the types of existing national tax withholdings are indicated. + true + Withholding Type + true + true + false + + + + + + + false + 0 + 0 + WHH + 65674 + 70 + + 100 + 100 + + 61056 + 66989 + 19 + 50184 + + + + 10 + 20 + c7153640-c2c2-11e9-b910-0242ac110004 + + + + + c71e58ba-c2c2-11e9-b910-0242ac110004 + true + 2019-09-14 18:15:17.334 + 2019-09-14 18:15:17.334 + Identifica las Diversas Retenciones Existentes + + false + Tipo de Retención + 0 + 0 + es_MX + 100 + 65674 + 100 + + + + + true + Smart Browser for Generate Withholding Declaration + S + 0 + 54521 + 0 + + WHH + + + 100 + + 100 + + 680501ba-c2c4-11e9-97a5-0242ac110004 + 50184 + Withholding Declaration + 2019-09-14 18:15:17.51 + 2019-09-14 18:15:17.51 + + false + false + false + true + + + + + true + 2019-09-14 18:15:21.425 + 2019-09-14 18:15:21.425 + 100 + Smart Browser Para Generar Declaracion de Retención + Permite Generar la Declaracion de Retención + false + 0 + 0 + 100 + 54521 + es_MX + 681f95c0-c2c4-11e9-97a5-0242ac110004 + + + + + 684cffb0-c2c4-11e9-97a5-0242ac110004 + true + 2019-09-14 18:15:21.616 + 2019-09-14 18:15:21.616 + 0 + 0 + 54521 + 54465 + 100 + 100 + 2 + 10 + + + + diff --git a/withholding_engine/xml/migration/030_ChangesInWithholdingDeclarationBrowser.xml b/withholding_engine/xml/migration/030_ChangesInWithholdingDeclarationBrowser.xml new file mode 100644 index 0000000000..4374529c20 --- /dev/null +++ b/withholding_engine/xml/migration/030_ChangesInWithholdingDeclarationBrowser.xml @@ -0,0 +1,173 @@ + + + + + + c4b0c4b4-d8ac-11e9-a6d9-0242ac110002 + true + 2019-09-16 14:06:53.037 + 2019-09-16 14:06:53.037 + 50436 + The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion. + i.DateAcct + Account Date + + Accounting Date + 66990 + 0 + 0 + WHH + 100 + 50158 + 3508 + 100 + + + + + true + 2019-09-16 14:06:56.635 + 2019-09-16 14:06:56.635 + Accounting Date + + false + Account Date + 66990 + 0 + 0 + 100 + es_MX + 100 + c53991fe-d8ac-11e9-a6d9-0242ac110002 + + + + + I_DateAcct + + + + + 2019-09-16 14:07:29.543 + + + + + + false + 0 + 0 + WHH + 65675 + 10 + + 100 + 100 + + 263 + 66990 + 15 + 50184 + + + + 10 + 0 + d91bbf30-d8ac-11e9-a711-0242ac110002 + true + 2019-09-16 14:07:29.543 + false + false + false + + + false + false + Accounting Date + The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion. + false + Account Date + true + true + false + + + + + + + d95f132a-d8ac-11e9-a711-0242ac110002 + true + 2019-09-16 14:07:30.435 + 2019-09-16 14:07:30.435 + Accounting Date + The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion. + false + Account Date + 0 + 0 + es_MX + 100 + 65675 + 100 + + + + + true + 80 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + true + true + + + + + 10 + + + + + 20 + + + + diff --git a/withholding_engine/xml/migration/031_Change_Menu_Translation.xml b/withholding_engine/xml/migration/031_Change_Menu_Translation.xml new file mode 100644 index 0000000000..f7f0b9bb4f --- /dev/null +++ b/withholding_engine/xml/migration/031_Change_Menu_Translation.xml @@ -0,0 +1,17 @@ + + + + + + false + + + + + true + 54465 + es_MX + + + + diff --git a/withholding_engine/xml/migration/032_Change_SB_Translation.xml b/withholding_engine/xml/migration/032_Change_SB_Translation.xml new file mode 100644 index 0000000000..4b4b5737ad --- /dev/null +++ b/withholding_engine/xml/migration/032_Change_SB_Translation.xml @@ -0,0 +1,44 @@ + + + + + + 50181 + Genera retenciones desde cálculos realizados + Use este visor inteligenete para generar las retenciones de documentos por pagar a partir de un cálculo existente + es_MX + + + + + Genera Retenciones desde cálculos realizados + 54513 + es_MX + + + + + 50181 + Genera Retenciones desde cálculos realizados + es_MX + + + + + 50184 + Permite Generar la Declaracion de Retenciones realizadas + Use este visor para generar la declaración a final de período basado en todas las retenciones realizadas + es_MX + Generar Declaracion de Retenciones + + + + + Generar Declaracion de Retenciones + Permite Generar la Declaracion de Retenciones realizadas + 54521 + es_MX + + + + diff --git a/withholding_engine/xml/migration/033_Add_Process_Send_Withholding.xml b/withholding_engine/xml/migration/033_Add_Process_Send_Withholding.xml new file mode 100644 index 0000000000..f1073f5c0e --- /dev/null +++ b/withholding_engine/xml/migration/033_Add_Process_Send_Withholding.xml @@ -0,0 +1,490 @@ + + + + Add Process for send Withholding by EMail + + + + 2ef28164-2566-4ba6-9807-9eb2be00c660 + org.spin.process.WithholdingSend + + false + false + 0 + 0 + 100 + 100 + 54362 + 0 + 0 + + + + WHH + + 2020-03-04 11:05:32.439 + 2020-03-04 11:05:32.439 + false + N + true + Y + Withholding Send + + WithholdingSend (Process) + + + 3 + false + N + + + + + + 0 + true + 2020-03-04 11:05:34.343 + 2020-03-04 11:05:34.343 + + + false + Withholding Send + 0 + 100 + es_MX + 54362 + 100 + a84a00eb-162a-4fdf-9deb-bbf413d94ccf + + + + + Envíar Retenciones + es_MX + 54362 + + + + + 2020-03-04 11:06:20.504 + Business Partner + true + false + 2020-03-04 11:06:20.504 + false + + C_BPartner_ID + Identifies a Business Partner + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + + true + + + + + + false + 57619 + 0 + 0 + WHH + 22 + 54362 + 100 + 30 + + 10 + 100 + + 187 + b3da7224-8026-4faa-8256-0c8b8770b878 + + + + + 2020-03-04 11:06:27.135 + true + 2020-03-04 11:06:27.135 + Business Partner + false + Identifies a Business Partner + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + 57619 + 0 + 0 + 100 + es_MX + 100 + 23ee3f66-2686-43a4-8cbd-2546b68d0347 + + + + + 2020-03-04 11:07:18.731 + Withholding Type + true + false + 2020-03-04 11:07:18.731 + false + + WH_Type_ID + Indicates the types of national tax withholdings + In the window the types of existing national tax withholdings are indicated. + + true + + + + + + false + 57620 + 0 + 0 + WHH + 10 + 54362 + 100 + 19 + + 20 + 100 + + 61056 + 404df89a-81a1-4e28-9e70-ee186390bb48 + + + + + 100 + 2020-03-04 11:07:19.686 + true + 2020-03-04 11:07:19.686 + Withholding Type + false + Indicates the types of national tax withholdings + In the window the types of existing national tax withholdings are indicated. + 57620 + 0 + 0 + 100 + es_MX + 8e43855a-0959-4176-8305-6a441299bdde + + + + + 2020-03-04 11:07:33.394 + Document Date + true + false + 2020-03-04 11:07:33.394 + true + + DateDoc + Date of the Document + The Document Date indicates the date the document was generated. It may or may not be the same as the accounting date. + + true + + + + + + false + 57621 + 0 + 0 + WHH + 7 + 54362 + 100 + 15 + + 30 + 100 + + 265 + 0c49557a-aa27-415c-b75f-9061d32b3d68 + + + + + 2020-03-04 11:07:34.475 + true + 2020-03-04 11:07:34.475 + Document Date + false + Date of the Document + The Document Date indicates the date the document was generated. It may or may not be the same as the accounting date. + 57621 + 0 + 0 + 100 + es_MX + 100 + 6f1abbdf-4693-48a1-9d28-da8d78aa91a1 + + + + + true + + false + false + false + true + + P + 0 + 54568 + 0 + + WHH + + + 100 + + 100 + 54362 + 613a3770-0831-425f-9bad-c483963721aa + Withholding Send + + 2020-03-04 11:09:43.479 + 2020-03-04 11:09:43.479 + + + + + true + 2020-03-04 11:09:44.5 + 2020-03-04 11:09:44.5 + 100 + + false + 0 + 0 + 100 + 54568 + es_MX + 3ad0e493-2d1a-4e70-8be1-f296e837c7f5 + Withholding Send + + + + + e0950594-c4ca-4ceb-89ee-91292167d1f0 + true + 2020-03-04 11:09:44.832 + 2020-03-04 11:09:44.832 + 0 + 0 + 54568 + 0 + 100 + 100 + 999 + 10 + + + + + 54568 + 54465 + 2 + 10 + + + + + 54521 + 3 + 10 + + + + + 54467 + 4 + 10 + + + + + 54513 + 5 + 10 + + + + + 54471 + 6 + 10 + + + + + 54466 + 7 + 10 + + + + + 54469 + 8 + 10 + + + + + true + + + + + 5a04a3af-0722-4c10-bad0-46737bb2798a + 2020-03-04 11:13:05.995 + Mail Template + true + false + 2020-03-04 11:13:05.995 + true + + R_MailText_ID + Text templates for mailings + The Mail Template indicates the mail template for return messages. Mail text can include variables. The priority of parsing is User/Contact, Business Partner and then the underlying business object (like Request, Dunning, Workflow object).<br> +So, @Name@ would resolve into the User name (if user is defined defined), then Business Partner name (if business partner is defined) and then the Name of the business object if it has a Name.<br> +For Multi-Lingual systems, the template is translated based on the Business Partner's language selection. + + true + + + + + + false + 57622 + 0 + 0 + WHH + 22 + 54362 + 100 + 19 + + 40 + 100 + + 1515 + + + + + 2020-03-04 11:13:08.399 + true + 2020-03-04 11:13:08.399 + Mail Template + false + Text templates for mailings + The Mail Template indicates the mail template for return messages. Mail text can include variables. The priority of parsing is User/Contact, Business Partner and then the underlying business object (like Request, Dunning, Workflow object).<br> +So, @Name@ would resolve into the User name (if user is defined defined), then Business Partner name (if business partner is defined) and then the Name of the business object if it has a Name.<br> +For Multi-Lingual systems, the template is translated based on the Business Partner's language selection. + 57622 + 0 + 0 + 100 + es_MX + 100 + 0da94ef9-aee1-4141-88e9-7724e56b2eb3 + + + + + 30 + + + + + 40 + + + + + Permite Envíar las Retenciones Generadas via EMail + es_MX + 54362 + + + + + 2020-03-05 10:37:37.292 + Sales Transaction + true + false + 2020-03-05 10:37:37.293 + false + + IsSOTrx + This is a Sales Transaction + The Sales Transaction checkbox indicates if this item is a Sales Transaction. + + true + + + + N + + false + 57624 + 0 + 0 + WHH + 1 + 54362 + 100 + 17 + + 50 + 100 + 319 + 1106 + cfe3f0a1-a325-4e42-b7c8-cb0cc3a9d476 + + + + + The Sales Transaction checkbox indicates if this item is a Sales Transaction. + 57624 + 2020-03-05 10:37:38.378 + true + 2020-03-05 10:37:38.378 + Sales Transaction + false + This is a Sales Transaction + 0 + 0 + 100 + es_MX + 100 + f54c3a17-e337-43a1-bcc0-4747691878d6 + + + + + 30 + + + + + 40 + + + + + 50 + + + + diff --git a/withholding_engine/xml/migration/034_Add_Browser_Send_Withholding.xml b/withholding_engine/xml/migration/034_Add_Browser_Send_Withholding.xml new file mode 100644 index 0000000000..55eeb7c966 --- /dev/null +++ b/withholding_engine/xml/migration/034_Add_Browser_Send_Withholding.xml @@ -0,0 +1,1146 @@ + + + + Add Browser to Send Withholding + + + + 3 + false + N + + 7cf9e492-8f83-440b-be16-f6a12228f990 + org.spin.process.WithholdingSend + + false + false + 0 + 0 + 100 + 100 + 54363 + 0 + 0 + + + + U + + 2020-03-04 15:42:26.949 + 2020-03-04 15:42:26.949 + false + N + true + Y + Withholding Send + + WithholdingSend (Browse) + + + + + + + true + 2020-03-04 15:42:27.74 + 2020-03-04 15:42:27.74 + + + false + Withholding Send + 0 + 0 + 100 + es_MX + 54363 + 100 + 3396a1f7-747e-4194-8539-5968b7ed6b95 + + + + + WHH + + + + + Envíar Retenciones + es_MX + 54363 + + + + + 100 + 2020-03-04 15:47:38.509 + Mail Template + true + false + 2020-03-04 15:47:38.509 + true + + R_MailText_ID + Text templates for mailings + The Mail Template indicates the mail template for return messages. Mail text can include variables. The priority of parsing is User/Contact, Business Partner and then the underlying business object (like Request, Dunning, Workflow object).<br> +So, @Name@ would resolve into the User name (if user is defined defined), then Business Partner name (if business partner is defined) and then the Name of the business object if it has a Name.<br> +For Multi-Lingual systems, the template is translated based on the Business Partner's language selection. + + true + + + + + + false + 57623 + 0 + 0 + WHH + 22 + 54363 + 100 + 19 + + 10 + + 1515 + 21a26f35-093f-499b-9ec6-059ba79b52fc + + + + + 2020-03-04 15:47:39.503 + true + 2020-03-04 15:47:39.503 + Mail Template + false + Text templates for mailings + The Mail Template indicates the mail template for return messages. Mail text can include variables. The priority of parsing is User/Contact, Business Partner and then the underlying business object (like Request, Dunning, Workflow object).<br> +So, @Name@ would resolve into the User name (if user is defined defined), then Business Partner name (if business partner is defined) and then the Name of the business object if it has a Name.<br> +For Multi-Lingual systems, the template is translated based on the Business Partner's language selection. + 57623 + 0 + 0 + 100 + es_MX + 100 + e92422bb-41e2-4187-b8a5-6722613878b7 + + + + + false + + false + false + false + wh.IsSimulation = 'N' AND wh.DocStatus IN ('CO','CL') AND wh.Processed = 'Y' AND i.DocStatus IN ('CO', 'CL') + Browser Generate Withholding Send + true + 2020-03-04 15:51:24.935 + 2020-03-04 15:51:24.935 + Send Withholding Document + Allow Send Withholding Document via EMail + N + true + false + false + false + SB_WithholdingSend + 3 + 0 + 50207 + WHH + 0 + 100 + 100 + + 50158 + 54301 + 52e51801-a91f-44f9-b9a6-ee1158cb7d8d + + + + + true + 2020-03-04 15:51:25.693 + 2020-03-04 15:51:25.693 + 50207 + Send Withholding Document + Allow Send Withholding Document via EMail + false + 0 + 0 + es_MX + 100 + 100 + 0ec732e3-edf5-4ecb-b285-f3dcf68d61dc + Browser Generate Withholding Send + + + + + WHH + 2020-03-04 15:51:33.203 + true + 2020-03-04 15:51:33.203 + false + false + false + + + Document sequence number of the document + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + false + true + false + Document No + true + true + false + + + + + + + + false + 0 + 0 + 67489 + 10 + + 100 + 100 + + 290 + 66983 + + 10 + 50207 + + + 30 + 0 + b3dd98d9-a0a7-45f5-a0f5-60234934a9a1 + + + + + 0f228304-7849-49eb-8f25-b049c23aac08 + true + 2020-03-04 15:51:34.958 + 2020-03-04 15:51:34.958 + Document sequence number of the document + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + false + Document No + 0 + 0 + es_MX + 100 + 67489 + 100 + + + + + true + 2020-03-04 15:51:35.137 + true + 2020-03-04 15:51:35.137 + false + false + false + + + Total amount of document + The Grand Total displays the total amount including Tax and Freight in document currency + false + true + false + Grand Total + true + false + + + + + + + + false + 0 + 0 + WHH + 67490 + 11 + + 100 + 100 + + 316 + 66984 + + 12 + 50207 + + + 22 + 0 + b345f34f-17e8-4e4c-941a-9812ff58597d + + + + + 81566990-5757-4dd1-8a7b-87a3d3517429 + true + 2020-03-04 15:51:35.883 + 2020-03-04 15:51:35.883 + Total amount of document + The Grand Total displays the total amount including Tax and Freight in document currency + false + Grand Total + 0 + 0 + es_MX + 100 + 67490 + 100 + + + + + 2020-03-04 15:51:36.068 + Date printed on Invoice + The Date Invoice indicates the date printed on the invoice. + false + true + false + Date Invoiced + true + true + false + + + + + + + + false + 0 + 0 + WHH + 67491 + 12 + + 100 + 100 + + 267 + 66985 + + 15 + 50207 + + + 7 + 0 + bfdd0ef6-cacd-4289-9c52-66ac71f88211 + true + 2020-03-04 15:51:36.068 + false + false + false + + + + + + + 8b62006d-8d10-4c83-b902-8355df780631 + true + 2020-03-04 15:51:36.875 + 2020-03-04 15:51:36.875 + Date printed on Invoice + The Date Invoice indicates the date printed on the invoice. + false + Date Invoiced + 0 + 0 + es_MX + 100 + 67491 + 100 + + + + + 2020-03-04 15:51:37.075 + true + 2020-03-04 15:51:37.075 + false + false + false + + + Invoice Identifier + The Invoice Document. + false + false + false + Invoice + true + true + false + + + + + + + + false + 0 + 0 + WHH + 67492 + 13 + + 100 + 100 + + 1008 + 66986 + + 13 + 50207 + + + 10 + 0 + c243320b-548a-4088-b277-ecb307593be8 + + + + + 8d38274d-9698-4060-b720-6635eba43f2c + es_MX + 100 + 67492 + 100 + true + 2020-03-04 15:51:38.016 + 2020-03-04 15:51:38.016 + Invoice Identifier + The Invoice Document. + false + Invoice + 0 + 0 + + + + + 2020-03-04 15:51:38.346 + true + 2020-03-04 15:51:38.346 + false + false + false + + + Identifies a Business Partner + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + false + false + false + Business Partner + true + true + false + + + + + + + + false + 0 + 0 + WHH + 67493 + 14 + + 100 + 100 + + 187 + 66987 + + 30 + 50207 + + + 10 + 0 + 2a59ace0-8f6a-4c3d-8b3d-e1c76818e869 + + + + + Identifies a Business Partner + A Business Partner is anyone with whom you transact. This can include Vendor, Customer, Employee or Salesperson + false + 937078ac-2a26-44a9-8803-48da7bba7e0a + true + 2020-03-04 15:51:39.242 + 2020-03-04 15:51:39.242 + Business Partner + 0 + 0 + es_MX + 100 + 67493 + 100 + + + + + 2020-03-04 15:51:39.475 + + 10 + 0 + 0a66188a-7525-4995-b9ce-f5d8927653ef + true + 2020-03-04 15:51:39.475 + false + false + false + + + Accounting Date + The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion. + false + false + false + Account Date + true + true + false + + + + + + + + false + 0 + 0 + WHH + 67494 + 15 + + 100 + 100 + + 263 + 66990 + + 15 + 50207 + + + + + + fe243ada-2c31-46b6-be20-32dc62c52460 + true + 2020-03-04 15:51:40.586 + 2020-03-04 15:51:40.586 + Accounting Date + The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion. + false + Account Date + 0 + 0 + es_MX + 100 + 67494 + 100 + + + + + 100 + 2020-03-04 15:51:40.832 + true + 2020-03-04 15:51:40.832 + false + false + false + + + Withholding Definition is used for define a withholding rule for BP + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + false + true + false + Withholding + true + true + false + + + + + + + + false + 0 + 0 + WHH + 67495 + 16 + + 100 + + 61055 + 66988 + + 19 + 50207 + + + 10 + 0 + 5c0283b9-a1fe-4486-a78a-a69e31113e29 + + + + + 3bd08834-63c2-4969-8f75-98bf8338f2ff + true + 2020-03-04 15:51:41.993 + 2020-03-04 15:51:41.993 + Withholding Definition is used for define a withholding rule for BP + Withholding is the amount that is withheld from a salary, salary or other collection for the payment of a tax, of debts under the embargo, that is, you are now withheld to secure the payment of the tax. + false + Withholding + 0 + 0 + es_MX + 100 + 67495 + 100 + + + + + 2020-03-04 15:51:42.161 + + + false + 0 + 0 + WHH + 67496 + 17 + + 100 + 100 + + 61056 + 66989 + + 19 + 50207 + + + 10 + 0 + 8994ec3b-965c-43de-935d-9f2b6a721544 + true + 2020-03-04 15:51:42.161 + false + false + false + + + Indicates the types of national tax withholdings + In the window the types of existing national tax withholdings are indicated. + false + false + false + Withholding Type + true + true + false + + + + + + + + + + 74f9ceb7-8c8c-4f84-b063-a532a5590295 + true + 2020-03-04 15:51:42.912 + 2020-03-04 15:51:42.912 + Indicates the types of national tax withholdings + In the window the types of existing national tax withholdings are indicated. + false + Withholding Type + 0 + 0 + es_MX + 100 + 67496 + 100 + + + + + SBP_WithholdingSend (Browse) + + + + + 54363 + + + + + Permite Envíar las Retenciones Generadas via EMail + es_MX + 54362 + + + + + Envíar Retenciones + 50207 + Permite Envíar las Retenciones Generadas via EMail + Permite Envíar las Retenciones Generadas via EMail + es_MX + + + + + true + 10 + + + + + true + 20 + + + + + true + 30 + + + + + true + 40 + + + + + true + 50 + + + + + true + 60 + + + + + true + 70 + + + + + true + 80 + + + + + 10 + + + + + 20 + + + + + true + + + + + true + + + + + true + true + + + + + true + true + + + + + true + + + + + true + + + + + 10 + + + + + true + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + + true + 50207 + 2020-03-04 16:08:55.784 + 2020-03-04 16:08:55.784 + false + false + false + true + + S + 0 + 54569 + 0 + + WHH + + + 100 + + 100 + + 9948b945-3a32-4436-bb74-c956f7fbb206 + Withholding Send + + + + + true + 2020-03-04 16:08:56.736 + 2020-03-04 16:08:56.736 + 100 + + false + 0 + 0 + 100 + 54569 + es_MX + 1a7d0ccb-6285-4a80-9564-0833e7127576 + Withholding Send + + + + + 90ddf424-121f-46c0-bfc6-87c0608a9281 + true + 2020-03-04 16:08:56.914 + 2020-03-04 16:08:56.914 + 0 + 0 + 54569 + 0 + 100 + 100 + 999 + 10 + + + + + 54569 + 54465 + 3 + 10 + + + + + 54521 + 4 + 10 + + + + + 54467 + 5 + 10 + + + + + 54513 + 6 + 10 + + + + + 54471 + 7 + 10 + + + + + 54466 + 8 + 10 + + + + + 54469 + 9 + 10 + + + + + false + 0 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 57311d7b-2fe9-451e-8745-5beb2fbce601 + true + 2020-03-05 09:27:24.27 + 2020-03-05 09:27:24.27 + 50436 + The Sales Transaction checkbox indicates if this item is a Sales Transaction. + i.IsSOTrx + Sales Transaction + I_IsSOTrx + This is a Sales Transaction + 68746 + 0 + 0 + WHH + 100 + 50158 + 3780 + 100 + + + + + 0 + 100 + es_MX + 100 + 00a8f08b-d3a1-48db-b7c4-5be1b9a792e1 + 2020-03-05 09:27:25.335 + true + 2020-03-05 09:27:25.335 + This is a Sales Transaction + + false + Sales Transaction + 68746 + 0 + + + + + 2020-03-05 09:27:46.894 + true + 2020-03-05 09:27:46.894 + false + false + false + + + This is a Sales Transaction + The Sales Transaction checkbox indicates if this item is a Sales Transaction. + false + false + false + Sales Transaction + true + true + false + + + + + + + + false + 0 + 0 + WHH + 67497 + 10 + + 100 + 100 + + 1106 + 68746 + + 20 + 50207 + + + 1 + 0 + ee4bedca-5b43-4f2f-b501-8bf318808e71 + + + + + This is a Sales Transaction + 2e95b5a9-fc18-435c-9d56-36deb2afe3cb + true + 2020-03-05 09:27:47.808 + 2020-03-05 09:27:47.808 + The Sales Transaction checkbox indicates if this item is a Sales Transaction. + false + Sales Transaction + 0 + 0 + es_MX + 100 + 67497 + 100 + + + + + true + 60 + + + + + 319 + 17 + + + + + N + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 60 + + + + diff --git a/withholding_engine/xml/migration/035_Withholding_Generate_Declared_Multi_Currencies.xml b/withholding_engine/xml/migration/035_Withholding_Generate_Declared_Multi_Currencies.xml new file mode 100644 index 0000000000..e56aa1383c --- /dev/null +++ b/withholding_engine/xml/migration/035_Withholding_Generate_Declared_Multi_Currencies.xml @@ -0,0 +1,2030 @@ + + + + Add Support to Withholding Generate / Declared on Multi Currencies + + + 0 + false + 2020-09-15 11:42:59.414 + true + 2020-09-15 11:42:59.414 + i + LEFT JOIN C_Invoice i ON (i.C_Invoice_ID = wh.SourceInvoice_ID) + 50518 + 0 + 100 + 100 + 318 + 50155 + 30 + ebd243e6-f2ef-4590-b327-439fb83a961c + + + + + false + 2020-09-15 11:43:38.469 + true + 2020-09-15 11:43:38.469 + cto + , C_Currency + 50519 + 0 + 0 + 100 + 100 + 141 + 50155 + 40 + 27ee7171-5d35-4593-a68b-13938c452212 + + + + + 34d5c8ad-f4cd-4dff-8bd3-f50db83fbb1d + true + 2020-09-15 11:46:51.01 + 2020-09-15 11:46:51.01 + 50518 + Indicates the Currency to be used when processing or reporting on this record + + C_Currency_ID + + The Currency for this record + 70325 + 0 + 0 + WHH + 100 + 50155 + 3505 + 100 + + + + + 2020-09-15 11:46:53.365 + 100 + es_MX + 100 + c146f972-a2cc-4489-938d-e0aeea8c5c46 + true + 2020-09-15 11:46:53.365 + The Currency for this record + + false + C_Currency_ID + 70325 + 0 + 0 + + + + + i.C_Currency_ID + I_C_Currency_ID + + + + + e6a105bd-f282-4c16-a3fb-3506b7c0cbb4 + true + 2020-09-15 11:51:10.571 + 2020-09-15 11:51:10.571 + 50519 + The Currency To defines the target currency for this conversion rate. + cto.C_Currency_ID + C_Currency_ID_To + CTO_C_Currency_ID_To + Target currency + 70326 + 0 + 0 + WHH + 100 + 50155 + 457 + 100 + + + + + 2020-09-15 11:51:11.51 + true + 2020-09-15 11:51:11.51 + Target currency + + false + C_Currency_ID_To + 70326 + 0 + 0 + 100 + es_MX + 100 + 9271662d-d05a-49f5-bc82-c32ddec1fa50 + + + + + 2020-09-15 11:51:27.223 + true + 2020-09-15 11:51:27.223 + false + false + false + + + Performing the function is only simulated + + false + false + false + Simulation + true + true + false + + + + + + + + false + 0 + 0 + WHH + 69486 + 10 + + 100 + 100 + + 1667 + 66795 + + 20 + 50181 + + + 1 + 0 + ec749239-e7df-4168-bd46-94325421d8bd + + + + + 8f3559e0-c350-4774-ae04-085e7986b42a + true + 2020-09-15 11:51:29.66 + 2020-09-15 11:51:29.66 + Performing the function is only simulated + + false + Simulation + 0 + 0 + es_MX + 100 + 69486 + 100 + + + + + The Currency for this record + 2020-09-15 11:51:29.883 + true + 2020-09-15 11:51:29.883 + false + false + false + + + Indicates the Currency to be used when processing or reporting on this record + false + false + false + C_Currency_ID + true + true + false + + + + + + + + false + 0 + 0 + WHH + 69487 + 11 + + 100 + 100 + + 193 + 70325 + + 19 + 50181 + + + 10 + 0 + 12310842-7c61-4ac4-a589-c8f8bf7a23cc + + + + + 81b71e67-e27c-4a65-bf47-38347f3ba9f5 + true + 2020-09-15 11:51:31.309 + 2020-09-15 11:51:31.309 + The Currency for this record + Indicates the Currency to be used when processing or reporting on this record + false + C_Currency_ID + 0 + 0 + es_MX + 100 + 69487 + 100 + + + + + 2020-09-15 11:51:31.519 + true + 2020-09-15 11:51:31.519 + false + false + false + + + Target currency + The Currency To defines the target currency for this conversion rate. + false + false + false + C_Currency_ID_To + true + true + false + + + + + + + + false + 0 + 0 + WHH + 69488 + 12 + + 100 + 100 + + 193 + 70326 + + 13 + 50181 + + + 10 + 0 + 79aef8f6-1202-47e7-bbb0-4acf87b6db48 + + + + + es_MX + a2e45904-80fe-43f6-b6e9-7adfe6be1eb6 + true + 2020-09-15 11:51:32.829 + 2020-09-15 11:51:32.829 + Target currency + The Currency To defines the target currency for this conversion rate. + false + C_Currency_ID_To + 0 + 0 + 100 + 69488 + 100 + + + + + true + 70 + + + + + true + 80 + + + + + @$C_Currency_ID@ + + + + + @$C_Currency_ID@ + + + + + 195 + + + + + 112 + 18 + + + + + wh.IsDeclared = 'N' AND wh.IsSimulation = 'N' AND wh.DocStatus IN ('CO','CL') AND wh.Processed = 'Y' AND wh.SourceInvoice_ID IS NOT NULL AND NOT EXISTS (SELECT 1 FROM C_Invoice i WHERE wh.C_Invoice_ID = i.C_Invoice_ID AND i.DocStatus IN ('CO', 'CL', 'IP', 'IN')) + + + + + , C_Currency cto + + + + + true + + + + + true + + + + + true + + + + + @C_Currency_ID@ + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 70 + + + + + 80 + + + + + @I_C_Currency_ID@ + + + + + @$C_Currency_ID@ + + + + + 2020-09-15 12:18:19.757 + true + Converted Base Amount + + 2020-09-15 12:18:19.757 + Converted_A_Base_Amount + + + + Converted Base Amount + + + 22 + 12 + 61480 + 0 + 0 + WHH + 100 + + 100 + f02d484f-6fc7-4ada-bda4-3dd2135ce3fd + + + + + 2020-09-15 12:18:21.295 + + true + 2020-09-15 12:18:21.295 + es_MX + + + Converted Base Amount + + false + Converted Base Amount + + + 0 + 0 + 100 + 100 + 61480 + 61ff12d7-977f-4cab-9be0-242e18233591 + + + + + es_MX + Monto Base Convertido + true + Monto Base Convertido + 61480 + + + + + 2020-09-15 12:20:57.356 + true + Converted Withholding Amt + + 2020-09-15 12:20:57.357 + Converted_WithholdingAmt + + + + Converted Withholding Amt + + + 10 + 12 + 61481 + 0 + 0 + WHH + 100 + + 100 + f4537076-572b-4009-b3fc-a8fb9f7acc5e + + + + + 2020-09-15 12:20:59.53 + + + Converted Withholding Amt + + false + Converted Withholding Amt + + + 0 + 0 + 100 + 100 + 61481 + 940a4033-0e35-4081-96e7-7afeb4e12c12 + + true + 2020-09-15 12:20:59.53 + es_MX + + + + + es_MX + Monto de Retención Convertido + Monto de Retención Aplicada Convertido + Monto de Retención Convertido + 61481 + + + + + es_MX + true + 61481 + + + + + 7411e96e-42ec-4418-82cd-e93282af6032 + true + 2020-09-15 12:24:11.818 + 2020-09-15 12:24:11.818 + 50429 + + + A_Base_Amount + WH_Converted_A_Base_Amount + + 70327 + 0 + 0 + WHH + 100 + 50155 + 93586 + 100 + + + + + 2020-09-15 12:24:12.703 + true + 2020-09-15 12:24:12.703 + + + false + A_Base_Amount + 70327 + 0 + 0 + 100 + es_MX + 100 + 417df67c-0411-4297-abb1-7569565a58d7 + + + + + CurrenCyconvert(wh.A_Base_Amount, i.C_Currency_ID, cto.C_Currency_ID, i.DateAcct, i.C_ConversionType_ID, i.AD_Client_ID, i.AD_Org_ID) + + + + + Converted Base Amount + WH_Converted_A_Base_Amount + Converted Base Amount + + + + + 2020-09-15 12:30:57.289 + 930f4902-2c14-4bb1-aefb-96dbb341a233 + true + 2020-09-15 12:30:57.289 + 50429 + Converted Withholding Amt + CurrenCyconvert(wh.WithholdingAmt, i.C_Currency_ID, cto.C_Currency_ID, i.DateAcct, i.C_ConversionType_ID, i.AD_Client_ID, i.AD_Org_ID) + Converted_WithholdingAmt + WH_Converted_A_Base_Amount + Converted Withholding Amt + 70328 + 0 + 0 + WHH + 100 + 50155 + 93611 + 100 + + + + + 2020-09-15 12:30:58.341 + true + 2020-09-15 12:30:58.341 + Converted Withholding Amt + + false + Converted_WithholdingAmt + 70328 + 0 + 0 + 100 + es_MX + 100 + 824706d0-0cac-4033-a44d-daded8cf20c9 + + + + + 2020-09-15 12:31:47.077 + true + 2020-09-15 12:31:47.077 + false + false + false + + + Converted Withholding Amt + Converted Withholding Amt + false + true + false + Converted_WithholdingAmt + true + true + false + + + + + + + + false + 0 + 0 + WHH + 69489 + 10 + + 100 + 100 + + 61063 + 70328 + + 12 + 50181 + + + 0 + 0 + f394f98c-80aa-4737-a570-d2ef51fe4e13 + + + + + 766628ba-323c-4ee5-b2f6-9f124be3a966 + true + 2020-09-15 12:31:48.452 + 2020-09-15 12:31:48.452 + Converted Withholding Amt + Converted Withholding Amt + false + Converted_WithholdingAmt + 0 + 0 + es_MX + 100 + 69489 + 100 + + + + + 12 + 50181 + + + 0 + 0 + 15a66715-e127-4b22-809d-dc973e7941a2 + 2020-09-15 12:31:48.838 + true + 2020-09-15 12:31:48.838 + false + false + false + + + Converted Base Amount + Converted Base Amount + false + false + false + WH_Converted_A_Base_Amount + true + true + false + + + + + + + + false + 0 + 0 + WHH + 69490 + 11 + + 100 + 100 + + 53498 + 70327 + + + + + + 371d5436-f77e-4610-a7f9-dcac48072484 + true + 2020-09-15 12:31:51.088 + 2020-09-15 12:31:51.088 + Converted Base Amount + Converted Base Amount + false + WH_Converted_A_Base_Amount + 0 + 0 + es_MX + 100 + 69490 + 100 + + + + + Converted Base Amount + + + + + true + 110 + + + + + true + 120 + + + + + Converted Withholding Amt + + + + + WH_Converted_WithholdingAmt + + + + + 61481 + + + + + 61480 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + COALESCE(CurrenCyconvert(wh.WithholdingAmt, i.C_Currency_ID, cto.C_Currency_ID, i.DateAcct, i.C_ConversionType_ID, i.AD_Client_ID, i.AD_Org_ID),0) + + + + + COALESCE(CurrenCyconvert(wh.A_Base_Amount, i.C_Currency_ID, cto.C_Currency_ID, i.DateAcct, i.C_ConversionType_ID, i.AD_Client_ID, i.AD_Org_ID),0) + + + + + true + + + + + true + + + + + true + + + + + false + + + + + false + + + + + 2020-09-16 17:30:31.352 + Document No + true + false + 2020-09-16 17:30:31.352 + false + + DocumentNo + Document sequence number of the document + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + + true + + + + + + false + 57808 + 0 + 0 + WHH + 30 + 54287 + 100 + 10 + + 20 + 100 + + 290 + 6737da47-f3f6-4d01-a6db-3a535d637daa + + + + + 2020-09-16 17:30:32.952 + true + 2020-09-16 17:30:32.952 + Document No + false + Document sequence number of the document + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + 57808 + 0 + 0 + 100 + es_MX + 100 + 3010fbd3-5b88-431f-928f-8d95e2967948 + + + + + + 630436e7-97c2-4c66-9069-b59111b28ed6 + true + 2020-09-18 11:18:54.026 + 2020-09-18 11:18:54.026 + 50429 + wh.SourceOrder_ID + Source Order + WH_SourceOrder_ID + + 70329 + 0 + 0 + WHH + 100 + 50155 + 94215 + 100 + + + + + 2020-09-18 11:18:58.765 + true + 2020-09-18 11:18:58.765 + + + false + Source Order + 70329 + 0 + 0 + 100 + es_MX + 100 + e275d0cf-1a59-4aef-8060-8fa027e8a362 + + + + + 141ec74b-a90f-4f92-bdbb-acb6b82f2d33 + true + 2020-09-18 11:18:59.132 + 2020-09-18 11:18:59.132 + 50429 + + wh.SourceOrderLine_ID + Source Order Line + WH_SourceOrderLine_ID + + 70330 + 0 + 0 + WHH + 100 + 50155 + 94216 + 100 + + + + + Source Order Line + 2020-09-18 11:19:00.221 + true + 2020-09-18 11:19:00.221 + + + false + 70330 + 0 + 0 + 100 + es_MX + 100 + efa0c350-cf64-4176-8fe8-5f3cc676339c + + + + + 860c4b9f-29b5-4f22-9cdb-130920948c7f + true + 2020-09-18 11:19:00.732 + 2020-09-18 11:19:00.732 + 50429 + The Manual check box indicates if the process will done manually. + wh.IsManual + Manual + WH_IsManual + This is a manual process + 70331 + 0 + 0 + WHH + 100 + 50155 + 94527 + 100 + + + + + 2020-09-18 11:19:02.101 + true + 2020-09-18 11:19:02.101 + This is a manual process + + false + Manual + 70331 + 0 + 0 + 100 + es_MX + 100 + c7e77718-cd52-41e3-9345-505d55d56f10 + + + + + 2020-09-18 11:20:11.207 + true + 2020-09-18 11:20:11.207 + false + false + false + + + This is a manual process + The Manual check box indicates if the process will done manually. + false + false + false + Manual + true + true + false + + + + + + + + false + 0 + 0 + WHH + 69491 + 10 + + 100 + 100 + + 1474 + 70331 + + 20 + 50181 + + + 1 + 0 + 0ab41ce0-06a4-4573-92dd-ef99c07b2a21 + + + + + 950da835-793b-443c-a02d-e8663d3c5212 + true + 2020-09-18 11:20:13.044 + 2020-09-18 11:20:13.044 + This is a manual process + The Manual check box indicates if the process will done manually. + false + Manual + 0 + 0 + es_MX + 100 + 69491 + 100 + + + + + 2020-09-18 11:20:13.467 + false + + + + + false + false + false + Source Order + true + true + false + + + + + + + + false + 0 + 0 + WHH + 69492 + 11 + 290 + 100 + 100 + + 61146 + 70329 + + 18 + 50181 + + + 10 + 0 + a2b3d648-4334-447f-9aa1-f3e7a61ef6fb + true + 2020-09-18 11:20:13.467 + false + false + + + + + df57816b-27a8-495c-adc8-e8ea5c4eb722 + 100 + true + 2020-09-18 11:20:15.679 + 2020-09-18 11:20:15.679 + + + false + Source Order + 0 + 0 + es_MX + 100 + 69492 + + + + + 2020-09-18 11:20:16.068 + true + 2020-09-18 11:20:16.068 + false + false + false + + + + + false + false + false + Source Order Line + true + true + false + + + + + + + + false + 0 + 0 + WHH + 69493 + 12 + 271 + 100 + 100 + + 61147 + 70330 + + 18 + 50181 + + + 10 + 0 + 7d270c21-2ab3-4e10-b031-2187bea4ee00 + + + + + 2f10a9bd-eed2-4f21-aaa0-f9c32edcb8e2 + 0 + es_MX + 100 + 69493 + 100 + true + 2020-09-18 11:20:18.179 + 2020-09-18 11:20:18.179 + + + false + Source Order Line + 0 + + + + + true + 90 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 2020-09-18 11:30:24.099 + Currency + true + false + 2020-09-18 11:30:24.1 + true + + C_Currency_ID + The Currency for this record + Indicates the Currency to be used when processing or reporting on this record + + true + + + + $C_Currency_ID + + false + 57809 + 0 + 0 + WHH + 22 + 54243 + 100 + 19 + + 70 + 100 + + 193 + 9f8974f4-bb7b-4f48-aa44-a42b6b181722 + + + + + 57809 + 2020-09-18 11:30:25.597 + true + 2020-09-18 11:30:25.597 + Currency + false + The Currency for this record + Indicates the Currency to be used when processing or reporting on this record + 0 + 0 + 100 + es_MX + 100 + b4a658f0-333a-47a9-9296-12f8e443019d + + + + + @$C_Currency_ID@ + + + + + 2020-09-18 11:32:14.301 + Currency To + true + false + 2020-09-18 11:32:14.301 + true + + C_Currency_ID_To + Target currency + The Currency To defines the target currency for this conversion rate. + + true + + + + @$C_Currency_ID@ + + false + 57810 + 0 + 0 + WHH + 22 + 54243 + 100 + 18 + + 80 + 100 + 112 + 195 + 5c128e6b-a42d-4f49-b580-480fd90b9071 + + + + + 2020-09-18 11:32:15.992 + es_MX + 100 + 39783968-524e-4c92-a293-366bd0bb3efa + true + 2020-09-18 11:32:15.992 + Currency To + false + Target currency + The Currency To defines the target currency for this conversion rate. + 57810 + 0 + 0 + 100 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 2020-09-18 11:34:43.722 + Manual + true + false + 2020-09-18 11:34:43.722 + false + + IsManual + This is a manual process + The Manual check box indicates if the process will done manually. + + true + + + + N + + false + 57811 + 0 + 0 + WHH + 1 + 54243 + 100 + 20 + + 90 + 100 + + 1474 + 3938f8c4-c01c-4635-a2eb-06037c418f21 + + + + + 2020-09-18 11:34:45.293 + es_MX + 100 + c93aa6f7-0a16-4a67-a1d4-9d4b38e20602 + true + 2020-09-18 11:34:45.293 + Manual + false + This is a manual process + The Manual check box indicates if the process will done manually. + 57811 + 0 + 0 + 100 + + + + + 2020-09-18 11:35:21.24 + Document No + true + false + 2020-09-18 11:35:21.24 + false + + DocumentNo + Document sequence number of the document + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + + true + + + + + @IsManual@=Y + false + 57812 + 0 + 0 + WHH + 30 + 54243 + 100 + 10 + + 100 + 100 + + 290 + 2fd132d4-3d4e-4359-8661-1ab7caff78a1 + + + + + 2020-09-18 11:35:22.673 + true + 2020-09-18 11:35:22.673 + Document No + false + Document sequence number of the document + The document number is usually automatically generated by the system and determined by the document type of the document. If the document is not saved, the preliminary number is displayed in "<>". + +If the document type of your document has no automatic document sequence defined, the field is empty if you create a new document. This is for documents which usually have an external number (like vendor invoice). If you leave the field empty, the system will generate a document number for you. The document sequence used for this fallback number is defined in the "Maintain Sequence" window with the name "DocumentNo_<TableName>", where TableName is the actual name of the table (e.g. C_Order). + 57812 + 0 + 0 + 100 + es_MX + 100 + c62e2da6-17e8-40d5-8bf1-cef05f1be8c6 + + + + + true + + + + + false + + + + + 2020-09-21 09:43:31.277 + Currency + true + false + 2020-09-21 09:43:31.277 + true + + C_Currency_ID + The Currency for this record + Indicates the Currency to be used when processing or reporting on this record + + true + + + + @$C_Currency_ID@ + + false + 57813 + 0 + 0 + WHH + 22 + 54301 + 100 + 19 + + 30 + 100 + + 193 + 8523750f-d8d8-422a-ba48-353818d0a6da + + + + + Currency + es_MX + 100 + 3a7e1313-952f-4fe2-9359-2aaee1d8c34f + 2020-09-21 09:43:33.011 + true + 2020-09-21 09:43:33.011 + false + The Currency for this record + Indicates the Currency to be used when processing or reporting on this record + 57813 + 0 + 0 + 100 + + + + + 1effb1ef-4a44-42bb-89dc-62b667410da7 + true + 2020-09-21 10:07:43.682 + 2020-09-21 10:07:43.682 + 50436 + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + i.AD_Org_ID + Organization + I_AD_Org_ID + Organizational entity within client + 70430 + 0 + 0 + WHH + 100 + 50158 + 3486 + 100 + + + + + 2020-09-21 10:07:45.376 + true + 2020-09-21 10:07:45.376 + Organizational entity within client + + false + Organization + 70430 + 0 + 0 + 100 + es_MX + 100 + 770f9314-1a10-43e2-b80d-35bfbe1b1488 + + + + + false + + + + + + + + false + 0 + 0 + WHH + 69588 + 10 + + 100 + 100 + + 1106 + 68746 + + 20 + 50184 + + + 1 + 0 + fa7b6968-a57f-4875-825f-5a8a82e3f83a + 2020-09-21 10:08:04.018 + true + 2020-09-21 10:08:04.018 + false + false + false + + + This is a Sales Transaction + The Sales Transaction checkbox indicates if this item is a Sales Transaction. + false + false + false + Sales Transaction + true + true + + + + + ffd48b2c-e042-4d50-9646-dfa30e6138d7 + true + 2020-09-21 10:08:05.781 + 2020-09-21 10:08:05.781 + This is a Sales Transaction + The Sales Transaction checkbox indicates if this item is a Sales Transaction. + false + Sales Transaction + 0 + 0 + es_MX + 100 + 69588 + 100 + + + + + 2020-09-21 10:08:06.291 + true + 2020-09-21 10:08:06.291 + false + false + false + + + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + false + false + false + Organization + true + true + false + + + + + + + + false + 0 + 0 + WHH + 69589 + 11 + + 100 + 100 + + 113 + 70430 + + 19 + 50184 + + + 10 + 0 + 016acca3-26c2-4729-85cf-4527020c8436 + + + + + 1e7cc546-6b38-4ce1-84aa-a1e0e8055498 + true + 2020-09-21 10:08:07.841 + 2020-09-21 10:08:07.841 + Organizational entity within client + An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. + false + Organization + 0 + 0 + es_MX + 100 + 69589 + 100 + + + + + 0 + + + + + 10 + true + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + true + 10 + + + + + true + 20 + + + + + false + 0 + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + 60 + + + + + 70 + + + + + 80 + + + + + true + 10 + + + + + 20 + + + + + 30 + + + + + true + + + + + false + + + + + 3f48f26e-1b63-4832-bcd8-6d8cdd142059 + true + 2020-09-21 10:25:27.194 + 2020-09-21 10:25:27.194 + 50436 + Indicates the Currency to be used when processing or reporting on this record + i.C_Currency_ID + Currency + I_C_Currency_ID + The Currency for this record + 70431 + 0 + 0 + WHH + 100 + 50158 + 3505 + 100 + + + + + false + Currency + 70431 + 0 + 0 + 100 + es_MX + 100 + de0bd5a7-ddef-4e79-a1fd-df9fad70c94d + 2020-09-21 10:25:28.697 + true + 2020-09-21 10:25:28.697 + The Currency for this record + + + + + + 2020-09-21 10:25:49.217 + true + 2020-09-21 10:25:49.217 + false + false + false + + + The Currency for this record + Indicates the Currency to be used when processing or reporting on this record + false + false + false + Currency + true + true + false + + + + + + + + false + 0 + 0 + WHH + 69590 + 10 + + 100 + 100 + + 193 + 70431 + + 19 + 50184 + + + 10 + 0 + 7721d90f-84c8-4744-abc1-12cd8070f3f3 + + + + + 0112f48f-b57e-4d80-b529-bb576dbbd813 + true + 2020-09-21 10:25:51.431 + 2020-09-21 10:25:51.431 + The Currency for this record + Indicates the Currency to be used when processing or reporting on this record + false + Currency + 0 + 0 + es_MX + 100 + 69590 + 100 + + + + + true + 30 + + + + + 40 + + + + + @$C_Currency_ID@ + + + + + true + + + + + 30 + + + + + 30 + + + + diff --git a/withholding_engine/xml/migration/036_Add_Source_Tax_To_Withholding_Generated.xml b/withholding_engine/xml/migration/036_Add_Source_Tax_To_Withholding_Generated.xml new file mode 100644 index 0000000000..a842ebe611 --- /dev/null +++ b/withholding_engine/xml/migration/036_Add_Source_Tax_To_Withholding_Generated.xml @@ -0,0 +1,163 @@ + + + + Add Invoice Source Tax to Withholding Generated Document + + + Tax identifier + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 213 + + + 10 + 19 + 100 + 63c8b153-8100-4cb1-9bfc-366bb2018e15 + + true + + true + + 2020-09-29 14:50:38.555 + + 2020-09-29 14:50:38.555 + + 96885 + false + Tax + false + false + + + false + false + N + false + + + + 0 + + C_Tax_ID + The Tax indicates the type of tax used in document line. + true + + false + N + + true + false + + + + + 2020-09-29 14:50:40.1 + true + 2020-09-29 14:50:40.1 + 96885 + false + Tax + 0 + 0 + 100 + 100 + es_MX + 43c24aee-6b53-40f6-9f60-53da34b32f1a + + + + + true + Tax + false + 2020-09-29 14:51:31.534 + false + + 2020-09-29 14:51:31.534 + + true + + false + true + Tax identifier + true + false + + true + The Tax indicates the type of tax used in document line. + + + + + + false + false + + + + false + 0 + 0 + 99419 + WHH + 100 + 100 + 0 + + 96885 + + 0 + 10 + 54813 + + 19402fae-40f6-4149-8002-051432358f79 + + + + + true + 2020-09-29 14:51:33.157 + 2020-09-29 14:51:33.157 + 0 + Tax identifier + false + Tax + The Tax indicates the type of tax used in document line. + 0 + 99419 + 100 + 100 + es_MX + b14c73b2-07eb-41f6-b8ea-d968aae9db91 + + + + + 240 + + + + + 250 + + + + + 260 + + + + + 270 + + + + diff --git a/withholding_engine/xml/migration/037_Add_Description_Generated_Withholding_Browse.xml b/withholding_engine/xml/migration/037_Add_Description_Generated_Withholding_Browse.xml new file mode 100644 index 0000000000..99cd0a7317 --- /dev/null +++ b/withholding_engine/xml/migration/037_Add_Description_Generated_Withholding_Browse.xml @@ -0,0 +1,62 @@ + + + + Add Withholding Description to Generated Withholding Smart Browse + + + 0 + + + + + 0 + + + + + 0 + + + + + 60 + true + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 130 + + + + diff --git a/withholding_engine/xml/migration/038_Add_Relation_Type_for_Withholding_Order_Log.xml b/withholding_engine/xml/migration/038_Add_Relation_Type_for_Withholding_Order_Log.xml new file mode 100644 index 0000000000..4ccf2218c3 --- /dev/null +++ b/withholding_engine/xml/migration/038_Add_Relation_Type_for_Withholding_Order_Log.xml @@ -0,0 +1,159 @@ + + + + Add Relation Type for Withholding Order Log + + + true + 2020-09-29 18:23:42.229 + T + + false + + RelType C_Order => WH_Log_ID Withholding Log + Withholding Log <= Order + 54234 + 0 + 0 + WHH + 100 + 100 + 7f2bc92e-fe79-4e29-b76d-5ed6e15f8db4 + 2020-09-29 18:23:42.229 + + + + + RelType C_Order => WH_Log_ID Withholding Log + + true + 2020-09-29 18:23:42.871 + 2020-09-29 18:23:42.871 + 100 + false + Withholding Log <= Order + 0 + 0 + 100 + es_MX + 54234 + 6629fc48-0480-4eb3-93fb-482ab4db0099 + + + + + 2020-09-29 18:24:39.647 + 2020-09-29 18:24:39.647 + true + + false + WH_Log.SourceOrder_ID = @C_Order_ID@ + false + + false + 93678 + WHH + 0 + 0 + 54651 + + 93676 + 54234 + 100 + 100 + d12ec499-268a-4c6d-b5f8-7a5ea8ac66e3 + + + + + 2020-09-29 18:27:46.187 + T + + false + + RelType C_Order <= WH_Log_ID + Withholding Log to Order + 54235 + 0 + 0 + WHH + 100 + 100 + bcdea250-563f-4b90-ab04-c5199fd48ac7 + true + 2020-09-29 18:27:46.187 + + + + + RelType C_Order <= WH_Log_ID + + true + 2020-09-29 18:27:46.844 + 2020-09-29 18:27:46.844 + 100 + false + Withholding Log to Order + 0 + 0 + 100 + es_MX + 54235 + dac7f67d-9e06-4133-b0b8-1032dd74cd42 + + + + + 2020-09-29 18:30:42.444 + 2020-09-29 18:30:42.444 + true + + false + EXISTS(SELECT 1 FROM WH_Log l + WHERE l.WH_Log_ID = @WH_Log_ID@ + AND l.SourceOrden_ID = C_Order.C_Order_ID) +AND C_Order.IsSOTrx = 'N' + false + + false + 2169 + WHH + 0 + 0 + 259 + 181 + 2161 + 54235 + 100 + 100 + 6f152f7d-0828-432e-b420-0c990dce364b + + + + + + Order (Purchase / Sales) <-> Withholding Log + 54234 + 54235 + false + WithholdingLog + Order + 0 + 0 + 50066 + 100 + 100 + e81f6e81-ca7a-4027-ba47-3b7726e8f545 + I + 2020-09-29 18:31:15.34 + true + 2020-09-29 18:31:15.34 + + + + + Order (Purchase) <-> Withholding Log + + + + diff --git a/withholding_engine/xml/migration/039_Add_Relation_Type_for_Withholding_Generated_Order.xml b/withholding_engine/xml/migration/039_Add_Relation_Type_for_Withholding_Generated_Order.xml new file mode 100644 index 0000000000..298283305e --- /dev/null +++ b/withholding_engine/xml/migration/039_Add_Relation_Type_for_Withholding_Generated_Order.xml @@ -0,0 +1,154 @@ + + + + Add Relation Type for Withholding Generated Order + + + 2020-09-30 10:43:01.071 + true + 2020-09-30 10:43:01.071 + T + + false + + RelType C_Order (Vendor) => WH_Withholding_ID Withholding + Withholding - Order + 54236 + 0 + 0 + WHH + 100 + 100 + 351452ca-fa54-4bbc-9917-ca48a8d8d638 + + + + + RelType C_Order (Vendor) => WH_Withholding_ID Withholding + + true + 2020-09-30 10:43:02.009 + 2020-09-30 10:43:02.009 + 100 + false + Withholding - Order + 0 + 0 + 100 + es_MX + 54236 + cce8fef9-ecf2-4228-a49e-3b959a918055 + + + + + false + 2020-09-30 10:43:51.186 + 2020-09-30 10:43:51.186 + true + + false + WH_Withholding.SourceOrder_ID = @C_Order_ID@ + false + + 93598 + WHH + 0 + 0 + 54647 + + 93609 + 54236 + 100 + 100 + 5a8a4206-ffe5-4ddb-a76c-96a0c23a33b0 + + + + + 2020-09-30 10:45:03.037 + true + 2020-09-30 10:45:03.037 + T + + false + + RelType C_Order (Vendor) <= WH_Withholding_ID + Withholding Generated to Order + 54237 + 0 + 0 + WHH + 100 + 100 + 57ec2936-86d6-4d07-be30-083302e96629 + + + + + RelType C_Order (Vendor) <= WH_Withholding_ID + + true + 2020-09-30 10:45:03.767 + 2020-09-30 10:45:03.767 + 100 + false + Withholding Generated to Order + 0 + 0 + 100 + es_MX + 54237 + 542d88fe-dbd8-4645-bc1b-9be3e9cf807d + + + + + 2020-09-30 10:46:13.439 + 2020-09-30 10:46:13.439 + true + + false + EXISTS(SELECT 1 FROM WH_Withholding l + WHERE l.WH_Withholding_ID = @WH_Withholding_ID@ + AND l.SourceOrder_ID = C_Order.C_Order_ID) +AND C_Order.IsSOTrx = 'N' + false + + false + 2169 + WHH + 0 + 0 + 259 + + 2161 + 54237 + 100 + 100 + 62e44993-1b12-4ad0-85f5-e6477c6a0d70 + + + + + + I + 2020-09-30 10:46:24.593 + true + 2020-09-30 10:46:24.593 + Purchase Order <-> Withholding Generated + 54236 + 54237 + false + WithholdingGenerated + Invoice + 0 + 0 + 50067 + 100 + 100 + 6ba0db96-f186-4922-a78e-93d3ffca0cf2 + + + + diff --git a/withholding_engine/xml/migration/040_Add_Order_Source_to_Withholding_Logs.xml b/withholding_engine/xml/migration/040_Add_Order_Source_to_Withholding_Logs.xml new file mode 100644 index 0000000000..72ab8b4fd7 --- /dev/null +++ b/withholding_engine/xml/migration/040_Add_Order_Source_to_Withholding_Logs.xml @@ -0,0 +1,201 @@ + + + + Add Order Source to Withholding Logs + + + + + 54651 + 100 + 61146 + 290 + + 10 + 18 + 100 + 08fd0ecf-208b-413c-bde9-31663ee31df1 + + true + + true + + 2020-09-30 10:48:48.986 + + 2020-09-30 10:48:48.986 + + 96887 + false + Source Order + false + false + + + false + false + N + false + + + + 0 + + SourceOrder_ID + + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + + + + 2020-09-30 10:48:50.577 + true + 2020-09-30 10:48:50.577 + 96887 + false + Source Order + 0 + 0 + 100 + 100 + es_MX + ec5a525e-a286-412a-bdde-d69b01e19460 + + + + + 53675 + + + + + false + Source Order + false + 2020-09-30 10:49:28.988 + false + + 2020-09-30 10:49:28.988 + + true + + false + true + + true + false + + true + + + + + + + true + false + false + + + + 0 + 0 + 99420 + WHH + 100 + 100 + 0 + + 96887 + + 0 + 10 + 54818 + + 69423c24-66ed-49b1-a4b0-6184b812bdbb + + + + + true + 2020-09-30 10:49:30.77 + 2020-09-30 10:49:30.77 + 0 + + false + Source Order + + 0 + 99420 + 100 + 100 + es_MX + e4b9b2e3-022c-497f-bde1-342d0135af2c + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 30 + + + + + 30 + true + SourceOrderLine_ID + + + + + 30 + true + SourceOrder_ID + + + + + 30 + true + C_Invoice_ID + + + + + 30 + true + C_InvoiceLine_ID + + + + diff --git a/withholding_engine/xml/migration/041_Add_Validation_For_Document_Types_Subject_to_Withholding.xml b/withholding_engine/xml/migration/041_Add_Validation_For_Document_Types_Subject_to_Withholding.xml new file mode 100644 index 0000000000..3b6c94444e --- /dev/null +++ b/withholding_engine/xml/migration/041_Add_Validation_For_Document_Types_Subject_to_Withholding.xml @@ -0,0 +1,29 @@ + + + + Add Validation For Document Types Subject to Withholding + + + true + S + C_DocType.DocBaseType IN ('ARI', 'API','ARC','APC','POO') + 2020-09-30 12:20:19.758 + 2020-09-30 12:20:19.758 + C_DocType Subject to Withholding + Document Type Subject to Withholding + 0 + 0 + 52818 + U + 100 + 100 + 93dc9d86-adf8-4a2f-a49e-5d71bdc9d659 + + + + + 52818 + + + + diff --git a/withholding_engine/xml/migration/042_Add_Setup_for_Withholding.xml b/withholding_engine/xml/migration/042_Add_Setup_for_Withholding.xml new file mode 100644 index 0000000000..e60f573c15 --- /dev/null +++ b/withholding_engine/xml/migration/042_Add_Setup_for_Withholding.xml @@ -0,0 +1,23 @@ + + + + + + 2021-01-20 10:02:44.492 + 0 + 0 + 50015 + org.spin.withholding.setup.Deploy + 100 + + WHH + + true + Withholding Deployment + 2021-01-20 10:02:44.492 + 100 + 24c115b5-9bce-45af-a729-a05781ea1ce8 + + + + diff --git a/withholding_engine/xml/migration/043_Add_Currency_Type_Filter_Withholding_Generate.xml b/withholding_engine/xml/migration/043_Add_Currency_Type_Filter_Withholding_Generate.xml new file mode 100644 index 0000000000..84156238f8 --- /dev/null +++ b/withholding_engine/xml/migration/043_Add_Currency_Type_Filter_Withholding_Generate.xml @@ -0,0 +1,127 @@ + + + + Add Currency Type Filter on Withhollding Generate + + + 11effe91-dded-4e88-8b1c-8967679f37da + true + 2021-05-28 12:30:34.807 + 2021-05-28 12:30:34.807 + 50518 + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + i.C_ConversionType_ID + C_ConversionType_ID + I_C_ConversionType_ID + Currency Conversion Rate Type + 71516 + 0 + 0 + WHH + 100 + 50155 + 10264 + 100 + + + + + 2021-05-28 12:30:35.922 + es_MX + 100 + 3b6cd578-d290-433e-8a3f-37b9a0d19421 + true + 2021-05-28 12:30:35.922 + Currency Conversion Rate Type + + false + C_ConversionType_ID + 71516 + 0 + 0 + 100 + + + + + 2021-05-28 13:56:36.357 + true + 2021-05-28 13:56:36.357 + false + true + false + + + Currency Conversion Rate Type + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + false + false + false + Currency Type + true + true + false + + + + + + + + false + 0 + 0 + WHH + 71875 + 0 + + 100 + 100 + + 2278 + 71516 + + 19 + 50181 + + 0 + 0 + 0 + da2a82ed-fdad-48c0-bfad-3a6cafebd03c + + + + + 4dedfc86-5121-4878-bdb6-1fbbf1609383 + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + false + Currency Type + 0 + 0 + es_MX + 100 + 71875 + 100 + true + 2021-05-28 13:56:37.657 + 2021-05-28 13:56:37.657 + Currency Conversion Rate Type + + + + + 100 + + + + + @I_C_Currency_ID@!@CTO_C_Currency_ID_To@ + + + + + true + + + + diff --git a/withholding_engine/xml/migration/044_Add_Manual_Document_Filter_on_Declaration_Smart_Browser.xml b/withholding_engine/xml/migration/044_Add_Manual_Document_Filter_on_Declaration_Smart_Browser.xml new file mode 100644 index 0000000000..444ffe4b12 --- /dev/null +++ b/withholding_engine/xml/migration/044_Add_Manual_Document_Filter_on_Declaration_Smart_Browser.xml @@ -0,0 +1,131 @@ + + + + Add Manual Document Filter on Declaration Smart Browser + + + cc405f18-c3de-4fbf-8a56-77d1d2a8fe27 + true + 2021-06-25 09:46:51.82 + 2021-06-25 09:46:51.82 + 50437 + The Manual check box indicates if the process will done manually. + wh.IsManual + Manual + WH_IsManual + This is a manual process + 71517 + 0 + 0 + WHH + 100 + 50158 + 94527 + 100 + + + + + 2021-06-25 09:46:53.839 + true + 2021-06-25 09:46:53.839 + This is a manual process + + false + Manual + 71517 + 0 + 0 + 100 + es_MX + 100 + e575c8d8-b8bf-4122-a6dc-b338dfee1e4e + + + + + Éste es un proceso manual. + 71517 + es_MX + + + + + 2021-06-25 09:49:25.261 + true + 2021-06-25 09:49:25.261 + false + true + false + N + + This is a manual process + + false + false + false + Manual + false + true + false + + + + + + + + false + 0 + 0 + WHH + 71876 + 0 + + 100 + 100 + + 1474 + 71517 + + 20 + 50184 + + 0 + 0 + 0 + 3cbf2dfc-92e7-482a-b4c7-683912bd31cf + + + + + 7722c7a2-53e8-48c2-b224-bdf4d99ae0e4 + 71876 + 100 + true + 2021-06-25 09:49:26.813 + 2021-06-25 09:49:26.813 + This is a manual process + + false + Manual + 0 + 0 + es_MX + 100 + + + + + Éste es un proceso manual. + es_MX + 71876 + + + + + 50 + + + + diff --git a/withholding_engine/xml/migration/045_Add_Support_to_Currency_on_Withholding_Document.xml b/withholding_engine/xml/migration/045_Add_Support_to_Currency_on_Withholding_Document.xml new file mode 100644 index 0000000000..d9cd3a1f0d --- /dev/null +++ b/withholding_engine/xml/migration/045_Add_Support_to_Currency_on_Withholding_Document.xml @@ -0,0 +1,265 @@ + + + + + + The Currency for this record + true + + 2022-03-25 12:12:23.383 + + 2022-03-25 12:12:23.383 + + 99919 + + + false + Currency + false + false + false + false + N + false + + + + C_Currency_ID + 0 + + Indicates the Currency to be used when processing or reporting on this record + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 193 + 10 + + + 19 + 100 + 037c7ddc-5e7b-4dec-a379-afddf9c680ae + + + + + + 2022-03-25 12:12:30.44 + 99919 + false + Currency + 0 + 0 + 100 + 100 + es_MX + cfee7fad-c9cc-427b-aa85-1c616faf6007 + true + 2022-03-25 12:12:30.44 + + + + + 0 + 54813 + + 36a2e01e-c509-4290-90fa-8c3d00bd6e3a + Currency + false + 2022-03-25 12:13:11.92 + false + + 2022-03-25 12:13:11.92 + + true + + true + false + The Currency for this record + true + false + 0 + true + Indicates the Currency to be used when processing or reporting on this record + + + + + 0 + true + false + false + + + + false + 0 + 0 + 102118 + WHH + 100 + 100 + 280 + + 99919 + + 280 + + + + + 2022-03-25 12:13:19.092 + true + 2022-03-25 12:13:19.092 + 0 + The Currency for this record + false + Currency + Indicates the Currency to be used when processing or reporting on this record + 0 + 102118 + 100 + 100 + es_MX + fbb0088e-fd69-4040-95ad-1f124b131938 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 170 + + + + + 180 + + + + + 190 + + + + + 200 + + + + + 210 + + + + + 220 + + + + + 230 + + + + + 240 + + + + + 250 + + + + + 260 + + + + + 270 + + + + + 280 + + + + + true + + + + + false + + + + + true + + + + + false + + + + + true + + + + + false + + + + diff --git a/withholding_engine/xml/migration/046_Set_Currency_on_Withholding.xml b/withholding_engine/xml/migration/046_Set_Currency_on_Withholding.xml new file mode 100644 index 0000000000..4902cb8a6f --- /dev/null +++ b/withholding_engine/xml/migration/046_Set_Currency_on_Withholding.xml @@ -0,0 +1,16 @@ + + + + + Update Currency From Source Invoice + UPDATE WH_Withholding SET C_Currency_ID = invoice.C_Currency_ID FROM C_Invoice invoice WHERE WH_Withholding.C_Currency_ID IS NULL AND WH_Withholding.SourceInvoice_ID = invoice.C_Invoice_ID; + UPDATE WH_Withholding SET C_Currency_ID = NULL ; + + + Update Currency From Source Order + + UPDATE WH_Withholding SET C_Currency_ID = o.C_Currency_ID FROM C_Order o WHERE WH_Withholding.C_Currency_ID IS NULL AND WH_Withholding.SourceOrder_ID = o.C_Order_ID; + UPDATE WH_Withholding SET C_Currency_ID = NULL ; + + + diff --git a/withholding_engine/xml/migration/047_Change_Currency_on_SB_Generate_Withholding.xml b/withholding_engine/xml/migration/047_Change_Currency_on_SB_Generate_Withholding.xml new file mode 100644 index 0000000000..f757493ff0 --- /dev/null +++ b/withholding_engine/xml/migration/047_Change_Currency_on_SB_Generate_Withholding.xml @@ -0,0 +1,50 @@ + + + + + + 4435613d-ad55-4b1c-8d23-5d0e6cdf5e52 + true + 2022-04-05 12:26:21.48 + 2022-04-05 12:26:21.48 + 50429 + Indicates the Currency to be used when processing or reporting on this record + wh.C_Currency_ID + Currency + WH_C_Currency_ID + The Currency for this record + 72852 + 0 + 0 + WHH + 100 + 50155 + 99919 + 100 + + + + + 2022-04-05 12:26:28.39 + true + 2022-04-05 12:26:28.39 + The Currency for this record + + false + Currency + 72852 + 0 + 0 + 100 + es_MX + 100 + 95526e5c-dbd3-4deb-85a6-e4d1b6a4a631 + + + + + 72852 + + + + diff --git a/withholding_engine/xml/migration/048_Change_Doc_Type_Validation_on_Withholding_Definition_Line.xml b/withholding_engine/xml/migration/048_Change_Doc_Type_Validation_on_Withholding_Definition_Line.xml new file mode 100644 index 0000000000..a1a72bf2a1 --- /dev/null +++ b/withholding_engine/xml/migration/048_Change_Doc_Type_Validation_on_Withholding_Definition_Line.xml @@ -0,0 +1,15 @@ + + + + + + WHH + + + + + C_DocType.DocBaseType IN ('ARI', 'API','ARC','APC','POO', 'ARR', 'APP') + + + + diff --git a/withholding_engine/xml/migration/049_Add_Currency_Type_on_Withholding.xml b/withholding_engine/xml/migration/049_Add_Currency_Type_on_Withholding.xml new file mode 100644 index 0000000000..6e4ce6d037 --- /dev/null +++ b/withholding_engine/xml/migration/049_Add_Currency_Type_on_Withholding.xml @@ -0,0 +1,255 @@ + + + + + + Currency Conversion Rate Type + true + + 2022-05-16 10:18:35.719 + + 2022-05-16 10:18:35.719 + + 99958 + false + Currency Type + false + false + + + false + false + N + false + + + + 0 + + C_ConversionType_ID + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 2278 + + + 10 + 19 + 100 + 704c256f-fa0c-46f6-b51f-7732f6b08d71 + + + + + + 2022-05-16 10:18:44.215 + true + 2022-05-16 10:18:44.215 + 99958 + false + Currency Type + 0 + 0 + 100 + 100 + es_MX + 56ba03c0-3dc8-4fd7-b75e-37d3ab04eb35 + + + + + 30 + + + + + -1 + + + + + + + + + 0 + true + false + false + + + + false + 0 + 0 + 102133 + WHH + 100 + 100 + 290 + + 99958 + + 290 + 0 + 54813 + + 0a506f7a-aaf0-4702-9051-4326a4374b01 + Currency Type + false + 2022-05-16 10:21:11.4 + false + + 2022-05-16 10:21:11.4 + + true + + false + true + Currency Conversion Rate Type + true + false + 0 + true + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + + + + + true + 2022-05-16 10:21:17.813 + 2022-05-16 10:21:17.813 + 0 + Currency Conversion Rate Type + false + Currency Type + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + 0 + 102133 + 100 + 100 + es_MX + f2a45e73-f100-476d-954d-3a7656891929 + + + + + 110 + + + + + 120 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 170 + + + + + 180 + + + + + 190 + + + + + 200 + + + + + 210 + + + + + 220 + + + + + 230 + + + + + 240 + + + + + 250 + + + + + 260 + + + + + 270 + + + + + 280 + + + + + 290 + + + + + true + + + + + false + + + + diff --git a/withholding_engine/xml/migration/050_Set_Currency_Type_on_Withholding.xml b/withholding_engine/xml/migration/050_Set_Currency_Type_on_Withholding.xml new file mode 100644 index 0000000000..4e6c08990e --- /dev/null +++ b/withholding_engine/xml/migration/050_Set_Currency_Type_on_Withholding.xml @@ -0,0 +1,22 @@ + + + + Set Currency Type on Withholding + + Update Currency Type From Source Invoice + UPDATE WH_Withholding SET C_ConversionType_ID = invoice.C_ConversionType_ID FROM C_Invoice invoice WHERE WH_Withholding.C_ConversionType_ID IS NULL AND WH_Withholding.SourceInvoice_ID = invoice.C_Invoice_ID; + UPDATE WH_Withholding SET C_ConversionType_ID = NULL WHERE SourceInvoice_ID IS NOT NULL; + + + Update Currency Type From Source Order + + UPDATE WH_Withholding SET C_ConversionType_ID = o.C_ConversionType_ID FROM C_Order o WHERE WH_Withholding.C_ConversionType_ID IS NULL AND WH_Withholding.SourceOrder_ID = o.C_Order_ID; + UPDATE WH_Withholding SET C_ConversionType_ID = NULL WHERE SourceOrder_ID IS NOT NULL; + + + Update Currency Type From Default Currency Type + UPDATE WH_Withholding SET C_ConversionType_ID = currencyType.C_ConversionType_ID FROM (SELECT AD_Client_ID,C_ConversionType_ID FROM C_ConversionType WHERE IsActive = 'Y' AND IsDefault = 'Y') AS currencyType WHERE WH_Withholding.C_ConversionType_ID IS NULL AND currencyType.AD_Client_ID = WH_Withholding.AD_Client_ID; + UPDATE WH_Withholding SET C_ConversionType_ID = NULL; + + + diff --git a/withholding_engine/xml/migration/051_Change_Currency_Type_on_SB_Generate_Withholding.xml b/withholding_engine/xml/migration/051_Change_Currency_Type_on_SB_Generate_Withholding.xml new file mode 100644 index 0000000000..0145877187 --- /dev/null +++ b/withholding_engine/xml/migration/051_Change_Currency_Type_on_SB_Generate_Withholding.xml @@ -0,0 +1,114 @@ + + + + Change Currency Type on SB Generate Withholding + + + 4c0538cf-dc3c-4b9a-a75e-23be27a5f811 + true + 2022-05-16 10:51:21.199 + 2022-05-16 10:51:21.199 + 50429 + The Currency Conversion Rate Type lets you define different type of rates, e.g. Spot, Corporate and/or Sell/Buy rates. + wh.C_ConversionType_ID + Currency Type + WH_C_ConversionType_ID + Currency Conversion Rate Type + 72853 + 0 + 0 + WHH + 100 + 50155 + 99958 + 100 + + + + + 2022-05-16 10:51:28.002 + true + 2022-05-16 10:51:28.002 + Currency Conversion Rate Type + + false + Currency Type + 72853 + 0 + 0 + 100 + es_MX + 100 + 508d9f06-226c-4683-9b41-7a538ed2b3d6 + + + + + 72853 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/withholding_engine/xml/migration/052_Add_some_columns_to_Withholding.xml b/withholding_engine/xml/migration/052_Add_some_columns_to_Withholding.xml new file mode 100644 index 0000000000..8cbe16331d --- /dev/null +++ b/withholding_engine/xml/migration/052_Add_some_columns_to_Withholding.xml @@ -0,0 +1,574 @@ + + + + Add these columns to Withholding: +- DateAcct +- C_BPartner_Location_ID +- IsSOTrx + + + Accounting Date + true + + 2022-05-19 17:04:01.495 + + 2022-05-19 17:04:01.495 + + 99959 + false + Account Date + false + false + + + false + false + N + false + + + + 0 + + DateAcct + The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 263 + + + 0 + 15 + 100 + 1a7f3bdc-f774-40ab-9a67-882d61035f0e + + + + + + 99959 + 2022-05-19 17:04:09.773 + true + 2022-05-19 17:04:09.773 + false + Account Date + 0 + 0 + 100 + 100 + es_MX + 831bfb6b-d320-4fac-bf9d-acae7e29eb18 + + + + + This is a Sales Transaction + 1 + 20 + 100 + b1304f04-faef-49e9-83be-af2e9239bb57 + + true + + 2022-05-19 17:04:36.511 + + 2022-05-19 17:04:36.511 + + 99960 + false + Sales Transaction + false + false + + + false + false + N + false + + + + 0 + + IsSOTrx + The Sales Transaction checkbox indicates if this item is a Sales Transaction. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 1106 + + + + + + + 2022-05-19 17:04:38.848 + true + 2022-05-19 17:04:38.848 + 99960 + false + Sales Transaction + 0 + 0 + 100 + 100 + es_MX + 10a7fcdf-a695-4543-9b27-8cc7d829d1bb + + + + + Identifies the (ship to) address for this Business Partner + true + + 2022-05-19 17:05:39.011 + + 2022-05-19 17:05:39.011 + + 99961 + false + Partner Location + false + false + + + false + false + N + false + + + + 0 + + C_BPartner_Location_ID + The Partner address indicates the location of a Business Partner + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54647 + 100 + 189 + + + 10 + 30 + 100 + 2eff9c1d-d25b-49f1-8f86-18fd1789af00 + + + + + + 99961 + false + Partner Location + 0 + 0 + 100 + 100 + es_MX + f8a07e27-d22b-4cca-ad84-fe4c801ff076 + 2022-05-19 17:05:46.264 + true + 2022-05-19 17:05:46.264 + + + + + 131 + + + + + e676838d-928e-4a32-b711-a3a406cbf951 + Account Date + false + 2022-05-19 17:11:18.658 + false + + 2022-05-19 17:11:18.658 + + true + + false + true + Accounting Date + true + false + 0 + true + The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion. + + + + + 0 + true + false + false + + + + false + 0 + 0 + 102146 + WHH + 100 + 100 + 300 + + 99959 + + 300 + 0 + 54813 + + + + + + true + 2022-05-19 17:11:27.063 + 2022-05-19 17:11:27.063 + 0 + Accounting Date + false + Account Date + The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion. + 0 + 102146 + 100 + 100 + es_MX + 2a21a779-a4bf-41a6-9c25-74bccd2097b1 + + + + + Partner Location + 99961 + + 310 + 0 + 54813 + + 195905aa-0441-438c-8beb-d0e0545882fe + false + 2022-05-19 17:11:41.27 + false + + 2022-05-19 17:11:41.27 + + true + + false + true + Identifies the (ship to) address for this Business Partner + true + false + 0 + true + The Partner address indicates the location of a Business Partner + + + + + 0 + true + false + false + + + + false + 0 + 0 + 102147 + WHH + 100 + 100 + 310 + + + + + + true + 2022-05-19 17:11:42.71 + 2022-05-19 17:11:42.71 + 0 + Identifies the (ship to) address for this Business Partner + false + Partner Location + The Partner address indicates the location of a Business Partner + 0 + 102147 + 100 + 100 + es_MX + 17ff62af-1ec6-442b-8177-127be82fa270 + + + + + 102148 + Sales Transaction + false + 2022-05-19 17:11:50.97 + false + + 2022-05-19 17:11:50.97 + + true + + false + true + This is a Sales Transaction + true + false + 0 + true + The Sales Transaction checkbox indicates if this item is a Sales Transaction. + + + + + 0 + true + false + false + + + + false + 0 + 0 + WHH + 100 + 100 + 320 + + 99960 + + 320 + 0 + 54813 + + 7cc17f56-a4c6-4803-a7f5-053dbc32ac9f + + + + + true + 2022-05-19 17:11:53.043 + 2022-05-19 17:11:53.043 + 0 + This is a Sales Transaction + false + Sales Transaction + The Sales Transaction checkbox indicates if this item is a Sales Transaction. + 0 + 102148 + 100 + 100 + es_MX + 3f3f0a4d-d189-47ee-9af4-939cd887817b + + + + + 60 + + + + + 70 + + + + + 80 + + + + + 90 + + + + + 100 + + + + + 110 + + + + + 120 + + + + + 130 + + + + + 140 + + + + + 150 + + + + + 160 + + + + + 170 + + + + + 180 + + + + + 190 + + + + + 200 + + + + + 210 + + + + + 220 + + + + + 230 + + + + + 240 + + + + + 250 + + + + + 260 + + + + + 270 + + + + + 280 + + + + + 290 + + + + + 300 + + + + + 310 + + + + + 320 + + + + + true + + + + + false + + + + + true + + + + + true + + + + diff --git a/withholding_engine/xml/migration/053_Changed_Converted_Columns_for_SB_Generate_Withholding.xml b/withholding_engine/xml/migration/053_Changed_Converted_Columns_for_SB_Generate_Withholding.xml new file mode 100644 index 0000000000..fd96d7aac6 --- /dev/null +++ b/withholding_engine/xml/migration/053_Changed_Converted_Columns_for_SB_Generate_Withholding.xml @@ -0,0 +1,22 @@ + + + + + + COALESCE(CurrenCyconvert(wh.A_Base_Amount, wh.C_Currency_ID, cto.C_Currency_ID, wh.DateAcct, wh.C_ConversionType_ID, wh.AD_Client_ID, wh.AD_Org_ID),0) + + + + + COALESCE(CurrenCyconvert(wh.WithholdingAmt, wh.C_Currency_ID, cto.C_Currency_ID, wh.DateAcct, wh.C_ConversionType_ID, wh.AD_Client_ID, wh.AD_Org_ID),0) + + + + + false + false + + + + + diff --git a/withholding_engine/xml/migration/054_Update_Columns_From_Source_Document.xml b/withholding_engine/xml/migration/054_Update_Columns_From_Source_Document.xml new file mode 100644 index 0000000000..2e2ebfea28 --- /dev/null +++ b/withholding_engine/xml/migration/054_Update_Columns_From_Source_Document.xml @@ -0,0 +1,39 @@ + + + + Update from Document the next Columns: +- DateAcct +- IsSOTrx +- C_BPartner_Location_ID + + Update DateAcct From Invoice + UPDATE WH_Withholding SET DateAcct = invoice.DateAcct FROM C_Invoice invoice WHERE WH_Withholding.DateAcct IS NULL AND WH_Withholding.SourceInvoice_ID = invoice.C_Invoice_ID; + UPDATE WH_Withholding SET DateAcct = NULL WHERE SourceInvoice_ID IS NOT NULL; + + + Update IsSOTrx From Invoice + UPDATE WH_Withholding SET IsSOTrx = invoice.IsSOTrx FROM C_Invoice invoice WHERE WH_Withholding.IsSOTrx IS NULL AND WH_Withholding.SourceInvoice_ID = invoice.C_Invoice_ID; + UPDATE WH_Withholding SET IsSOTrx = NULL WHERE SourceInvoice_ID IS NOT NULL; + + + Update C_BPartner_Location_ID From Invoice + UPDATE WH_Withholding SET C_BPartner_Location_ID = invoice.C_BPartner_Location_ID FROM C_Invoice invoice WHERE WH_Withholding.C_BPartner_Location_ID IS NULL AND WH_Withholding.SourceInvoice_ID = invoice.C_Invoice_ID; + UPDATE WH_Withholding SET C_BPartner_Location_ID = NULL WHERE SourceInvoice_ID IS NOT NULL; + + + Update DateAcct From Order + UPDATE WH_Withholding SET DateAcct = o.DateAcct FROM C_Order o WHERE WH_Withholding.DateAcct IS NULL AND WH_Withholding.SourceOrder_ID = o.C_Order_ID; + UPDATE WH_Withholding SET DateAcct = NULL WHERE SourceOrder_ID IS NOT NULL; + + + Update IsSOTrx From Order + UPDATE WH_Withholding SET IsSOTrx = o.IsSOTrx FROM C_Order o WHERE WH_Withholding.IsSOTrx IS NULL AND WH_Withholding.SourceOrder_ID = o.C_Order_ID; + UPDATE WH_Withholding SET IsSOTrx = NULL WHERE SourceOrder_ID IS NOT NULL; + + + Update C_BPartner_Location_ID From Order + UPDATE WH_Withholding SET C_BPartner_Location_ID = o.C_BPartner_Location_ID FROM C_Order o WHERE WH_Withholding.C_BPartner_Location_ID IS NULL AND WH_Withholding.SourceOrder_ID = o.C_Order_ID; + UPDATE WH_Withholding SET C_BPartner_Location_ID = NULL WHERE SourceOrder_ID IS NOT NULL; + + + diff --git a/withholding_engine/xml/migration/055_Add_withholding_type_for_payment_method.xml b/withholding_engine/xml/migration/055_Add_withholding_type_for_payment_method.xml new file mode 100644 index 0000000000..6049f61157 --- /dev/null +++ b/withholding_engine/xml/migration/055_Add_withholding_type_for_payment_method.xml @@ -0,0 +1,142 @@ + + + + + + + 0 + + + 3dfee631-5f84-4311-b53c-fcd0440b1c96 + 100 + 2022-08-25 11:44:52.273 + 0 + true + + + Withholding Type + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + In the window the types of existing national tax withholdings are indicated. + + 10 + ECA12 + Indicates the types of national tax withholdings + + 100 + 2022-08-25 11:44:52.272 + + WH_Type_ID + + + 54777 + + 19 + + 0 + + 61056 + 100066 + 0 + + + + + + 86cb19d1-5808-4338-aa09-0b2d5347cb03 + 100 + 2022-08-25 11:44:53.586 + Withholding Type + false + true + 100 + 2022-08-25 11:44:53.586 + 0 + es_MX + 100066 + 0 + + + + + 7f17ff14-404f-4c25-a47a-a153d899f9d5 + 100 + 2022-08-25 11:45:58.399 + 0 + 80 + 80 + 0 + + Withholding Type + false + false + false + + false + false + false + false + true + true + true + true + true + + + In the window the types of existing national tax withholdings are indicated. + ECA12 + + 0 + Indicates the types of national tax withholdings + + 100 + 2022-08-25 11:45:58.399 + + 55014 + + + 0 + + 102244 + + + + 100066 + 0 + + + + + b064a2c9-1251-4dda-97f5-5f1c518fbab2 + 100 + 2022-08-25 11:45:59.628 + Withholding Type + false + true + In the window the types of existing national tax withholdings are indicated. + Indicates the types of national tax withholdings + 100 + 2022-08-25 11:45:59.628 + 0 + es_MX + 102244 + 0 + + + + diff --git a/withholding_engine/xml/migration/056_Add_withholding_exempt_for_payment_method.xml b/withholding_engine/xml/migration/056_Add_withholding_exempt_for_payment_method.xml new file mode 100644 index 0000000000..0bbfda052f --- /dev/null +++ b/withholding_engine/xml/migration/056_Add_withholding_exempt_for_payment_method.xml @@ -0,0 +1,211 @@ + + + + + + WHH + + + + + 4c5e4ce9-849f-4f1f-a7d0-bc11ec6ea6ad + 100 + 2022-08-29 00:46:58.386 + Withholding Exempt + + + + + Withholding Exempt + true + The documents or business partner flagged with this flag will not processed when running withholding + 1 + WHH + Withholding Exempt for this Vendor + 100 + 2022-08-29 00:46:58.386 + IsWithholdingExempt + + 20 + 0 + 62055 + 0 + + + + + 5ec1acfc-de86-4fd8-a470-9cb5bf4731ec + 100 + 2022-08-29 00:46:59.578 + Withholding Exempt + + + + + Withholding Exempt + false + true + The documents or business partner flagged with this flag will not processed when running withholding + Withholding Exempt for this Vendor + 100 + 2022-08-29 00:46:59.578 + 0 + es_MX + 62055 + 0 + + + + + No Aplica Retención + No Aplica Retención + Los documentos generados a partir de éste método de pago no aplicarán retención + No Aplica Retención para este método de pago + es_MX + 62055 + + + + + + 0 + + + 7ac4015d-a019-4c0d-aa70-cbf9b03b6191 + 100 + 2022-08-29 00:48:25.94 + 0 + true + + + Withholding Exempt + + true + false + N + true + false + false + false + false + false + N + false + false + true + true + true + + The documents or business partner flagged with this flag will not processed when running withholding + + 1 + ECA12 + Withholding Exempt for this Vendor + N + 100 + 2022-08-29 00:48:25.94 + + IsWithholdingExempt + + + 54777 + + 20 + + 0 + + 62055 + 100068 + 0 + + + + + + 5d7f9d97-d247-4adf-9e06-1378614c92a6 + 100 + 2022-08-29 00:48:27.323 + Withholding Exempt + false + true + 100 + 2022-08-29 00:48:27.323 + 0 + es_MX + 100068 + 0 + + + + + WHH + + + + + 56c5b4db-b78d-4cff-b6da-f5629e5d90f0 + 100 + 2022-08-29 00:48:43.244 + 0 + 90 + 90 + 0 + + Withholding Exempt + false + false + false + + false + false + false + false + true + true + true + true + true + + + The documents or business partner flagged with this flag will not processed when running withholding + WHH + + 0 + Withholding Exempt for this Vendor + + 100 + 2022-08-29 00:48:43.244 + + 55014 + + + 0 + + 102246 + + + + 100068 + 0 + + + + + c8950cc3-38f5-4d77-8055-c3eaf766ea6c + 100 + 2022-08-29 00:48:44.488 + Withholding Exempt + false + true + The documents or business partner flagged with this flag will not processed when running withholding + Withholding Exempt for this Vendor + 100 + 2022-08-29 00:48:44.488 + 0 + es_MX + 102246 + 0 + + + + diff --git a/withholding_engine/xml/migration/057_Add_Sales_Order_to_Document_Types_of_WH_Line.xml b/withholding_engine/xml/migration/057_Add_Sales_Order_to_Document_Types_of_WH_Line.xml new file mode 100644 index 0000000000..0937708254 --- /dev/null +++ b/withholding_engine/xml/migration/057_Add_Sales_Order_to_Document_Types_of_WH_Line.xml @@ -0,0 +1,10 @@ + + + + + + C_DocType.DocBaseType IN ('ARI', 'API','ARC','APC','POO', 'SOO', 'ARR', 'APP') + + + + diff --git a/withholding_engine/xml/migration/058_Add_Sing_Signature_and_Print_Format_to_Withholding_Type.xml b/withholding_engine/xml/migration/058_Add_Sing_Signature_and_Print_Format_to_Withholding_Type.xml new file mode 100644 index 0000000000..b9f508cec0 --- /dev/null +++ b/withholding_engine/xml/migration/058_Add_Sing_Signature_and_Print_Format_to_Withholding_Type.xml @@ -0,0 +1,541 @@ + + + + + + 2024-06-11 15:54:39.988 + true + Seal + + 2024-06-11 15:54:39.988 + WH_Seal_ID + + + + Seal + + + 10 + 32 + 62407 + 0 + 0 + WHH + 100 + + 100 + 3c91b251-6825-4a92-bea0-388086cd909e + + + + + 2024-06-11 15:54:46.102 + + true + 2024-06-11 15:54:46.102 + es_MX + + + Seal + + false + Seal + + + 0 + 0 + 100 + 100 + 62407 + fdab51ae-be2e-47a1-87fd-77a62c5e1228 + + + + + Sello + Sello + 62407 + es_MX + + + + + 2024-06-11 15:56:01.974 + true + Signature + + 2024-06-11 15:56:01.974 + WH_Signature_ID + + + + Signature + + + 10 + 32 + 62408 + 0 + 0 + WHH + 100 + + 100 + 16eb86ef-957e-4198-8f0f-c93b13b92727 + + + + + 2024-06-11 15:56:07.903 + + true + 2024-06-11 15:56:07.903 + es_MX + + + Signature + + false + Signature + + + 0 + 0 + 100 + 100 + 62408 + 19019549-4f51-4f46-abcb-370ffd1d3539 + + + + + Firma + Firma + 62408 + es_MX + + + + + + true + + 2024-06-11 15:57:41.188 + + 2024-06-11 15:57:41.188 + + 101522 + false + Seal + false + false + + + false + false + N + false + + + + 0 + + WH_Seal_ID + + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54648 + 100 + 62407 + + + 10 + 32 + 100 + 99af49e2-8f4b-4e63-85df-9f9355a2e695 + + true + + + + + + 2024-06-11 15:57:46.982 + true + 2024-06-11 15:57:46.982 + 101522 + false + Seal + 0 + 0 + 100 + 100 + es_MX + 7b0cc29b-d833-43cc-ad6b-fa5d46607e3a + + + + + + true + + 2024-06-11 15:57:51.335 + + 2024-06-11 15:57:51.335 + + 101523 + false + Signature + false + false + + + false + false + N + false + + + + 0 + + WH_Signature_ID + + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54648 + 100 + 62408 + + + 10 + 32 + 100 + 88e742f0-d097-40bf-986a-0adc33852cdc + + true + + + + + + 2024-06-11 15:57:52.091 + true + 2024-06-11 15:57:52.091 + 101523 + false + Signature + 0 + 0 + 100 + 100 + es_MX + c068c5ec-95cf-4ee5-a6b0-6e6d393fb622 + + + + + Data Print Format + true + + 2024-06-11 15:58:05.467 + + 2024-06-11 15:58:05.467 + + 101524 + false + Print Format + false + false + + + false + false + N + false + + + + 0 + + AD_PrintFormat_ID + The print format determines how data is rendered for print. + true + + false + N + + true + false + false + true + 0 + WHH + 0 + 0 + + 54648 + 100 + 1790 + + + 22 + 19 + 100 + e12578b4-088d-4a99-960e-c8449d813520 + + true + + + + + + 2024-06-11 15:58:06.488 + true + 2024-06-11 15:58:06.488 + 101524 + false + Print Format + 0 + 0 + 100 + 100 + es_MX + 022a4fed-c56d-45b3-8b3a-93a78dabc795 + + + + + 10 + 30 + + + + + false + false + Seal + false + 2024-06-11 16:00:27.992 + false + + 2024-06-11 16:00:27.992 + + true + + false + true + + true + false + 0 + true + + + + + + 0 + true + + + + false + 0 + 0 + 104216 + WHH + 100 + 100 + 130 + + 101522 + + 130 + 0 + 54814 + + 42216812-fdaa-4db5-93fc-05617b94c50f + + + + + true + 2024-06-11 16:00:33.704 + 2024-06-11 16:00:33.704 + 0 + + false + Seal + + 0 + 104216 + 100 + 100 + es_MX + 6f43f845-c807-4eb9-9934-91a55f12b025 + + + + + Signature + false + 2024-06-11 16:00:41.454 + false + + 2024-06-11 16:00:41.454 + + true + + false + true + + true + false + 0 + true + + + + + + 0 + true + false + false + + + + false + 0 + 0 + 104217 + WHH + 100 + 100 + 140 + + 101523 + + 140 + 0 + 54814 + + 177884cc-41fe-4030-b05c-5dd187d2e2e4 + + + + + true + 2024-06-11 16:00:42.115 + 2024-06-11 16:00:42.115 + 0 + + false + Signature + + 0 + 104217 + 100 + 100 + es_MX + 0c6247db-1c79-41b5-85e1-08559d26d1b1 + + + + + Print Format + false + 2024-06-11 16:00:53.278 + false + + 2024-06-11 16:00:53.279 + + true + + false + true + Data Print Format + true + false + 0 + true + The print format determines how data is rendered for print. + + + + + 0 + true + false + false + + + + false + 0 + 0 + 104218 + WHH + 100 + 100 + 150 + + 101524 + + 150 + 0 + 54814 + + fe49a772-322a-463e-99ed-a0c5801ba328 + + + + + true + 2024-06-11 16:00:53.897 + 2024-06-11 16:00:53.897 + 0 + Data Print Format + false + Print Format + The print format determines how data is rendered for print. + 0 + 104218 + 100 + 100 + es_MX + 11b0428e-ba70-44a2-add4-91efa7430e1f + + + + + true + + + + diff --git a/withholding_engine/xml/migration/059_Add_Support_to_Notification_to_Queue.xml b/withholding_engine/xml/migration/059_Add_Support_to_Notification_to_Queue.xml new file mode 100644 index 0000000000..ba75752875 --- /dev/null +++ b/withholding_engine/xml/migration/059_Add_Support_to_Notification_to_Queue.xml @@ -0,0 +1,176 @@ + + + + + + 100 + + 100 + c5242439-435e-4c9c-b3a5-d8089fc62a39 + 2024-09-10 10:39:05.866 + true + Send Withholding to Queue + + 2024-09-10 10:39:05.866 + WH_SendDocumentToQueue + + + + Send Withholding to Queue + + + 1 + 20 + 62460 + 0 + 0 + WHH + + + + + 2024-09-10 10:39:06.818 + + true + 2024-09-10 10:39:06.818 + es_MX + + + Send Withholding to Queue + + false + Send Withholding to Queue + + + 0 + 0 + 100 + 100 + 62460 + 66ef7843-9e7f-49cc-945b-19119c2dfd03 + + + + + es_MX + Envíar Retención a la Cola de Notificaciones + Envíar Retención a la Cola de Notificaciones + 62460 + + + + + Send Withholding to Notification Queue + Send Withholding to Notification Queue + + + + + 2024-09-10 10:42:40.261 + Send Withholding to Notification Queue + true + false + 2024-09-10 10:42:40.261 + false + + WH_SendDocumentToQueue + + + + true + + + + Y + + false + 59213 + 0 + 0 + WHH + 1 + 54363 + 100 + 20 + + 20 + 100 + + 62460 + 4e556a71-5780-4756-b44a-d2f0ad16f394 + + + + + 2024-09-10 10:42:48.098 + true + 2024-09-10 10:42:48.098 + Send Withholding to Notification Queue + false + + + 59213 + 0 + 0 + 100 + es_MX + 100 + f1aff7cc-7776-4ba0-a67e-4a66979717fc + + + + + 2024-09-10 10:58:20.124 + Send Withholding to Notification Queue + true + false + 2024-09-10 10:58:20.124 + false + + WH_SendDocumentToQueue + + + + true + + + + Y + + false + 59214 + 0 + 0 + WHH + 1 + 54362 + 100 + 20 + + 60 + 100 + + 62460 + 93aaa0b9-09f9-4772-831a-0641039d4672 + + + + + 2024-09-10 10:58:23.481 + true + 2024-09-10 10:58:23.481 + Send Withholding to Notification Queue + false + + + 59214 + 0 + 0 + 100 + es_MX + 100 + 33f12337-a9ff-46b4-96ed-72dbb17d5580 + + + +