|   |   | 
| 
 | Глюк платформы или расширения? ПредопределенноеЗначение() | ☑ | ||
|---|---|---|---|---|
| 0
    
        ponaroshku 15.05.18✎ 10:19 | 
        Добрый день! Платформа 8.3.11.2867
 Есть блок, вынесенный в расширение, там добавлен код (сегодня, поэтому как ранее было не могу сказать, работало ли) Если Контрагент = ПредопределенноеЗначение("Справочник.Контрагенты.ПустаяСсылка") Тогда Так вот Смотрим в табло Контрагент - пустая ссылка справочника контрагенты Предопределенное значение - пустая ссылка справочника контрагенты но условие не выполняется Если написать явно Контрагент = Справочник.Контрагенты.ПустаяСсылка() Возвращает Истина Я посмотрела сервис публикации ошибок, явного упоминания данной ошибки не нашла Предполагаю, что это из-за того, что блок в расширении, потому что ПредопределенноеЗначение() активно используется в самой конфигурации Вопрос: это ошибка платформы или особенности расширения? В СП написано Результат выполнения кэшируется при первом обращении до изменения конфигурации или версии платформы. Разница в кэшировании конфигурации/расширения? | |||
| 1
    
        mehfk 15.05.18✎ 10:32 | 
        Справочник "Контрагенты" добавлен в расширение?     | |||
| 2
    
        ponaroshku 15.05.18✎ 10:39 | 
        (1) да     | |||
| 3
    
        RomanYS 15.05.18✎ 10:45 | 
        >>но условие не выполняется
 Неверный вывод. Вставь в табло (Контрагент = ПредопределенноеЗначение("Справочник.Контрагенты.ПустаяСсылка")) Скорее не выполняется код вообще, или выполняется не этот код. Почисть кэш для начала. | |||
| 4
    
        mehfk 15.05.18✎ 10:47 | 
        Вообще, у меня такое впечатление, что я то-ли сам на это наталкивался, то-ли читал об этом где-то. В смысле, что это платформа чудит и обходить нужно именно так: Справочник.Контрагенты.ПустаяСсылка()
 Проверю в течении часа. | |||
| 5
    
        mszsuz 15.05.18✎ 10:48 | 
        Это ошибка платформы. Написали, что исправили в 8.3.11.2924. 
 https://bugboard.v8.1c.ru/error/000038192.html | |||
| 6
    
        ponaroshku 15.05.18✎ 10:48 | 
        (3) код выполняется
 не выполняется именно условие Хотя контрагент - пустая ссылка, если в отладчике посмотреть и ПредопределенноеЗначение() - пустая ссылка Однако пустаяссылка не равно пустаяссылка | |||
| 7
    
        ponaroshku 15.05.18✎ 10:49 | 
        (5) спасибо, добрый человек! 
 мне не попалось в багрепорте, но я смотрела конкретно по этой платформе Спасибо много-много раз! | |||
| 8
    
        mszsuz 15.05.18✎ 10:49 | 
        (+5) Тем не менее, у меня воспроизводилась и на более поздних версиях с заимствованными перечислениями     | |||
| 9
    
        ponaroshku 15.05.18✎ 10:51 | 
        (8) буду внимательнее
 (4) спасибо, ошибка все же | |||
| 10
    
        hhhh 15.05.18✎ 11:06 | 
        (9) вообще-то правильно писать
 Если НЕ ЗначениеЗаполнено(Контрагент) что-то вы учудили, сравнивать с пустой ссылкой да еще ее откуда-то там вытаскивать. | |||
| 11
    
        Buster007 15.05.18✎ 11:07 | 
        +(10) прям с пальцев снял ))     | |||
| 12
    
        Buster007 15.05.18✎ 11:09 | 
        +(11) можно предположить, конечно, что там такой алгоритм продвинутый, который завязан на пустые ссылки
 Если условие1 тогда Контрагент = ПредопределенноеЗначение("Справочник.Контрагенты.ПустаяСсылка"); Иначе Контрагент = ПредопределенноеЗначение("Справочник.Партнеры.ПустаяСсылка"); КонецЕсли ... а потом Если Контрагент = ПредопределенноеЗначение("Справочник.Контрагенты.ПустаяСсылка") Тогда тогда не прокатит Значение заполнено | |||
| 13
    
        ponaroshku 15.05.18✎ 11:13 | 
        (10) (11) это упрощенный пример для понимания сути проблемы, не более
 Я ценю время других людей, поэтому упрощаю вопросы, не нагружая их лишними деталями | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |