IAttachedParams Наследование  Функции и процедуры



Присоединенные параметры

См. также: Nomenclatures , GroupNomenclatures , NmkSpecification , NmkTechnology , UserNomenclatureDesktop


Пример на VB:
Используемые переменные:
    IDnomenklaturi  - идентификатор номенклатуры 
    KodPar - уникальный код параметра
    SpravNote - обозначение класса номенклатуры.    
    RetParValue - значение параметра
Чтение параметра через IAttachedParams:
  Dim Nmks As CSDN.Nomenclatures 
  Dim NMkPArs As CSDN.ParameterValues 
  Dim AtPar As CSDN.IAttachedParams 
  
   RetParValue  = "" 
   On Error GoTo err 
    If App.NmkClasses.Locate("NOTE", SpravNote, 0) Then 
        Set Nmks = App.Nomenclatures(App.NmkClasses.Properties("ID").AsInteger) 
        Set AtPar = Nmks 
        If Not AtPar.IsParamAttached(KodPar) Then AtPar.AttachParams(KodPar) 
        If Nmks.Locate("ID", IDnomenklaturi, 0) Then RetParValue  = AtPar.AttachedParamValue(KodPar) 
    End If 
err: 
Set NMkPArs = Nothing 
Set Nmks = Nothing 
Set AtPar = Nothing 
Запись значения параметра через IAttachedParams:
On Error GoTo err 
 If App.NmkClasses.Locate("NOTE", SpravNote, 0) Then                                
     Set Nmks = App.Nomenclatures(App.NmkClasses.Properties("ID").AsInteger)  
      
    Set AtPar = Nmks 
    'Проверяем присоединен ли параметр (хотя присоединять лучше все сразу до 10 штук!) 
     'Хотя для записи его присоединять необязательно 
    If Not AtPar.IsParamAttached(KodPar) Then Call AtPar.AttachParams(KodPar)        
   'позиционирование на номенклатуре с заданным ID 
    If Nmks.Locate("ID", IDnomenklaturi, 0) Then                                    
       If AtPar.CanEditValue Then 
           Call AtPar.SetParameterValue(KodPar, ParValue ) 'Устанавливаем значение. Если пустая строка, он сам ее удалит 
        Else: MsgBox "Нет прав!" 
       End If 
    End If 
 End If 
err: 
Set AtPar = Nothing 
Set Nmks = Nothing