|
Глюк платформы или расширения? ПредопределенноеЗначение() | ☑ | ||
---|---|---|---|---|
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) это упрощенный пример для понимания сути проблемы, не более
Я ценю время других людей, поэтому упрощаю вопросы, не нагружая их лишними деталями |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |