2014-10-24 12 views
0

Я пытаюсь изменить содержимое открытой INDESIGN документа (открыт в InDesign Server)CheckIN/Checkout истории InDesign Server

Использование JavaScript мне удалось изменить содержание нескольких параграфов, когда lockState родительского рассказа является НИКТО.

НО, если lockState является CHECKED_IN_STORY я бегу в неприятности

if(story.lockState==LockStateValues.NONE) 
    paragraph.contents=foundContent; 
else 
{ 
    alert(story.lockState); 
    //story.remove(); 
    story.checkOut(); 
    paragraph.contents=foundContent; 
    story.checkIn(); 
    story.recompose(); 
} 

Если я пытаюсь изменить содержание я получаю сообщение об ошибке, говорящее о том, что «объект заблокирован» без ссылки на тип объекта, который заблокирован. Если я попытаюсь сначала проверить историю, выполнение остановится в этой строке с сообщением типа «Пользователь отменил это действие».

Странно, что story.remove() будет работать так, как ожидалось, и удалять историю независимо от ее состояния блокировки.

Любые идеи?

Благодаря

ответ

0

Если предположить, что несколько вещей, ваш код, кажется, работает. Я проверил код ниже в документе с одним текстовым фреймом, заполненным параграфами. Можете ли вы предоставить дополнительную информацию?

var doc = app.activeDocument; 

var story = doc.stories[0]; 

var paragraph = story.paragraphs[0]; 
var foundContent = "hey\r"; 

if (story.lockState === LockStateValues.NONE) { 
    paragraph.contents += foundContent; 
} else { 
    story.checkOut(); 
    paragraph.contents += foundContent; 
    story.checkIn(); 
    story.recompose(); 
} 
+0

Привет, кажется, что особая вещь об истории, которая не работает, является фактом, что они являются частью (InCopy) назначений, которые были, по-видимому, удалены. Я смотрю теперь на восстановление заданий, а затем удаляю их (это не сработало) или отменяет пакет. Тем не менее это только теория, потому что отладочные сообщения не указывают на этот (или любой другой) способ. Позволит вам знать, как это происходит. Спасибо за ответ – nmirceac