MassprocessingProcess
Fonction de traitement en masse sur les gammes
Syntaxe
procedure MassProcessing_Process(var gpaoids: String)
gpaoids: liste des GPAOIDs des gammes à modifier, au format CommaText
Remarques
Quand on sélectionne une ou plusieurs gammes dans l'écran d'administration des gammes, on a accès aux scripts de traitement en masse.
Quand on déclenche ce traitement Qubes appelle successivement :
- MassProcessing_Confirm
- MassProcessing_Process (qui effectue le traitement à proprement parler)
- MassProcessing_Result
Exemples
// Ajout d'une dernière opération 50 après la 40
procedure MassProcessing_Process(var gpaoids : String);
var
i : Integer;
gammeGPAOID, newGammeGPAOID : String;
lstGammes, lstLogins : TStrings;
gamme : TManufacturing;
gammeOpe40, gammeOpe50 : TManufacturingOperation;
links : TManufacturingLinks;
begin
// Construction de la liste des responsables de l'opération
lstLogins:=TStrings.Create;
lstLogins.Add('admin');
// Parcours des gammes pour les traiter
lstGammes:=TStrings.Create;
lstGammes.CommaText:=gpaoids;
for i:=0 to lstGammes.Count-1 do begin
gammeGPAOID:=lstGammes[i];
gamme:=TManufacturing.ConnectByGPAOID(gammeGPAOID);
if (gamme.State<>msModification) then begin
// Si la gamme sélectionnée n'est pas en création ou n'a pas de version
// en création, on en fait une nouvelle version
newGammeGPAOID:=GetCreatingVersionOfManufacturingGPAOID(gammeGPAOID);
if newGammeGPAOID='' then
newGammeGPAOID:=SpawnNewManufacturingVersion(gammeGPAOID, True, True);
// On retire la version courante de la gamme
gamme.TransitionTo(msPerempted);
// On se connecte à la version en création
gamme:=TManufacturing.ConnectByGPAOID(newGammeGPAOID);
end;
// On crée l'opération 50
gammeOpe50:=gamme.AddOperation('Vérification produit', 50);
gammeOpe50.Description:='Vérification du produit fini';
gammeOpe50.ProcessRUD:='ModeOpeSurLot-003';
gammeOpe50.ManagerLogins:=lstLogins;
// On la rattache à l'opération 40
gammeOpe40:=gamme.GetOperationByNumber(40);
links:=gammeOpe40.GetManufacturingLinks;
links.AddLink(gammeOpe40, gammeOpe50);
// On valide la gamme
gamme.TransitionTo(msValidated);
gamme.Post;
end;
end;
procedure MassProcessing_Process(var gpaoids : String);
var
i : Integer;
gammeGPAOID, newGammeGPAOID : String;
lstGammes, lstLogins : TStrings;
gamme : TManufacturing;
gammeOpe40, gammeOpe50 : TManufacturingOperation;
links : TManufacturingLinks;
begin
// Construction de la liste des responsables de l'opération
lstLogins:=TStrings.Create;
lstLogins.Add('admin');
// Parcours des gammes pour les traiter
lstGammes:=TStrings.Create;
lstGammes.CommaText:=gpaoids;
for i:=0 to lstGammes.Count-1 do begin
gammeGPAOID:=lstGammes[i];
gamme:=TManufacturing.ConnectByGPAOID(gammeGPAOID);
if (gamme.State<>msModification) then begin
// Si la gamme sélectionnée n'est pas en création ou n'a pas de version
// en création, on en fait une nouvelle version
newGammeGPAOID:=GetCreatingVersionOfManufacturingGPAOID(gammeGPAOID);
if newGammeGPAOID='' then
newGammeGPAOID:=SpawnNewManufacturingVersion(gammeGPAOID, True, True);
// On retire la version courante de la gamme
gamme.TransitionTo(msPerempted);
// On se connecte à la version en création
gamme:=TManufacturing.ConnectByGPAOID(newGammeGPAOID);
end;
// On crée l'opération 50
gammeOpe50:=gamme.AddOperation('Vérification produit', 50);
gammeOpe50.Description:='Vérification du produit fini';
gammeOpe50.ProcessRUD:='ModeOpeSurLot-003';
gammeOpe50.ManagerLogins:=lstLogins;
// On la rattache à l'opération 40
gammeOpe40:=gamme.GetOperationByNumber(40);
links:=gammeOpe40.GetManufacturingLinks;
links.AddLink(gammeOpe40, gammeOpe50);
// On valide la gamme
gamme.TransitionTo(msValidated);
gamme.Post;
end;
end;