Líne de producto: | Microsiga Protheus® |
---|---|
Segmento: | Servicios |
Módulo: | Fiscal |
02. DESCRIPCIÓN
Punto de entrada SPDFISBLCK para la generación del bloque K en el Sped Fiscal teniendo como premisa la creación de las tablas temporales en la Base de datos vía FWTemporaryTable().
El BLOQUE K se genera por el sistema considerando los movimientos de producción y stock, sin embargo, si las reglas del estándar no atiendan, o entonces, el usuario no tenga todos los movimientos necesarios en el sistema, podrá generar el BLOQUE K por medio del Punto de entrada SPDFISBLCK. Si SPDFISBLCK existiera, el procesamiento estándar del sistema con respecto al BLOCO K será desconsiderado automáticamente.
En el P.E SPDFISBLCK, deben crearse tablas temporales para los registros: 0210, K200, K210, K215, K220, K230, K235, K250, K255, K260, K265, K270, K275, K280, K290, K291, K292, K300, K301 y K302.
Dentro del P.E SPDFISBLCK, de acuerdo con las reglas del usuario, todas las 20 tablas descritas anteriormente, deben ser instanciadas (creadas) siempre, aunque no todas sean completadas, pues es con estas tablas creadas que la rutina estándar del SPED FISCAL generará el BLOQUE K. Para dicho funcionamiento, el P.E SPDFISBLCK debe devolver el ALIAS de cada una de las 20 tablas temporales creadas y posiblemente completadas.
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB | Array of Record | [01] = De Fecha [02] = A Fecha [03] = Tipo de layout ( 0 – Layout simplificado ) |
Nombre | Tipo | Descripción |
---|---|---|
Array of Record | Array con los Alias de las 20 tablas temporales creadas y posiblemente completadas, dependiendo de la regla del usuario, en el siguiente orden: 0210, K200, K220, K230, K235, K250, K255, K210, K215, K260, K265, K270, K275, K280, K290, K291, K292, K300, K301 y K302.
|
Importante
Observación
Las informaciones pasadas a continuación en el fuente son solamente un ejemplo de cómo generar las informaciones, debe estar atento, pues estas informaciones deben existir en su entorno:
#INCLUDE "PROTHEUS.CH" User Function SPDFISBLCK() Local aRet := {} Local cAlias0210 := '' Local cAliasK200 := '' Local cAliasK220 := '' Local cAliasK230 := '' Local cAliasK235 := '' Local cAliasK250 := '' Local cAliasK255 := '' Local cAliasK210 := '' Local cAliasK215 := '' Local cAliasK260 := '' Local cAliasK265 := '' Local cAliasK270 := '' Local cAliasK275 := '' Local cAliasK280 := '' Local cAliasK290 := '' Local cAliasK291 := '' Local cAliasK292 := '' Local cAliasK300 := '' Local cAliasK301 := '' Local cAliasK302 := '' Local cProd1 := "MP0000000000000000000000000001" Local cProd2 := "PA0000000000000000000000000001" Local cModArq:= ParamIxb[3] // 1 = Completo / 0 = Simplificado Local lGeraComp := cModArq=="1" Local dDTBackup := dDataBase dDataBase:=ParamIxb[1] //Crea alias y tablas temporales del bloque K TmpBlcK(@cAlias0210, @cAliasK200, @cAliasK220, @cAliasK230, @cAliasK235, @cAliasK250, @cAliasK255, @cAliasK210, @cAliasK215,; @cAliasK260, @cAliasK265, @cAliasK270, @cAliasK275, @cAliasK280, @cAliasK290, @cAliasK291, @cAliasK292, @cAliasK300, @cAliasK301, @cAliasK302 ) G0210(cAlias0210,cProd1,cProd2) //Simp GK200(cAliasK200,cProd1,cProd2) //Simp if lGeraComp GK210(cAliasK210,cProd1,cProd2) GK215(cAliasK215,cProd1,cProd2) endif GK220(cAliasK220,cProd1,cProd2) //Simp GK230(cAliasK230,cProd1,cProd2) //Simp if lGeraComp GK235(cAliasK235,cProd1,cProd2) endif GK250(cAliasK250,cProd1,cProd2) //Simp if lGeraComp GK255(cAliasK255,cProd1,cProd2) GK260(cAliasK260,cProd1,cProd2) GK265(cAliasK265,cProd1,cProd2) endif GK270(cAliasK270,cProd1,cProd2) //Simp //Excepción. De acuerdo con el manual, el registro debe informarse a ORIGEM (K270) igual a 5 o si el registro K270 no tuviera corrección de cantidad negativa o positiva //if lGeraComp GK275(cAliasK275,cProd1,cProd2) //endif GK280(cAliasK280,cProd1,cProd2) //Simp GK290(cAliasK290,cProd1,cProd2) //Simp GK291(cAliasK291,cProd1,cProd2) //Simp if lGeraComp GK292(cAliasK292,cProd1,cProd2) endif GK300(cAliasK300,cProd1,cProd2) //Simp GK301(cAliasK301,cProd1,cProd2) //Simp if lGeraComp GK302(cAliasK302,cProd1,cProd2) endif //Incluye alias de las tablas temporales creadas aRet := {cAlias0210,; cAliasK200,; cAliasK220,; cAliasK230,; cAliasK235,; cAliasK250,; cAliasK255,; cAliasK210,; cAliasK215,; cAliasK260,; cAliasK265,; cAliasK270,; cAliasK275,; cAliasK280,; cAliasK290,; cAliasK291,; cAliasK292,; cAliasK300,; cAliasK301,; cAliasK302 } dDataBase:=dDTBackup Return aRet //------------------------------------------------------------------- /*/{Protheus.doc} TmpBlcK Función para creación de las tablas temporales para generación del bloque K /*/ //------------------------------------------------------------------- Static Function TmpBlcK(cAlias0210,cAliasK200,cAliasK220,cAliasK230,cAliasK235,cAliasK250,cAliasK255,cAliasK210, cAliasK215, cAliasK260, cAliasK265, cAliasK270,cAliasK275,cAliasK280,cAliasK290,cAliasK291,cAliasK292,cAliasK300,cAliasK301,cAliasK302 ) Local aCampos := {} Local nTamFil := TamSX3("D1_FILIAL")[1] Local nTamDt := TamSX3("D1_DTDIGIT")[1] Local aTamQtd := TamSX3("B2_QATU") Local nTamOP := TamSX3("D3_OP")[1] Local nTamCod := TamSX3("B1_COD")[1] Local nTamChave := TamSX3("D1_COD")[1] + TamSX3("D1_SERIE")[1] + TamSX3("D1_FORNECE")[1] + TamSX3("D1_LOJA")[1] Local nTamPar := TamSX3("A1_COD")[1] + TamSX3("A1_LOJA")[1] Local nTamReg := 4 Local oAliasTMP1 Local oAliasTMP2 Local oAliasTMP3 Local oAliasTMP4 Local oAliasTMP5 Local oAliasTMP6 Local oAliasTMP7 Local oAliasTMP8 Local oAliasTMP9 Local oAliasTMP10 Local oAliasTMP11 Local oAliasTMP12 Local oAliasTMP13 Local oAliasTMP14 Local oAliasTMP15 Local oAliasTMP16 Local oAliasTMP17 Local oAliasTMP18 Local oAliasTMP19 Local oAliasTMP20 //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE 0210 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Campo 01 do registro 0210 AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //***Código del producto que realizará la relación con el registro principal 0200 AADD(aCampos,{"COD_I_COMP" ,"C",nTamCod ,0}) //Campo 02 del registro 0210 AADD(aCampos,{"QTD_COMP" ,"N",aTamQtd[1],aTamQtd[2]}) //Campo 03 del registro 0210 AADD(aCampos,{"PERDA" ,"N",5 ,2}) //Campo 04 del registro 0210 cAlias0210 := '0210' CriaTabTmp(@oAliasTMP1, cAlias0210, aCampos, {"FILIAL", "COD_ITEM", "COD_I_COMP"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K200 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Campo 01 del registro K200 AADD(aCampos,{"DT_EST" ,"D",nTamDt ,0}) //Campo 02 del registro K200 AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //Campo 03 del registro K200 AADD(aCampos,{"QTD" ,"N",aTamQtd[1],aTamQtd[2]}) //Campo 04 del registro K200 AADD(aCampos,{"IND_EST" ,"C",1 ,0}) //Campo 05 del registro K200 AADD(aCampos,{"COD_PART" ,"C",nTamPar,0}) //Campo 06 do registro K200 cAliasK200 := 'K200' CriaTabTmp(@oAliasTMP2, cAliasK200, aCampos, {"FILIAL", "DT_EST", "COD_ITEM"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K220 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Campo 01 del registro K220 AADD(aCampos,{"DT_MOV" ,"D",nTamDt ,0}) //Campo 02 del registro K220 AADD(aCampos,{"COD_ITEM_O" ,"C",nTamCod ,0}) //Campo 03 del registro K220 AADD(aCampos,{"COD_ITEM_O" ,"C",nTamCod ,0}) //Campo 04 del registro K220 AADD(aCampos,{"QTD_ORI" ,"N",aTamQtd[1],aTamQtd[2]}) //Campo 05 del registro K220 AADD(aCampos,{"QTD_DEST" ,"N",aTamQtd[1],aTamQtd[2]}) //Campo 06 del registro K220 cAliasK220 := 'K220' CriaTabTmp(@oAliasTMP3, cAliasK220, aCampos, {"FILIAL"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K230 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Campo 01 del registro K230 AADD(aCampos,{"DT_INI_OP" ,"D",nTamDt ,0}) //Campo 02 del registro K230 AADD(aCampos,{"DT_FIN_OP" ,"C",nTamDt ,0}) //Campo 03 del registro K230 AADD(aCampos,{"COD_DOC_OP" ,"C",nTamOP ,0}) //***Campo 04 del registro K230. Campo utilizado para realizar la relación con el registro secundario K230 AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //Campo 05 del registro K230 AADD(aCampos,{"QTD_ENC" ,"N",aTamQtd[1],aTamQtd[2]}) //Campo 06 del registro K230 cAliasK230 := 'K230' CriaTabTmp(@oAliasTMP4, cAliasK230, aCampos, {"FILIAL", "COD_DOC_OP"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K235 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Campo 01 del registro K235 AADD(aCampos,{"DT_SAIDA" ,"D",nTamDt ,0}) //Campo 02 del registro K235 AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //Campo 03 del registro K235 AADD(aCampos,{"QTD" ,"N",aTamQtd[1],aTamQtd[2]}) //Campo 04 del registro K235 AADD(aCampos,{"COD_INS_SU" ,"C",nTamCod ,0}) //Campo 05 del registro K235 AADD(aCampos,{"COD_DOC_OP" ,"C",nTamOP ,0}) //***Campo de vínculo con el registro K230, la relación de K230 y K235 se realizará por este campo cAliasK235 := 'K235' CriaTabTmp(@oAliasTMP5, cAliasK235, aCampos, {"FILIAL", "COD_DOC_OP"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K250 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Campo 01 del registro K250 AADD(aCampos,{"CHAVE" ,"C",nTamChave ,0}) //***Campo de vínculo con registro secundario K255 AADD(aCampos,{"DT_PROD" ,"D",nTamDt ,0}) //Campo 02 del registro K250 AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //Campo 03 del registro K250 AADD(aCampos,{"QTD" ,"N",aTamQtd[1],aTamQtd[2]}) //Campo 04 del registro K250 cAliasK250 := 'K250' CriaTabTmp(@oAliasTMP6, cAliasK250, aCampos, {"FILIAL", "DT_PROD", "COD_ITEM"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K255 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Campo 01 del registro K255 AADD(aCampos,{"CHAVE" ,"C",nTamChave ,0}) //***Campo de vínculo con registro principal K250 AADD(aCampos,{"DT_CONS" ,"D",nTamDt ,0}) //Campo 02 del registro K255 AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //Campo 03 del registro K255 AADD(aCampos,{"QTD" ,"N",aTamQtd[1],aTamQtd[2]}) //Campo 04 del registro K255 AADD(aCampos,{"COD_INS_SU" ,"C",nTamCod ,0}) //Campo 05 del registro K250 cAliasK255 := 'K255' CriaTabTmp(@oAliasTMP7, cAliasK255, aCampos, {"FILIAL", "CHAVE"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K210 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) //Filial AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Campo 01 del Registro K210 AADD(aCampos,{"DT_INI_OS" ,"D",nTamDt ,0}) //Campo 01 del Registro K210 AADD(aCampos,{"DT_INI_OS" ,"D",nTamDt ,0}) //Campo 02 del Registro K210 AADD(aCampos,{"COD_DOC_OS" ,"C",nTamOP ,0}) //Campo 03 del Registro K210 AADD(aCampos,{"COD_ITEM_O" ,"C",nTamCod ,0}) //Campo 04 del Registro K210 AADD(aCampos,{"QTD_ORI" ,"N",aTamQtd[1],aTamQtd[2]}) //Campo 05 del Registro K210 cAliasK210 := 'K210' CriaTabTmp(@oAliasTMP8, cAliasK210, aCampos, {"FILIAL", "COD_ITEM_O"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K215 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) //Filial AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Campo 01 del Registro K215 AADD(aCampos,{"COD_DOC_OS" ,"C",nTamOP ,0}) // Campo clave de vínculo con el registro principal K210 AADD(aCampos,{"COD_ITEM_D" ,"C",nTamCod ,0}) //Campo 02 del Registro K215 AADD(aCampos,{"QTD_DES" ,"N",aTamQtd[1],aTamQtd[2]}) //Campo 03 del Registro K215 cAliasK215 := 'K215' CriaTabTmp(@oAliasTMP9, cAliasK215, aCampos, {"FILIAL", "COD_DOC_OS"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K260 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) //Filial AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Texto fijo con "K260" AADD(aCampos,{"COD_OP_OS" ,"C",nTamChave ,0}) // Código de identificación de la orden de producción, en el reprocesamiento, o de la orden de servicio, en la reparación AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //Código del producto/insumo que se reprocesará/reparará o ya reprocesado/reparado AADD(aCampos,{"DT_SAIDA" ,"D",nTamCod ,0}) //Fecha de salida del stock AADD(aCampos,{"QTD_SAIDA" ,"N",nTamCod ,0}) //Cantidad de salida del stock AADD(aCampos,{"DT_RET" ,"D",nTamCod ,0}) //Fecha de devolución al stock (entrada) AADD(aCampos,{"QTD_RET" ,"N",nTamCod ,0}) //Cantidad de devolución al stock (entrada) cAliasK260 := 'K260' CriaTabTmp(@oAliasTMP10, cAliasK260, aCampos, {"FILIAL", "COD_OP_OS"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K265 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) //Filial AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Texto fijo con "K265" AADD(aCampos,{"COD_OP_OS" ,"C",nTamChave ,0}) // Campo clave que vincula al registro Principal K260 AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //Código de la mercadería (campo 02 del Registro 0200) AADD(aCampos,{"QTD_CONS" ,"N",nTamCod ,0}) //Cantidad consumida – salida del stock AADD(aCampos,{"QTD_RET" ,"N",nTamCod ,0}) //Cantidad devuelta – entrada en stock cAliasK265 := 'K265' CriaTabTmp(@oAliasTMP11, cAliasK265, aCampos, {"FILIAL", "COD_OP_OS"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K270 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) //Filial AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Texto fijo con "K270" AADD(aCampos,{"DT_INI_AP" ,"D",nTamChave ,0}) // Fecha inicial del período de cálculo en el que ocurrió el apunte que se está corrigiendo AADD(aCampos,{"DT_FIN_AP" ,"D",nTamDt ,0}) //Fecha final del período de cálculo en el que ocurrió el apunte que se está corrigiendo AADD(aCampos,{"COD_OP_OS" ,"C",nTamCod ,0}) //Código de identificación de la orden de producción o de la orden de servicio que se está corrigiendo AADD(aCampos,{"CHAVE" ,"C",nTamChave ,0}) // Campo clave que vincula al registro Principal K270 AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //Código de la mercadería que se está corrigiendo (campo 02 del Registro 0200) AADD(aCampos,{"QTD_COR_P" ,"N",nTamCod ,0}) //Cantidad de corrección positiva de apunte ocurrido en período de cálculo anterior AADD(aCampos,{"QTD_COR_N" ,"N",nTamCod ,0}) //Cantidad de corrección negativa de apunte ocurrido en período de cálculo anterior AADD(aCampos,{"ORIGEM " ,"C",nTamCod ,0}) //Origen de la corrección, de acuerdo con el manual del Sped cAliasK270 := 'K270' CriaTabTmp(@oAliasTMP12, cAliasK270, aCampos, {"FILIAL", "COD_OP_OS"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K275 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) //Filial AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Texto fijo con "K275" AADD(aCampos,{"COD_OP_OS" ,"C",nTamChave ,0}) // Campo clave que vincula al registro Principal K270 AADD(aCampos,{"CHAVE" ,"C",nTamChave ,0}) // Campo clave que vincula al registro Principal K270 AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //Código de la mercadería (campo 02 del Registro 0200) AADD(aCampos,{"QTD_COR_P" ,"N",nTamCod ,0}) //Cantidad de corrección positiva de apunte ocurrido en período de cálculo anterior AADD(aCampos,{"QTD_COR_N" ,"N",nTamCod ,0}) //Cantidad de corrección negativa de apunte ocurrido en período de cálculo anterior AADD(aCampos,{"COD_INS_SU" ,"C",nTamCod ,0}) //Código del insumo que fue sustituido, si ocurriera la sustitución, referente a los Registros K235/K255 cAliasK275 := 'K275' CriaTabTmp(@oAliasTMP13, cAliasK275, aCampos, {"FILIAL", "COD_OP_OS"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K280 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Texto fijo con "K280" AADD(aCampos,{"DT_EST" ,"D",nTamDt ,0}) //Fecha del stock final registrado que se está corrigiendo AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //Código del ítem (campo 02 del Registro 0200) AADD(aCampos,{"QTD_COR_P" ,"N",nTamCod ,0}) //Cantidad de corrección positiva de apunte ocurrido en período de cálculo anterior AADD(aCampos,{"QTD_COR_N" ,"N",aTamQtd[1],aTamQtd[2]}) //Cantidad de corrección negativa de apunte ocurrido en período de cálculo anterior AADD(aCampos,{"IND_EST" ,"C",aTamQtd[1],aTamQtd[2]}) //Indicador del tipo de stock AADD(aCampos,{"COD_PART" ,"C",nTamPar ,0 }) //Código del participante cAliasK280 := 'K280' CriaTabTmp(@oAliasTMP14, cAliasK280, aCampos, {"FILIAL"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K290 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Texto fijo con "K290" AADD(aCampos,{"DT_INI_OP" ,"D",nTamDt ,0}) //Fecha inicial de la orden de producción AADD(aCampos,{"DT_FIN_OP" ,"D",nTamDt ,0}) //Fecha de finalización de la orden de producción AADD(aCampos,{"COD_DOC_OP" ,"C",nTamOP ,0}) //Código de identificación de la orden de producción cAliasK290 := 'K290' CriaTabTmp(@oAliasTMP15, cAliasK290, aCampos, {"FILIAL", "COD_DOC_OP"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K291 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Texto fijo con "K291" AADD(aCampos,{"COD_DOC_OP","C",nTamOP,0}) // Código de identificación de la orden de producción AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //Código del ítem producido (campo 02 del Registro 0200) AADD(aCampos,{"QTD" ,"N",aTamQtd[1],aTamQtd[2] ,0}) //Cantidad de producción finalizada cAliasK291 := 'K291' CriaTabTmp(@oAliasTMP16, cAliasK291, aCampos, {"FILIAL", "COD_DOC_OP", "COD_ITEM"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K292 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Texto fijo con "K292" AADD(aCampos,{"COD_DOC_OP","C",nTamOP,0}) // Código de identificación de la orden de producción AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //Código del ítem producido (campo 02 del Registro 0200) AADD(aCampos,{"QTD" ,"N",aTamQtd[1],aTamQtd[2] ,0}) //Cantidad de producción finalizada cAliasK292 := 'K292' CriaTabTmp(@oAliasTMP17, cAliasK292, aCampos, {"FILIAL", "COD_DOC_OP", "COD_ITEM"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K300 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) AADD(aCampos,{"CHAVE" ,"C",nTamChave ,0}) //Campo de vínculo con registros K301 y K302 AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Texto fijo con "K300" AADD(aCampos,{"DT_PROD" ,"D",nTamDt ,0}) //Fecha de reconocimiento de la producción ocurrida en el tercero cAliasK300 := 'K300' CriaTabTmp(@oAliasTMP18, cAliasK300, aCampos, {"FILIAL", "CHAVE"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K301 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Texto fijo con "K301" AADD(aCampos,{"CHAVE" ,"C",nTamChave,0}) // Campo de vínculo con registro K300 AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //Código del ítem producido (campo 02 del Registro 0200) AADD(aCampos,{"QTD" ,"N",aTamQtd[1],aTamQtd[2] ,0}) //Cantidad producida cAliasK301 := 'K301' CriaTabTmp(@oAliasTMP19, cAliasK301, aCampos, {"FILIAL", "CHAVE"}) //-------------------------------------------- //Creación del Archivo de trabajo - BLOQUE K302 //-------------------------------------------- aCampos := {} AADD(aCampos,{"FILIAL" ,"C",nTamFil ,0}) AADD(aCampos,{"REG" ,"C",nTamReg ,0}) //Texto fijo con "K302" AADD(aCampos,{"CHAVE" ,"C",nTamChave,0}) // Campo de vínculo con registro K300 AADD(aCampos,{"COD_ITEM" ,"C",nTamCod ,0}) //Código del ítem producido (campo 02 del Registro 0200) AADD(aCampos,{"QTD" ,"N",aTamQtd[1],aTamQtd[2] ,0}) //Cantidad consumida cAliasK302 := 'K302' CriaTabTmp(@oAliasTMP20, cAliasK302, aCampos, {"FILIAL", "CHAVE"}) Return Static Function CriaTabTmp(oAlias, cAlias, aCampos, aIndex) oAlias := FWTemporaryTable():New(cAlias) oAlias:SetFields(aCampos) oAlias:AddIndex("01", aIndex) oAlias:Create() Return Static Function G0210(cAlias0210,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro 0210 //---------------------------------------------------------------- RecLock (cAlias0210, .T.) (cAlias0210)->FILIAL := cFilAnt // Ejemplo de sucursal , debe informar la sucursal de su entorno que debe generar el archivo (cAlias0210)->REG := '0210' (cAlias0210)->COD_ITEM := cProd1 //Ejemplo de código de producto, debe informarse un código válido en su entorno. (cAlias0210)->COD_I_COMP := '600' (cAlias0210)->QTD_COMP := 4 (cAlias0210)->PERDA := 0 MsUnLock () Return Static Function GK200(cAliasK200,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K200 //---------------------------------------------------------------- RecLock (cAliasK200, .T.) (cAliasK200)->FILIAL := cFilAnt (cAliasK200)->REG := 'K200' (cAliasK200)->DT_EST := lastday(dDataBase) (cAliasK200)->COD_ITEM := cProd1 (cAliasK200)->QTD := 1 (cAliasK200)->IND_EST := '0' (cAliasK200)->COD_PART := 'SA100001001' //OBS:Al aplicarse, informe un código de participante válido que exista en la tabla SA1 (clientes) o SA2 (Proveedores) + Tienda - Ejemplo: SA1+ 000010 +01 = "SA100001001". Esté atento al tamaño del código del cliente y de la tienda. MsUnLock () Return Static Function GK210(cAliasK210,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K210 //---------------------------------------------------------------- RecLock (cAliasK210, .T.) (cAliasK210)->FILIAL := cFilAnt (cAliasK210)->REG := 'K210' (cAliasK210)->DT_INI_OS := lastday(dDataBase,1) (cAliasK210)->DT_FIN_OS := lastday(dDataBase) (cAliasK210)->COD_DOC_OS := '0000210001' (cAliasK210)->COD_ITEM_O := cProd2 (cAliasK210)->QTD_ORI := 1 MsUnLock () Return Static Function GK215(cAliasK215,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K215 //---------------------------------------------------------------- RecLock (cAliasK215, .T.) (cAliasK215)->FILIAL := cFilAnt (cAliasK215)->REG := 'K215' (cAliasK215)->COD_DOC_OS := '0000210001' (cAliasK215)->COD_ITEM_D := cProd1 (cAliasK215)->QTD_DES:= 1 MsUnLock () Return Static Function GK220(cAliasK220,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K220 //---------------------------------------------------------------- RecLock (cAliasK220, .T.) (cAliasK220)->FILIAL := cFilAnt (cAliasK220)->REG := 'K220' (cAliasK220)->DT_MOV := lastday(dDataBase,1) (cAliasK220)->COD_ITEM_O := cProd1 (cAliasK220)->COD_ITEM_D := cProd2 (cAliasK220)->QTD_ORI := 1 (cAliasK220)->QTD_DEST := 1 MsUnLock () Return Static Function GK230(cAliasK230,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K230 //---------------------------------------------------------------- RecLock (cAliasK230, .T.) (cAliasK230)->FILIAL := cFilAnt (cAliasK230)->REG := 'K230' (cAliasK230)->DT_INI_OP := lastday(dDataBase,1) (cAliasK230)->DT_FIN_OP := GRAVADATA(lastday(dDataBase),.F.,5) (cAliasK230)->COD_DOC_OP := '00005001001' (cAliasK230)->COD_ITEM := cProd2 (cAliasK230)->QTD_ENC := 1 MsUnLock () Return Static Function GK235(cAliasK235,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K235 //---------------------------------------------------------------- RecLock (cAliasK235, .T.) (cAliasK235)->FILIAL := cFilAnt (cAliasK235)->REG := 'K235' (cAliasK235)->DT_SAIDA := lastday(dDataBase,1) (cAliasK235)->COD_ITEM := cProd1 (cAliasK235)->QTD := 8 (cAliasK235)->COD_INS_SU := '' (cAliasK235)->COD_DOC_OP := '00005001001' MsUnLock () Return Static Function GK250(cAliasK250,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K250 //---------------------------------------------------------------- RecLock (cAliasK250, .T.) (cAliasK250)->FILIAL := cFilAnt (cAliasK250)->REG := 'K250' (cAliasK250)->CHAVE := '000001' (cAliasK250)->COD_ITEM := cProd2 (cAliasK250)->DT_PROD := lastday(dDataBase,1) (cAliasK250)->QTD :=1 MsUnLock () Return Static Function GK255(cAliasK255,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K255 //---------------------------------------------------------------- RecLock (cAliasK255, .T.) (cAliasK255)->FILIAL := cFilAnt (cAliasK255)->REG := 'K255' (cAliasK255)->CHAVE := '000001' (cAliasK255)->COD_ITEM := cProd1 (cAliasK255)->DT_CONS := lastday(dDataBase,1) (cAliasK255)->QTD :=1 (cAliasK255)->COD_INS_SU:= '' MsUnLock () Return Static Function GK260(cAliasK260,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K260 //---------------------------------------------------------------- RecLock (cAliasK260, .T.) (cAliasK260)->FILIAL := cFilAnt (cAliasK260)->REG := 'K260' (cAliasK260)->COD_OP_OS := '000001' (cAliasK260)->COD_ITEM := cProd2 (cAliasK260)->DT_SAIDA := lastday(dDataBase,1) (cAliasK260)->QTD_SAIDA :=0 (cAliasK260)->DT_RET :=lastday(dDataBase,1) (cAliasK260)->QTD_RET :=0 MsUnLock () Return Static Function GK265(cAliasK265,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K265 //---------------------------------------------------------------- RecLock (cAliasK265, .T.) (cAliasK265)->FILIAL := cFilAnt (cAliasK265)->REG := 'K265' (cAliasK265)->COD_OP_OS := '000001' (cAliasK265)->COD_ITEM := cProd1 (cAliasK265)->QTD_CONS :=0 (cAliasK265)->QTD_RET :=0 MsUnLock () Return Static Function GK270(cAliasK270,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K270 //---------------------------------------------------------------- RecLock (cAliasK270, .T.) (cAliasK270)->FILIAL := cFilAnt (cAliasK270)->REG := 'K270' (cAliasK270)->DT_INI_AP := lastday(MonthSub(dDataBase,1),1) (cAliasK270)->DT_FIN_AP := lastday(MonthSub(dDataBase,1)) (cAliasK270)->COD_OP_OS := '000001' (cAliasK270)->CHAVE := '000001' (cAliasK270)->COD_ITEM := cProd2 (cAliasK270)->QTD_COR_P := 0 (cAliasK270)->QTD_COR_N := 0 (cAliasK270)->ORIGEM := '1' MsUnLock () Return Static Function GK275(cAliasK275,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K275 //---------------------------------------------------------------- RecLock (cAliasK275, .T.) (cAliasK275)->FILIAL := cFilAnt (cAliasK275)->REG := 'K275' (cAliasK275)->COD_OP_OS := '000001' (cAliasK275)->CHAVE := '000001' (cAliasK275)->COD_ITEM := cProd2 (cAliasK275)->QTD_COR_P := 1 (cAliasK275)->QTD_COR_N := 0 (cAliasK275)->COD_INS_SU:= '' MsUnLock () Return Static Function GK280(cAliasK280,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K280 //---------------------------------------------------------------- RecLock (cAliasK280, .T.) (cAliasK280)->FILIAL := cFilAnt (cAliasK280)->REG := 'K280' (cAliasK280)->DT_EST := lastday(MonthSub(dDataBase,1),1) (cAliasK280)->COD_ITEM := cProd1 (cAliasK280)->QTD_COR_P := 1 (cAliasK280)->QTD_COR_N := 0 (cAliasK280)->IND_EST := '0' (cAliasK280)->COD_PART:='SA1SP0001' MsUnLock () Return Static Function GK290(cAliasK290,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K290 //---------------------------------------------------------------- RecLock (cAliasK290, .T.) (cAliasK290)->FILIAL := cFilAnt (cAliasK290)->REG := 'K290' (cAliasK290)->DT_INI_OP := lastday(dDataBase,1) (cAliasK290)->DT_FIN_OP := lastday(dDataBase) (cAliasK290)->COD_DOC_OP := '000001' MsUnLock () Return Static Function GK291(cAliasK291,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K291 //---------------------------------------------------------------- RecLock (cAliasK291, .T.) (cAliasK291)->FILIAL := cFilAnt (cAliasK291)->REG := 'K291' (cAliasK291)->COD_DOC_OP:= '000001' (cAliasK291)->COD_ITEM :=cProd2 (cAliasK291)->QTD := 1 MsUnLock () Return Static Function GK292(cAliasK292,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K292 //---------------------------------------------------------------- RecLock (cAliasK292, .T.) (cAliasK292)->FILIAL := cFilAnt (cAliasK292)->REG := 'K292' (cAliasK292)->COD_DOC_OP:= '000001' (cAliasK292)->COD_ITEM :=cProd1 (cAliasK292)->QTD := 1 MsUnLock () Return Static Function GK300(cAliasK300,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K300 //---------------------------------------------------------------- RecLock (cAliasK300, .T.) (cAliasK300)->FILIAL := cFilAnt (cAliasK300)->CHAVE := '00000001' (cAliasK300)->REG := 'K300' (cAliasK300)->DT_PROD:= lastday(dDataBase,1) MsUnLock () Return Static Function GK301(cAliasK301,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K301 //---------------------------------------------------------------- RecLock (cAliasK301, .T.) (cAliasK301)->FILIAL := cFilAnt (cAliasK301)->REG := 'K301' (cAliasK301)->CHAVE := '00000001' (cAliasK301)->COD_ITEM:= cProd2 (cAliasK301)->QTD := 1 MsUnLock () Return Static Function GK302(cAliasK302,cProd1,cProd2) //---------------------------------------------------------------- //Incluyendo informaciones en el archivo temporal para el registro K302 //---------------------------------------------------------------- RecLock (cAliasK302, .T.) (cAliasK302)->FILIAL := cFilAnt (cAliasK302)->REG := 'K302' (cAliasK302)->CHAVE := '00000001' (cAliasK302)->COD_ITEM:= cProd1 (cAliasK302)->QTD := 1 MsUnLock () Return