Тема: Добавление параметров к цехам

Добрый день!
Пытаюсь добавить пользовательский параметр к элементам справочника цехов, как ни кручу - не выходит, отдаётся ошибка "Объект не поддерживает это свойство или метод"

  paramCode = "IS_ADM_DPT"
  defaultValue = "F"
  Set Dpt = theApp.PlantDepartments

  Dpt.First
  Do While Not Dpt.EOF
    Dim Plant
    set Plant = Spr.Properties("Parameters").AsIDispatch
    Call Plant.SetParameterValue(paramCode, defaultValue) 'здесь ошибка :(
    'Call Dpt.SetParameterValue(paramCode, defaultValue) - тоже не работает
    'Call Dpt.SetParameterValueByParCode(paramCode, defaultValue, 0, true) - всё та же ошибка

    set Plant = Nothing
    Spr.Next
  Loop
  Set Dpt = Nothing

Как добиться записи параметра в цех?

Re: Добавление параметров к цехам

paramCode = "IS_ADM_DPT"
  defaultValue = "F"
  Set Dpt = theApp.PlantDepartments

  Dpt.First
  Do While Not Dpt.EOF
    Dim Plant
    set Plant = Spr.Properties("Parameters").AsIDispatch
    Call Plant.SetParameterValueByParCode(paramCode, defaultValue, 0, true) 
    set Plant = Nothing
    Dpt.Next
  Loop

https://help.technologics.ru/7.7/TCSAPI … Values.htm, https://help.technologics.ru/7.7/TCSAPI … ode_13.htm

(изменено: pavelAgregat73, 28 сентября 2020 15:07:40, причина: дополнение)

Re: Добавление параметров к цехам

Этот код не работает( Ошибка та же.
А если нужно работать с цехом как с элементом номенклатуры, то как его получить?

Re: Добавление параметров к цехам

Sub Test12345
  paramCode = "IS_ADM_DPT"
  defaultValue = "F"
  Set Dpt = theApp.PlantDepartments

  Dpt.First
  Do While Not Dpt.EOF
    Dim Plant
    set Plant = Dpt.Properties("Parameters").AsIDispatch
    if not Plant.SetParameterValueByParCode(paramCode, defaultValue, 0, true) then theApp.ShowErrorMessage( "Cannot write paameter" )
    Dpt.Next
  Loop

End Sub

Так точно работает.Там переменная в первоначальнмо коде перепутана была, ну и это не метод а свойство оказывается (по другому вызывается)

А если нужно работать с цехом как с элементом номенклатуры, то как его получить?

А это что значит?

Re: Добавление параметров к цехам

Да, про не правильно написанную переменную знаю, правил, не работало.
Получается, что
"Call Plant.SetParam...." - не работает,
"If Plant.SetParam..." - работает

В любом случае, большое спасибо

Re: Добавление параметров к цехам

Ну Call только для процедур, если свойстова то в скриптах его надо чему то присвоить.
Что-то типа

   a  = Plant.SetParameterValueByParCode(paramCode, defaultValue, 0, true)

или

   if Plant.SetParameterValueByParCode(paramCode, defaultValue, 0, true) Then :

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

Спасибо сказали: pavelAgregat731