2026-08-07 22:27:49 +02:00
{
2026-08-08 01:29:43 +02:00
"version" : "6.2" ,
2026-08-07 22:27:49 +02:00
"module" : "stock_lot" ,
"files" : [
{
2026-08-09 02:04:04 +02:00
"module" : "stock_lot" ,
"file" : "product.py" ,
2026-08-07 22:27:49 +02:00
"class" : "Template" ,
"method" : "__register__" ,
"line" : 62 ,
"operations" : [
2026-08-20 13:27:23 +02:00
{
"object" : "" ,
"operation" : "Transaction" ,
"tables" : [],
"line" : 63 ,
"args" : [],
"kwargs" : {},
"code" : "Transaction()" ,
"unresolved" : true ,
"phase" : "before_super"
},
{
"object" : "connection" ,
"operation" : "cursor" ,
"tables" : [],
"line" : 64 ,
"args" : [],
"kwargs" : {},
"code" : "connection.(connection.cursor())()" ,
"unresolved" : true ,
"phase" : "before_super"
},
{
"object" : "config" ,
"operation" : "get" ,
"tables" : [],
"line" : 69 ,
"args" : [
"'table'" ,
"'product.template-stock.lot.type'"
],
"kwargs" : {
"default" : "'product.template-stock.lot.type'.replace('.', '_')"
},
"code" : "config.get(\n 'table', 'product.template-stock.lot.type',\n default='product.template-stock.lot.type' .replace('.', '_'))" ,
"unresolved" : true ,
"phase" : "after_super"
},
{
"object" : "'product.template-stock.lot.type'" ,
"operation" : "replace" ,
"tables" : [],
"line" : 71 ,
"args" : [
"'.'" ,
"'_'"
],
"kwargs" : {},
"code" : "'product.template-stock.lot.type' .replace('.', '_')" ,
"unresolved" : true ,
"phase" : "after_super"
},
{
"object" : "config" ,
"operation" : "get" ,
"tables" : [],
"line" : 72 ,
"args" : [
"'table'" ,
"'stock.lot.type'"
],
"kwargs" : {
"default" : "'stock.lot.type'.replace('.', '_')"
},
"code" : "config.get(\n 'table', 'stock.lot.type',\n default='stock.lot.type'.replace('.', '_'))" ,
"unresolved" : true ,
"phase" : "after_super"
},
{
"object" : "'stock.lot.type'" ,
"operation" : "replace" ,
"tables" : [],
"line" : 74 ,
"args" : [
"'.'" ,
"'_'"
],
"kwargs" : {},
"code" : "'stock.lot.type'.replace('.', '_')" ,
"unresolved" : true ,
"phase" : "after_super"
},
{
"object" : "" ,
"operation" : "Table" ,
"tables" : [],
"line" : 80 ,
"args" : [
"template_lot_type_table_name"
],
"kwargs" : {},
"code" : "Table((config.get(\n 'table', 'product.template-stock.lot.type',\n default='product.template-stock.lot.type' .replace('.', '_'))))" ,
"unresolved" : true ,
"phase" : "after_super" ,
"condition" : "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
},
{
"object" : "" ,
"operation" : "Table" ,
"tables" : [],
"line" : 81 ,
"args" : [
"lot_type_table_name"
],
"kwargs" : {},
"code" : "Table((config.get(\n 'table', 'stock.lot.type',\n default='stock.lot.type'.replace('.', '_'))))" ,
"unresolved" : true ,
"phase" : "after_super" ,
"condition" : "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
},
{
"object" : "connection" ,
"operation" : "cursor" ,
"tables" : [],
"line" : 83 ,
"args" : [],
"kwargs" : {},
"code" : "connection.(connection.cursor())()" ,
"unresolved" : true ,
"phase" : "after_super" ,
"condition" : "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
},
2026-08-07 22:27:49 +02:00
{
"object" : "cursor_select" ,
"operation" : "execute" ,
2026-08-08 22:32:31 +02:00
"tables" : [],
2026-08-07 22:27:49 +02:00
"line" : 84 ,
"args" : [
"*template_lot_type.select(template_lot_type.template, distinct_on=template_lot_type.template)"
],
"kwargs" : {},
2026-08-09 00:47:23 +02:00
"code" : "(connection.cursor()).execute(*template_lot_type.select(\n template_lot_type.template,\n distinct_on=template_lot_type.template))" ,
2026-08-07 22:27:49 +02:00
"phase" : "after_super" ,
"condition" : "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
},
{
"object" : "template_lot_type" ,
"operation" : "select" ,
2026-08-08 22:32:31 +02:00
"tables" : [],
2026-08-07 22:27:49 +02:00
"line" : 84 ,
"args" : [
"template_lot_type.template"
],
"kwargs" : {
"distinct_on" : "template_lot_type.template"
},
2026-08-09 00:47:23 +02:00
"code" : "template_lot_type.select(\n template_lot_type.template,\n distinct_on=template_lot_type.template)" ,
2026-08-07 22:27:49 +02:00
"phase" : "after_super" ,
"condition" : "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
2026-08-09 20:56:24 +02:00
},
{
"object" : "cursor" ,
"operation" : "execute" ,
"tables" : [],
"line" : 88 ,
"args" : [
"*template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id).select(lot_type.code, where=template_lot_type.template == template_id)"
],
"kwargs" : {},
"code" : "(connection.cursor()).execute(*template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id))" ,
"phase" : "after_super" ,
"condition" : "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
},
{
"object" : "template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id)" ,
"operation" : "select" ,
"tables" : [],
"line" : 88 ,
"args" : [
"lot_type.code"
],
"kwargs" : {
"where" : "template_lot_type.template == template_id"
},
"code" : "template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id)" ,
"phase" : "after_super" ,
"condition" : "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
},
2026-08-20 13:27:23 +02:00
{
"object" : "template_lot_type" ,
"operation" : "join" ,
"tables" : [],
"line" : 88 ,
"args" : [
"lot_type"
],
"kwargs" : {
"condition" : "template_lot_type.type == lot_type.id"
},
"code" : "template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)" ,
"unresolved" : true ,
"phase" : "after_super" ,
"condition" : "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
},
{
"object" : "cls.lot_required" ,
"operation" : "sql_format" ,
"tables" : [],
"line" : 94 ,
"args" : [
"[t for t, in cursor]"
],
"kwargs" : {},
"code" : "cls.lot_required.sql_format([t for t, in (connection.cursor())])" ,
"unresolved" : true ,
"phase" : "after_super" ,
"condition" : "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
},
2026-08-09 20:56:24 +02:00
{
"object" : "cursor" ,
"operation" : "execute" ,
"tables" : [
"product_template"
],
"line" : 95 ,
"args" : [
"*table.update([table.lot_required], [value], where=table.id == template_id)"
],
"kwargs" : {},
"code" : "(connection.cursor()).execute(*table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id))" ,
"phase" : "after_super" ,
"condition" : "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
},
{
"object" : "table" ,
"operation" : "update" ,
"tables" : [
"product_template"
],
"line" : 95 ,
"args" : [
"[table.lot_required]" ,
"[value]"
],
"kwargs" : {
"where" : "table.id == template_id"
},
"code" : "table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id)" ,
"phase" : "after_super" ,
"condition" : "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
2026-08-20 13:27:23 +02:00
},
{
"object" : "table_h" ,
"operation" : "drop_table" ,
"tables" : [],
"line" : 98 ,
"args" : [
"'product.template-stock.lot.type'" ,
"template_lot_type_table_name"
],
"kwargs" : {},
"code" : "table_h.drop_table('product.template-stock.lot.type',\n (config.get(\n 'table', 'product.template-stock.lot.type',\n default='product.template-stock.lot.type' .replace('.', '_'))))" ,
"unresolved" : true ,
"phase" : "after_super" ,
"condition" : "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
},
{
"object" : "table_h" ,
"operation" : "drop_table" ,
"tables" : [],
"line" : 100 ,
"args" : [
"'stock.lot.type'" ,
"lot_type_table_name"
],
"kwargs" : {},
"code" : "table_h.drop_table('stock.lot.type', (config.get(\n 'table', 'stock.lot.type',\n default='stock.lot.type'.replace('.', '_'))))" ,
"unresolved" : true ,
"phase" : "after_super" ,
"condition" : "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
2026-08-07 22:27:49 +02:00
}
]
}
]
}