Имя: Пароль:
1C
1С v8
Метод IF MyRef = V8.Организации.EmptyRef() для COM-соединения уже не работает? 8.3.13.1513
0 jobkostya1c
 
21.10.19
16:14
Народ, подскажите пожалуйста (или это у меня глюки).
Платформа везде 8.3.13.1513 На сервере без контекста при КОМ-соединении c базой получаю в переменной (допустим MyRef) ссылку справочника допустим "Организации". Пытаюсь определить заполнена ли она.

1. Метод MyRef.IsEmpty() всегда выдает "Ложь"
2. Конструкция IF MyRef = V8.Организации.EmptyRef()
вообще не работает, т.к. тип всегда COMОбъект

Помогла только заплатка ПустаяСтрока(СокрЛП(Ref.Description) )
на определение пустая ссылка или нет.

Т.к. данных в проверяемой таблице не много сделана заплатка типа :

Для Каждого Строка Из ИсхТаб Цикл        
        Ref = ВнешняяБаза.Справочники.НоменклатурныеГруппы.GetRef(ВнешняяБаза.NewObject("УникальныйИдентификатор", СокрЛП(Строка.ГУИДСтрокой) ) );        
        Если ПустаяСтрока(СокрЛП(Ref.Description) ) Тогда
            ЕстьОшибка = Истина;
            Сказать("Ошибка в программе. В базе: "+ИмяБазы+" по ГУИДу: "+ Строка.ГУИДСтрокой+" не найдена номенклатурная группа: "+Строка.Наименование+", (код бюджета "+Строка.КодБюджета+" )"  );
            Продолжить;
        КонецЕсли;                
        Строка.Ссылка = Ref;        
    КонецЦикла; // Пока Выборка.Следующий() Цикл...

Показать


В чем может быть дело. Типы справочников в примере одинаковы.
Как в таком случае работать с COM - ссылкой?
1 pechkin
 
21.10.19
16:17
проверяй гуиды
2 Ёпрст
 
21.10.19
16:55
(0)
if ref = ВнешняяБаза.Справочники.НоменклатурныеГруппы.EmptyRef() then
    message ("нехер писать на суржике");
  endif;