Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Неявное преобразование типов
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
Lefer
Доброго времени суток. У меня вопрос по неявному преобразованию типов. Есть функция, куда передается параметр "Курс" - в нем находится параметр курс валюты (тип число)
Пересчет(Параметр1,Параметр2,Параметр3,Параметр4,Курс="")



В функции есть условие проверки на то заполнен ли параметр "Курс" или нет
Если Курс <> "" Тогда 
                ...
         КонецЕсли;


Корректна ли такая запись " Курс="" и Курс<>"" и возможны ли с ней проблемы? Или надо вместо проверки на пустую строку ставить NULL? Ведь мы всегда будем передавать в параметр число... или неявное преобразование типов сработает?
Fynjy
Если СокрЛП(Курс) <> "" Тогда
logist
Может быть
Пересчет(Параметр1,Параметр2,Параметр3,Параметр4,Курс= Неопределено)

и
Если ЗначениеЗаполнено(Курс) Тогда 
                ...
         КонецЕсли;
Vofka
Lefer, а это тяжело опытным путем проверить? smile.gif
Lefer
Цитата(Fynjy @ 16.12.10, 16:46) необходимо зарегистрироваться для просмотра ссылки
Если СокрЛП(Курс) <> "" Тогда


Согласен, СокрЛП() здесь очень уместен, но все же верно ли так писать? А если мы так же тип Дату будем сравнивать?
Lefer
Цитата(Vofka @ 16.12.10, 16:48) необходимо зарегистрироваться для просмотра ссылки
Lefer, а это тяжело опытным путем проверить? smile.gif


Вы знаете, оно работает))) Но, хочется знать о подводных камнях если таковые тут есть)
Lefer
Цитата(logist @ 16.12.10, 16:47) необходимо зарегистрироваться для просмотра ссылки
Может быть
Пересчет(Параметр1,Параметр2,Параметр3,Параметр4,Курс= Неопределено)

и
Если ЗначениеЗаполнено(Курс) Тогда 
                ...
         КонецЕсли;


Насколько я понимаю, Неопределено используется для составных типов данных и неопределенных... а тут-то число. Может все таки NULL? В запросах такую проверку я видел через NULL...

Простите за дотошность, но в книгах про это не сказано, а подсказать могут только опытные люди.)
zetovich
Логист дело говорит.
logist
Цитата(Lefer @ 16.12.10, 16:55) необходимо зарегистрироваться для просмотра ссылки
Насколько я понимаю, Неопределено используется для составных типов данных и неопределенных... а тут-то число.

"Неопределено" это пустое значение любого типа. Хотя я не спец в этом вопросе.
Lefer
Неопределено - универсальная штука получается) А вот в таком условии можно использовать Неопределно?

 СтрокаТЧ.Номенклатура <> Неопределно
Или лучше
 Справочники.КлассификаторТовара.ПустаяСсылка()
logist
Цитата(Lefer @ 16.12.10, 17:09) необходимо зарегистрироваться для просмотра ссылки
Неопределено - универсальная штука получается) А вот в таком условии можно использовать Неопределно?

 СтрокаТЧ.Номенклатура <> Неопределно
Или лучше
 Справочники.КлассификаторТовара.ПустаяСсылка()

Ну здрасьте, если там может быть только Номенклатура то конечно надо использовать .ПустаяСсылка()
Fynjy
Цитата(Lefer @ 16.12.10, 16:49) необходимо зарегистрироваться для просмотра ссылки
Согласен, СокрЛП() здесь очень уместен, но все же верно ли так писать? А если мы так же тип Дату будем сравнивать?

Не совсем понял - вам сравнить с "" или ПустоеЗначение() как в 7.7? Если второй то в 8.1 есть метод ЗначениеЗаполнено()
Lefer
Цитата(Fynjy @ 16.12.10, 18:15) необходимо зарегистрироваться для просмотра ссылки
Не совсем понял - вам сравнить с "" или ПустоеЗначение() как в 7.7? Если второй то в 8.1 есть метод ЗначениеЗаполнено()


ПустоеЗначение() . Может под вечер уже голова закипает и не могу вспомнить,но не встречалось мне ЗначениеЗаполнено в типовых...в каких оно случаях используется (П.С.: CTRL+F1 умею пользоваться - хочу от вас ответ услышать) wink.gif
logist
Цитата(Lefer @ 16.12.10, 18:32) необходимо зарегистрироваться для просмотра ссылки
но не встречалось мне ЗначениеЗаполнено в типовых

Задайте поиском по всем модулям, возможно Вас удивит количество использования ....
Lefer
Цитата(logist @ 16.12.10, 18:40) необходимо зарегистрироваться для просмотра ссылки
Задайте поиском по всем модулям, возможно Вас удивит количество использования ....


Пардон, перегрелся. в УТП 8266 нашел поиском по всем модулям...век живи, век учись!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.