Тема: Изменить значение Тпз в ПСп

Добрый день!

Задача:
Необходимо программно изменить значение Тпз в ПСп (модуль "Производство" -> вкладка "Техпроцесс"), насколько я понимаю, именно оттуда берется значение в план производства.

Код:

Call TCSActiveModule.Edit
TCSActiveModule.Properties("SetupTime").Value = 5
Call TCSActiveModule.SaveChanges

Проблема:
Ошибка "Недопустимый тип класса!" на строке "Call TCSActiveModule.SaveChanges".
Кто виноват? Что делать?

Re: Изменить значение Тпз в ПСп

Здравствуйте!
Похоже виноват TechnologiCS :(.

Версия программы какая у вас?

Re: Изменить значение Тпз в ПСп

Версия 4.7

Re: Изменить значение Тпз в ПСп

Да, старенькая. А на 5.7 переходить думаете?

Re: Изменить значение Тпз в ПСп

Кризис, батенька, кризис...
Денег под это дело не выделят точно, поэтому будем выжимать всё, что можно из текущей версии.

Re: Изменить значение Тпз в ПСп

ПОДСКАЖИТЕ ПОЖАЛУЙСТА, КАК БЫТЬ:
Как я могу привязать некоторое числовое значение к операции (пусть даже через фиктивный параметр),
при условии, что:
1) это должно происходить в "местном" скрипте, т. е. находящемся на вкладке "Техпроцесс" модуля "Производство"
2) нет подходящих полей: LaborIntensity занято, а другие либо с типом "дата", либо ReadOnly, либо с вышеописанным глюком
3) все ChildModules, в которых можно было бы редактировать параметы не допускают этого

Или, может быть, я что-то пропустил?..
Вобщем на Тпз я не настаиваю, устроит любой вариант, лишь бы потом это значение можно было вытянуть в отчет..

Re: Изменить значение Тпз в ПСп

Параметры через АПИ доступны, по только на чтение ( хотя вроде нет ничего принципиального открыть их на запись, сие поизучаем - но это только в будущем)

ChildModules по определению доступны только на чтение, там искать бесполезно, да и пользоваться ими лучше только тогда когда нет стандартных интерфейсов.

Все функции редактирования в это модуле блокируются этой ошибкой.

Вот пока и думаю как быть.

Re: Изменить значение Тпз в ПСп

Прошу прощения, сам напутал

Вот пример как изменятся параметры в TechnologiCS

Sub FormMacro_Test1(TCSActiveModule) 'Test
  Set OperPars = TCSActiveModule.Properties("ProdBOMProcessCollectionItemParameters").AsIDispatch
  If Not OperPars Is Nothing Then 
    If Not OperPars.SetParameterValueByParCode( "SETUP_TIME", "10.5", 0, True ) Then TCSApp.ShowErrorMessage( "Не могу установить значение параметра!" )
  End If 
End Sub

Пример запускает их режима Производство -> Техпроцесс. Изменяет параметры операции.
Для работа необходимо изменить уникальный код параметра, или создать параметр с уникальным кодом SETUP_TIME

Подробнее смотрите описание интерфейса  IParameterValues в справке по АПИ TechnologiCS

Спасибо сказали: Sad Alex1

Re: Изменить значение Тпз в ПСп

Про SetParameterValueByParCode я тоже не вспомнил.. А оно работает. Спасибо!