Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   7.7 Странное поведение метода ПустоеЗначение() (http://forums.kuban.ru/f1040/7_7_strannoe_povedenie_metoda_pustoeznachenie-9086795.html)

MarySue 20.08.2020 04:40

7.7 Странное поведение метода ПустоеЗначение()
 
Всем доброго настроения и крепкого здоровья.
Вопрос к истинным знатокам (не побоюсь этого слова, гуру) 1С 7.7. Произошла некоторая крайне странная ситуация:
1) открываю обработку, передаю в неё ссылку на документ (в параметре),
2) в обработке получаю эту ссылку через Форма.Параметр
3) в отладчике прям вижу своими глазами, что ссылка заполнена
4) выполняю метод ПустоеЗначение(ДокументСсылка), он возвращает 1 !!!!
5) повторяю, в отладчике вижу, что ссылка заполнена, документ существует, всё с ним нормально

Вопрос: почему ПустоеЗначение(ДокументСсылка) возвращает 1 ?

DogJohn 20.08.2020 07:26

0-Мэри Сью > Варианты про тебя озвучат позже.

K Michael 20.08.2020 07:27

значения следующих типов: «Справочник», «Перечисление», «Документ», «Счет», «Вид субконто», «План счетов», «Календарь» проверяются как в методах Выбран() для соответствующего типа объекта;

USSR 20.08.2020 12:50

(1)Так быть не должно. Приведите фрагмент вызова и фрагмент обработки.

Блондинка в шок 20.08.2020 16:46

[quote=Мэри Сью;47848010]Вопрос: почему ПустоеЗначение(ДокументСсылка) возвращает 1 ? [/quote]
Потому что разница между
ПустоеЗначение(ДокументСсылка) и
ПустоеЗначение(Документ)

где "Документ" получен типо так:
Док = СоздатьОбъект("Документ");
Док.НайтиДокумент(ДокументСсылка);
Документ = Док.ТекущийДокумент();

USSR 20.08.2020 19:05

(4)Так как раз ПустоеЗначение(Документ) должно правильно работать, то есть для ссылки

MarySue 21.08.2020 01:53

Прошу прощения, некорректно описала ситуацию.
Действительно, там оказалась не ссылка на документ, а объект документ, созданный с помощью СоздатьОбъект(). Примерно вот так:

ДокОбъект = СоздатьОбъект("Документ");
ДокОбъект.НайтиДокумент(ВыбДокумент);

Сообщить("ПустоеЗначение(ДокОбъект) = " + ПустоеЗначение(ДокОбъект));

Теперь всё понятно. Вопрос закрыт, всем спасибо.

Чучундер 22.08.2020 00:18

6-Мэри Сью > кто б сомневался ;-)


Текущее время: 01:07. Часовой пояс GMT +3.