Скрипт, меняющий даты

Статус
Закрыто для дальнейших ответов.

instinct

Топикстартер
10 лет на форуме
Сообщения
123
Реакции
0
Не секрет, что в инди можно вставить дату последнего сохранения (дата последнего изменения). Ее я использую в выходных данных как дату "отправлено в печать" (ведь в печать я отправляю именно тогда, когда сделаю последнее сохранение). Было бы круто, если бы к этой дате можно было прибавлять n-количество дней, что подойдет для других дат. Но в самом инди этого нет. Может существует скрипт, который позволяет это сделать? Это позволит избавиться от мысли "А все ли даты я поменял?".

Хотелось бы, чтобы он работал так, как ведет себя "дата последнего сохранения". То есть, самостоятельно: мне никогда не приходится корректировать дату "отправлено в печать". Нажимаю Ctrl+S, и дата меняется автоматически
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
На самом деле, там, как минимум, два разных набора дат - системная дата создания/изменения файла и встроенная в файл XMP информация о публикации, в которой даты присутствуют. Вам какая нужна?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
И, кстати, с модификацией XMP даты скриптом тоже не все так просто: свойства creationDate и modificationDate умная адоба для чего то сделала Read only '\:E@@@'
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
да понятно же что речь о текстовой переменной Modification Date, что еще можно в выходные данные вставлять…

кстати, можно использовать Output Date - это просто дата вывода, то бишь текущая

а так, ну можно. сделать новые текстовые переменные типа Date+n, повесить скрипт на событие beforeSave, и пускай он значения этих переменных меняет.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
в смысле текстовая переменная. Text Variable. F1.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
а вот Event beforeSave или afterSave и нет (

UPD: хотя есть. просто документация кривая.

ну в общем можно сделать
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
в смысле текстовая переменная. Text Variable. F1.
Все равно не пойму, к чему здесь они.
Вдобавок, их что, самому менять можно? Для них только формат выбирается и все, насколько я понимаю, а значение жестко зашито. 'hz'
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Custom Text, и менять на здоровье

to ТС: создаем переменную Date+5 типа Custom Text, вставляем в текст, где надо.
скрипт в аттаче разархивировать, кладем в startupScripts, для демки можно просто его один раз запустить руками

вуаля, после Save в переменной Date+5 будет дата через 5 дней от сегодня

по поводу дальнейшей разработки можно в личку
 

Вложения

  • updateDate.jsxbin.zip
    1.2 КБ · Просм.: 288
  • Screenshot 2015-04-16 11.20.52.png
    Screenshot 2015-04-16 11.20.52.png
    103.8 КБ · Просм.: 1 143
  • Screenshot 2015-04-16 11.20.57.png
    Screenshot 2015-04-16 11.20.57.png
    103.2 КБ · Просм.: 1 144

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
Нет, видимо, я совсем сегодня туго соображаю.
Данный скрипт устанавливает текстовую переменную Date+5 значением текущей даты плюс пять дней.
Каким боком это к топиковой задаче???
Или изначально подразумевалось не общее изменение даты модификации документа, а именно заполнение текстовой переменной нужным значением? 'hz'
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Или изначально подразумевалось не общее изменение даты модификации документа, а именно заполнение текстовой переменной нужным значением?
Да; классический пример — газета. Дата выхода, указываемая в титуле газеты, отличается от даты последних (технических) изменений.
 

instinct

Топикстартер
10 лет на форуме
Сообщения
123
Реакции
0
Скажите мне, человеку, который никогда не писал сценарии, что нужно написать в его тексте?
 

juris2001

Участник
Сообщения
36
Реакции
1
Добрый. Не подскажете как это делается в индизе (в инди можно вставить дату последнего сохранения)
 

George

I wish I was a monster you think I am
15 лет на форуме
Сообщения
17 334
Реакции
7 873
ТС - топикстартер, автор темы по нашему.
 

instinct

Топикстартер
10 лет на форуме
Сообщения
123
Реакции
0
Не пойму, как работает скрипт, может кто-нибудь переведет?

Код:
#targetengine 'usernameVariable'
function addVariables(openEvent) 
{ 
  var doc = openEvent.parent; 
  while ( doc.constructor.name != "Document" ) 
  { 
    if ( doc.constructor.name == "Application" ){ return; } 
    doc = doc.parent; 
  } 

  var today = new Date(); 
  var tomorrow = new Date(today); 
  tomorrow.setDate(today.getDate()+1); 
  createTextVariable(doc, "Day+1", tomorrow.toLocaleString()); 
} 
function createTextVariable(target, variableName, variableContents) 
{ 
  var usernameVariable = target.textVariables.itemByName(variableName); 
  if (!usernameVariable.isValid) 
  { 
    usernameVariable = target.textVariables.add(); 
    usernameVariable.variableType = VariableTypes.CUSTOM_TEXT_TYPE; 
    usernameVariable.name = variableName; 
  } 
  usernameVariable.variableOptions.contents = variableContents; 
} 
app.addEventListener('afterOpen', addVariables);
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
приведенный в посте #18 устанавливает в +1 день )
и не при сохранении, а при открытии файла (эвент afterOpen)
 
Статус
Закрыто для дальнейших ответов.