Utilizamos cookies para intentar brindarle una mejor experiencia en Freshdesk.
Si desea saber más sobre el tipo de cookies que utilizamos y sobre la forma y motivos por los que las usamos, lea nuestra Política de privacidad. Si no le gustan las cookies o está a dieta, también puede desactivarlas por completo. Solo tenga en cuenta que en Freshdesk nos encantan las cookies (sobre todo las que tienen virutas de chocolate), y que algunos apartados de Freshdesk podrían no funcionar correctamente si las desactiva.
También daremos por hecho que acepta y está de acuerdo con la manera en que usamos las cookies, tal como se describe en nuestra Política de privacidad, a menos que decida desactivarlas por completo a través de su navegador.
El proceso recibe como último parámetro la lista de elementos seleccionados
La lista de elementos la pasamos a una tabla temporal para luego cruzarla con la tabla de cuentas.
También podríamos vaciar la selección de registros con una instrucción javascript.
CREATE PROCEDURE [dbo].[pAccounts_ChangeState] @state_id tinyint, @lockdate smalldatetime, @lockreason nvarchar(2000)=null, @employeechange_id int, @sysCollectionSentence nvarchar(max) AS declare @accounts Table (account_id int) declare @startdate smalldatetime BEGIN TRY BEGIN TRAN INSERT INTO @accounts EXEC sp_executesql @sysCollectionSentence; update A set state_id=@state_id ,lockdate= case when @state_id=0 then null else @lockdate end ,lockreason=case when @state_id=0 then null else @lockreason end ,modifiedby=@employeechange_id, modifieddate=getdate() from ACCOUNT A inner join @accounts Sel on A.account_id=Sel.account_id -- Si necesitaramos vaciar la selección de registros de la colección Accounts por javascript: --SELECT 'flexygo.selection.clear(''Account'')' AS Javascript COMMIT TRAN RETURN -1 END TRY BEGIN CATCH IF @@TRANCOUNT >0 BEGIN ROLLBACK TRAN END print 'The selected accounts could not be updated. ' + ERROR_MESSAGE() RETURN 0 END CATCH0 Votos
1 Comentarios
Flexygo Team publicado al menos 2 años hace
Buenas tardes.
He adaptado el ejemplo en una lista de intervenciones que tengo y marcando una o varias al azar puedo reasignar el operario que tiene por el logueado. Hasta aquí perfecto.
Lo único que observo es que, cuando no marco ninguna intervención, si ejecuto la sentencia de cambio, TODAS las intervenciones que tiene esa colección me la asigna al operario logueado... como podría controlar que si no hay selección el procedimiento no haga nada?
Muchas gracias.
0 Votos
Iniciar sesión o Registrarse para publicar un comentario