¿Como puedo obtener un valor de una tabla secundaria a otra tabla secundaria?

Me gustaría que alguien me ayudará con lo siguiente:

Estoy trabajando con un Documento Padre llamado Relaciones Valoradas, en el se encuentra anexadas tres child table: 1. Periodo Anterior, 2. Periodo Actual, 3. Saldo Restante…

En la tabla Periodo Actual yo realizo calculos como precio total de la actividades y el porcentaje de avance de acuerdo a la cantidad actual que se realizo…

Me gustaría extraer el valor de la cantidad actual que digito en la tabla periodo actual hacia la tabla Saldo Actual Tramo I…

Proporciono código…

frappe.ui.form.on(‘Relaciones Valoradas’, {
before_save: function(frm) {
console.log(“Ejecutando before_save en Relaciones Valoradas”);
// Tu código aquí
//update_total_price(frm);
}
});

frappe.ui.form.on(‘Periodo Actual Tramo I’, {
cantidad_actual: function(frm, cdt, cdn) {
console.log(“Ejecutando cantidad_actual en Periodo Actual Tramo I”);
update_total_price(frm, cdt, cdn);
//update_percentage_completion(frm, cdt, cdn);
}
});

frappe.ui.form.on(‘Saldo Actual Tramo I’, {
no_de_orden: function(frm, cdt, cdn) {
console.log(“Ejecutando cantidad_actual en Saldo Actual Tramo I”);
//var cantidad_actual = frappe.model.get_value(cdt, cdn, ‘cantidad_actual’);
//console.log(“Cantidad actual:”, cantidad_actual);
update_remaining_percentage(frm, cdt, cdn);
}
});

function update_total_price(frm, cdt, cdn) {
console.log(“Ejecutando update_total_price”);
var child = locals[cdt][cdn];
console.log(“Child:”, child);

var precio_total = child.cantidad_actual * child.precio_unitario;
console.log("Precio total:", precio_total);

var porciento_avance = 0; // Inicializa el porcentaje de avance
frappe.model.set_value(cdt, cdn, 'precio_total', precio_total);
frm.refresh_field('precio_total');

if (child.cantidad_actual > 0 && child.cantidad_anterior > 0) {
    porciento_avance = (child.cantidad_actual / child.cantidad_anterior) * 100;
}

console.log("Porcentaje de avance:", porciento_avance);
frappe.model.set_value(cdt, cdn, '_de_avance_de_actividad', porciento_avance);
frm.refresh_field('_de_avance_de_actividad');

return child.cantidad_actual;

}

function update_remaining_percentage(frm, cdt, cdn){
var child = locals[cdt][cdn];

// Obtener la cantidad actual y calcular el precio total
var cantidad_actual = update_total_price(frm, cdt, cdn);

// Verificar si la cantidad es numérica y no es cero
if (!isNaN(cantidad_actual) && cantidad_actual !== 0) {
    var cantidad_restante = child.cantidad - cantidad_actual;
    
    // Actualizar campos en el formulario
    frappe.model.set_value(cdt, cdn, 'cantidad_restante', cantidad_restante);
    frm.refresh_field('cantidad_restante');
    
    // Calcular el precio total restante
    var precio_restante = cantidad_restante * child.precio_unitario;
    
    frappe.model.set_value(cdt, cdn, 'precio_total_restante', precio_restante);
    frm.refresh_field('precio_total_restante');
    
    // Calcular el porcentaje de avance restante si la cantidad restante es válida y no es cero
    if (cantidad_restante !== 0 && child.cantidad !== 0) {
        var porciento_avance = (cantidad_restante / child.cantidad) * 100;
        frappe.model.set_value(cdt, cdn, '_de_avance_de_actividad_restante', porciento_avance);
        frm.refresh_field('_de_avance_de_actividad_restante');
    }
} else {
    console.log("La cantidad actual no es válida o es cero.");
}

}

Les agradecería mucho, que me puedan asesorar…