Canceling document's check-out

Canceling document's check-out

Owner2229
Advisor Advisor
521 Views
1 Reply
Message 1 of 2

Canceling document's check-out

Owner2229
Advisor
Advisor

Hi, I'm looking for a programmatic way of canceling document's check-out status.

 

The check-out status can be found in iProperties on "Status" tab, down in the "File status" field.

In the past we've used in our company some shared projects, so we don't overwrite our work and the status stayed written in some of the documents.

Now, here are the problems:

A) When someone opens any of these documents, they won't be allowed to save any changes since the document is checked out for someone else and no-one can neither check it back nor force the check out, since it's not enabled in the single-user project.

B) When I'm programmatically trying to replace the mentioned file's references (in apprentice) I'll get a generic error "parameter is not correct".

I've tried all of the following and in some cases it actually would replace one or two references (due to an error, I guess, since for every reference works a different or none of the listed methods), but that is way below reliable.

 

Dim oDoc As Inventor.ApprenticeServerDocument = ...
Dim Position As Integer = ... oDoc.File.ReferencedFileDescriptors(Position).ReplaceReference("%New path%") oDoc.ReferencedDocumentDescriptors(Position).ReferencedFileDescriptor.ReplaceReference("%New path%") oDoc.ReferencedFileDescriptors(Position).PutLogicalFileNameUsingFull("%New path%") oDoc.ReferencedFileDescriptors(Position).PutLogicalFileNameUsingFullSpl("%New path%")

Thanks for any help of leads to solution.

Consider using "Accept as Solution" / "Kudos" if you find this helpful.
- - - - - - - - - - - - - - -
Regards,
Mike

"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - John F. Woods
0 Likes
522 Views
1 Reply
Reply (1)
Message 2 of 2

MechMachineMan
Advisor
Advisor

If this is the "file is reserved" issue, here is a script you can run that will "fix it". I had tried programmatically other ways, but couldn't find anything.

 

It could be removed manually by doing a SaveCopyAs on the file, so I resorted to this workaround.

 

 

Sub Main()

	Dim oTempFolder As String = System.IO.Path.GetTempPath() 'ending with \

	Dim oDoc As Document
	oDoc = ThisApplication.ActiveDocument

	If oDoc.ReservedForWrite = True
		resp = MsgBox("File is reserved for write. Remove this?", vbYesNo, "MMM iLogics")
	Else
		resp = MsgBox("File is NOT reserved for write. Save a duplicate copy over this file?", vbYesNo, "JRK iLogics")
	End If

	If resp = vbYes
		oFName = oDoc.FullFileName
		oTempFileName = oTempFolder & System.IO.Path.GetFileName(oFName)
		
		oDoc.SaveAs(oTempFileName, True)
		oDoc.SaveAs(oTempFolder & "[BACKUP]" & System.IO.Path.GetFileName(oFName), True)
		
		'Process.Start(oTempFolder)
		
		System.IO.File.Delete(oFName)
		System.IO.File.Move(oTempFileName, oFName)
		
		ThisApplication.FileManager.RefreshAllDocuments()
	End If
End Sub

--------------------------------------
Did you find this reply helpful ? If so please use the 'Accept as Solution' or 'Like' button below.

Justin K
Inventor 2018.2.3, Build 227 | Excel 2013+ VBA
ERP/CAD Communication | Custom Scripting
Machine Design | Process Optimization


iLogic/Inventor API: Autodesk Online Help | API Shortcut In Google Chrome | iLogic API Documentation
Vb.Net/VBA Programming: MSDN | Stackoverflow | Excel Object Model
Inventor API/VBA/Vb.Net Learning Resources: Forum Thread

Sample Solutions:Debugging in iLogic ( and Batch PDF Export Sample ) | API HasSaveCopyAs Issues |
BOM Export & Column Reorder | Reorient Skewed Part | Add Internal Profile Dogbones |
Run iLogic From VBA | Batch File Renaming| Continuous Pick/Rename Objects

Local Help: %PUBLIC%\Documents\Autodesk\Inventor 2018\Local Help

Ideas: Dockable/Customizable Property Browser | Section Line API/Thread Feature in Assembly/PartsList API Static Cells | Fourth BOM Type
0 Likes