Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
09 мая 2024, 12:48

8.2 пустое значение документа

Автор 1cka, 11 апр 2014, 15:18

0 Пользователей и 1 гость просматривают эту тему.

1cka

В документе есть Реквизит с типом ДокументСсылка.
Как проверить поле на пустое значение?


markgenuine

ДокументСсылка = Документы.НаименованиеДокумента.ПустаяСсылка();

bunzuk1991

Если ЗначениеЗаполнено(ДокументСсылка) Тогда
сдесь описуеш если Ссылка заполнена

Иначе


КонецЕсли;

ИЛИ

Если ДокументСсылка = Документы.Документ.ПустаяСсылка() Тогда
сдесь описуеш если Ссылка не заполнена
Иначе

КонецЕсли;

markgenuine

Кстати ЗначениеЗаполнено() - намного дольше выполняется ибо простое сравнение с пустойссылкой(), поэтому разработчики 1С рекомендуют использовать значение только в исключительных случаях. :befhbt:

1cka

Цитата: bunzuk1991 от 11 апр 2014, 15:28
Если ЗначениеЗаполнено(ДокументСсылка) Тогда
сдесь описуеш если Ссылка заполнена

Иначе


КонецЕсли;

ИЛИ

Если ДокументСсылка = Документы.Документ.ПустаяСсылка() Тогда
сдесь описуеш если Ссылка не заполнена
Иначе

КонецЕсли;
Спасибо...:ooifh:
Использовала первое решение
Вот так получилось, если ссылка не заполнена

Если НЕ ЗначениеЗаполнено(ДокументСсылка) Тогда

markgenuine

Цитата: 1cka от 11 апр 2014, 15:35
Цитата: bunzuk1991 от 11 апр 2014, 15:28
Если ЗначениеЗаполнено(ДокументСсылка) Тогда
сдесь описуеш если Ссылка заполнена

Иначе


КонецЕсли;

ИЛИ

Если ДокументСсылка = Документы.Документ.ПустаяСсылка() Тогда
сдесь описуеш если Ссылка не заполнена
Иначе

КонецЕсли;
Спасибо...:ooifh:
Использовала первое решение
Вот так получилось, если ссылка не заполнена

Если НЕ ЗначениеЗаполнено(ДокументСсылка) Тогда
Лучше сразу приучайся как я сказал;)
Если ДокументСсылка = Документы.Документ.ПустаяСсылка() Тогда
//Делаем это
Иначе
//Делаем другое
КонецЕсли;

1cka

Цитата: markgenuine от 11 апр 2014, 15:28
ДокументСсылка = Документы.НаименованиеДокумента.ПустаяСсылка();

так почему-то не получается...

markgenuine

Цитата: 1cka от 11 апр 2014, 15:40
Цитата: markgenuine от 11 апр 2014, 15:28
ДокументСсылка = Документы.НаименованиеДокумента.ПустаяСсылка();

так почему-то не получается...
Что говорит?

1cka

Цитата: markgenuine от 11 апр 2014, 15:42
Цитата: 1cka от 11 апр 2014, 15:40
Цитата: markgenuine от 11 апр 2014, 15:28
ДокументСсылка = Документы.НаименованиеДокумента.ПустаяСсылка();

так почему-то не получается...
Что говорит?
ничего не говорит, просто не выполняется...
я это пишу в процедуре перед открытием документа
т.е. если ДокументСсылка не заполнена, тогда Отказ=Истина
Чтобы нельзя было этот документ сделать по кнопке Добавить, а только вводом на основании другого, где этот реквизит заполняется автоматически...
Добавлено: 11 апр 2014, 15:58


Цитата: markgenuine от 11 апр 2014, 15:28
ДокументСсылка = Документы.НаименованиеДокумента.ПустаяСсылка();


Так работает, если тип реквизита, не ДокументСсылка,а документСсылка.НаименованиеДокумента
Может я неправильно изначально тип присвоила?! Мне нужно чтобы это была ссылка на 2 вида документа.
Мне кажется, что в 8.1 можно было конкретно для двух выбрать, а в 8,2 только общее ДокументСсылка

markgenuine

Какая разница? Если у тебя документ типизирован, то там срабатывает если не типизирован, т.е. может вернуть Неопределено, тогда лучше использовать ЗначениеЗаполнено(). Это условие которое я вам дал должно отрабатывать!!!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск