Перейти к публикации

вывод даты изменения на чертёж


BiToenaPo

Рекомендованные сообщения

Задача следующая, на чертёж необходимо добавить дату последнего изменения.

Поступил следующим образом, в шаблон документа NX и в шаблон форматки добавил следующие выражения:

Date = dateTimeString( "localTime?", True ) = "Wed May 16 17:00:01 2012"

t0 = subString(Date,5,7) = "May"

MyMonth = if (t0=="Jan")("01")else(if(t0=="Feb")("02")else(if(t0=="Mar")("03")else(if(t0=="Apr")("04")else(if(t0=="May")("05")else(if(t0=="Jun")("06")else(if(t0=="Jul")("07")else(if(t0=="Aug")("08")else(if(t0=="Sep")("09")else(if(t0=="Oct")("10")else(if(t0=="Nov")("11")else(if(t0=="Dec")("12")else("Error")))))))))))) = "05"

MyDay = subString(Date,9,10) = "16"

MyYear = subString(Date, 23, 24) = "12"

MyDate = MyDay+"."+MyMonth+"."+MyYear = "16.05.12"
Теперь поясню каждое выражение:

Date - стандартная функция NX для определения текущей даты,

t0 - промежуточная переменная для вычисления месяца (в данной случае нужна для упрощения написания вложенной функции для вычисления номера месяца),

MyMonth - собственно выражение для вычисления номера месяца,

MyDay - вычисление дня,

MyYear - вычисление года,

MyDate - выражение для формирования даты в нужном формате - DD.MM.YY.

В итоге получаем при создании нового документа уже готовые выражения с датой для вставки на чертёж. На чертеже соответственно данное выражение попадает через шаблон форматки - <X0.2@MyDate>. Всё бы хорошо, только дата в документе не обновляется непосредственно при создании/изменении документа, а обновляется только при выполнении команды моделирования - Инструменты | Обновить | Обновление для внешнего изменения. Команда в свою очередь может быть выполнена вручную (не нашёл таковой в настройках)

Кто что может посоветовать в данной ситуации? Может есть другое решение?

post-17884-1337179393_thumb.jpg

Рис.1 Добавление анотации с сылкой на выражение в шаблон форматки.

post-17884-1337178605_thumb.jpg

Рис. 2 Результат работы

Изменено пользователем BiToenaPo
Ссылка на сообщение
Поделиться на других сайтах


Задача следующая, на чертёж необходимо добавить дату последнего изменения.

Поступил следующим образом, в шаблон документа NX и в шаблон форматки добавил следующие выражения:

Date = dateTimeString( "localTime?", True ) = "Wed May 16 17:00:01 2012"

t0 = subString(Date,5,7) = "May"

MyMonth = if (t0=="Jan")("01")else(if(t0=="Feb")("02")else(if(t0=="Mar")("03")else(if(t0=="Apr")("04")else(if(t0=="May")("05")else(if(t0=="Jun")("06")else(if(t0=="Jul")("07")else(if(t0=="Aug")("08")else(if(t0=="Sep")("09")else(if(t0=="Oct")("10")else(if(t0=="Nov")("11")else(if(t0=="Dec")("12")else("Error")))))))))))) = "05"

MyDay = subString(Date,9,10) = "16"

MyYear = subString(Date, 23, 24) = "12"

MyDate = MyDay+"."+MyMonth+"."+MyYear = "16.05.12"
Теперь поясню каждое выражение:

Date - стандартная функция NX для определения текущей даты,

t0 - промежуточная переменная для вычисления месяца (в данной случае нужна для упрощения написания вложенной функции для вычисления номера месяца),

MyMonth - собственно выражение для вычисления номера месяца,

MyDay - вычисление дня,

MyYear - вычисление года,

MyDate - выражение для формирования даты в нужном формате - DD.MM.YY.

В итоге получаем при создании нового документа уже готовые выражения с датой для вставки на чертёж. На чертеже соответственно данное выражение попадает через шаблон форматки - <X0.2@MyDate>. Всё бы хорошо, только дата в документе не обновляется непосредственно при создании/изменении документа, а обновляется только при выполнении команды моделирования - Инструменты | Обновить | Обновление для внешнего изменения. Команда в свою очередь может быть выполнена вручную (не нашёл таковой в настройках)

Кто что может посоветовать в данной ситуации? Может есть другое решение?

post-17884-1337179393_thumb.jpg

Рис.1 Добавление анотации с сылкой на выражение в шаблон форматки.

post-17884-1337178605_thumb.jpg

Рис. 2 Результат работы

Можно попробовать UF_MODL_update
Ссылка на сообщение
Поделиться на других сайтах

Можно попробовать UF_MODL_update

А подробнее можно, этот вопрос меня тоже интересовал.

Ссылка на сообщение
Поделиться на других сайтах

А подробнее можно, этот вопрос меня тоже интересовал.

После все ваших действий запустить данную команду

UF_MODL_update();
Ссылка на сообщение
Поделиться на других сайтах

После все ваших действий запустить данную команду

UF_MODL_update();

Обьясните пожалуйста подробнее делетантам как запустить эту команду, ничего не получается

Ссылка на сообщение
Поделиться на других сайтах

Обьясните пожалуйста подробнее делетантам как запустить эту команду, ничего не получается

Чувствую какое то недопонимание

Я говорю про программирование на UGOpen

в вашем коде надо ввести что типа этого:

UF_CALL(UF_MODL_set_update_fail_option (UF_MODL_UPDATE_ACCEPT_ALL));



	rez = UF_CALL(UF_MODL_update ());

	if (rez) 

	{

		uc1601("Ошибка обновления. Проверте Ваши данные",1);

	}

	UF_DISP_regenerate_display ();



	return 0;
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...