Some little Help
let check := dialog(" ATENCION ", " ¿Confirmar la Actualizacion de los Datos en la tabla de AVANCES_PROYECTO ? ", ["Si", "No"]);
if check = "Si" then
for loop1 in select WeeksCutOff do
Data_Date := loop1.Date;
let xDoc := first(select Deliverables);
let xFld1 := xDoc.'Avance Plan';
let xFld2 := xDoc.'Avance Real';
let xFld3 := xDoc.Week;
let xFld4 := xDoc.DataDate;
let i := (create Avance_Proyecto);
i.('Avance Plan' := xFld1);
i.('Avance Real' := xFld2);
i.(Semana_Corte := xFld3);
i.(Fecha_Corte := xFld4)
end
else
closeRecord()
end
This Formula work OK but I have little problem what I want to Solve, if possible.
The WeeksCutOff is the table where I have all fields CutOff Dates, the field Data_Date is where I change the CutOffDate on the Table CurOff and field Date is the name of WeekCutOff. All works OK.
But example when I CutOff 16Dec2022 All calculation are OK but the Data_Date change to the first Date on table WeekCutOff 04Nov2022, there are any way to keeping the same Date I CutOff.
Thanks.
5 replies
-
You wrote:
for loop1 in select WeeksCutOff do Data_Date := loop1.Date;
Since loop1 is equal to each record in WeeksCutOff, you then make Data_Date equal to the Date in each record. Any changes to Data_Date has to start here.
-
Rafael said:
Do you say is not possible ?I didn't say it is not possible. I don't know how everything works so I was just pointing you to where you are setting Data_Date. If you don't want Data_Date to be equal to "the first Date on table WeekCutOff 04Nov2022" then you have to change the line where you set the Data_Date.
-
Looking at your DB, my question is still the same.
let check := dialog(" ATENCION ", " ¿Confirmar la Actualizacion de los Datos en la tabla de AVANCES_PROYECTO ? ", ["Si", "No"]); if check = "Si" then for loop1 in select WeeksCutOff do Data_Date := loop1.Date;
Though now I can describe it a bit better. In line 4 you are setting the field Data_Date in the Cutoff table to be equal to the record that the loop is in. The last record in the WeeksCutOff table has a date of Nov 4, 2022 so that is what Data_Date in Cutoff will end up showing when the script is complete.
You say you don't want to change Date_Date in Cutoff so you can just remove this line and the Data_Date in Cutoff will not change when you press the button.
So my next question is did you mean line 4 to be a variable? If so then you need to set it up as a variable:
let xData_Date := loop1.Date
Then figure out where you need what you want to do with this data later in the code.
If you remove or modify line 4, the Avance_Proyetco table will have the same date for Fecha_Corte. I don't know if that is what you want, but that is what will happen. I don't know which dates you want in Avance_Proyecto so you will have to figure that out.
Currently you have:
let xDoc := first(select Deliverables); let xFld1 := xDoc.'Avance Plan'; let xFld2 := xDoc.'Avance Real'; let xFld3 := xDoc.Week; let xFld4 := xDoc.DataDate; let i := (create Avance_Proyecto); i.('Avance Plan' := xFld1); i.('Avance Real' := xFld2); i.(Semana_Corte := xFld3); i.(Fecha_Corte := xFld4)
After a bit of digging, I find that DataDate in Deliverables table points to Data_Date in CutOff table. So that means you will make each new record in Avance_Proyecto then set the Fecha_Corte in be equal to Data_Date in Cutoff.
I'm going to guess that you want is the data from Date in WeeksCutOff to be set into Fecha_Corte in Avance_Proyecto. If so then it would look something like:
for loop1 in select WeeksCutOff do let xDoc := first(select Deliverables); let xFld1 := xDoc.'Avance Plan'; let xFld2 := xDoc.'Avance Real'; let xFld3 := xDoc.Week; let i := (create Avance_Proyecto); i.('Avance Plan' := xFld1); i.('Avance Real' := xFld2); i.(Semana_Corte := xFld3); i.(Fecha_Corte := loop1.Date)
Content aside
- 1 yr agoLast active
- 5Replies
- 62Views
-
2
Following