Equipment Schedule Dropped Item Duplicating Itself

I have an Equipment schedule with several rows and I have certain logic that applies depending on what row an event is dropped onto. Sometimes when the event is dropped, it will create more than one instance of itself and lock-up. By lock-up, I mean the event schedule will no longer respond. I will have to re-open the page to get it running again.

There is no error generated so I can’t use error handling to address this. Is there something wrong with my code (example below). The other rows have more complicated logic. What can I do to prevent this from happening or fixing it when it does happen?

The only common theme I have noticed is that it tends to happens when an object is rapidly moved multiple times in a row.

Here is an example of one of the logical statements in my script:

	Data=self.scheduledEvents
	if oldItemId==0 and newItemId==0:
		for i in range(Data.getRowCount()):	
			if Data.getValueAt(i,'EventID')==eventId:
				Data=system.dataset.setValue(Data,i,'ItemID',newItemId)
				Data=system.dataset.setValue(Data,i,'StartDate',newStartDate)
				Data=system.dataset.setValue(Data,i,'EndDate',newEndDate)
				break
		self.scheduledEvents=Data

Please edit your post to format the code properly. (Highlight your pasted code and click </> in the toolbar.)

Also, what event is the logic embedded in?

It is in onEventDropped

Hmm. I don’t see any obvious problem. /:

Here is an image, in case that helps. I dragged that 3318-14… item and as you can see it created two instances of itself. I had to rapidly move it about 10 times before this happened. I did this in the developer. In the dataset, there is no duplicate. It is only in the image. Is there a command that refreshes the object display that I could put on a timer or something? I actually didn’t completely lock up this time. So the lock-up claim seems to apply only sporadically.

image

Oh! If the dataset is correct and the display is wrong, that suggests a bug. You should get support involved.

I have found a solution to this problem. It occurs because of simultaneous rendering attempts.
When the blocks are dropped, the object script updates the Scheduled Events dataset.
I also have a timer that is updating the Downtime Events dataset.
When the drop event occurred at approximately the same time this timer went off, it cause the image to not render correctly.