#0
by Anderson
Правильное исполнения гарантировано в обоих случаях, но почему-то в типовых решениях используют второй вариант. Ведь метод возвращает всего два значения 0 и 1. Кто какие аргументы приведет?
#17
by Фокусник
Это в каких же типовых используют второй вариант? Посмотрел зик - найдено только 6, в тис тоже 6, в комплексной и в бух - 0
#21
by Барбариска
Я думаю, что первый программист, написавший ПолучитьСтроку > 0 - ничего особенного не имел ввиду и не заморачивался оптимизацией быстродействия. Потом много-много-много где скопировали и вставили. Мне удобнее ПолучитьСтроку =1, для однообразия стиля вариант ПолучитьСтроку > 0 по мере встреч с ним истребляю.
#22
by DF_Slayer
Сравнивать с 0 быстрее - это факт, но выигрыш по времени микроскопический. А вот переключать раскладку лениво, поэтому
#23
by mishaPH
это смотря сколько элементов в выборке. правила хорошего тона сравнивать с 0 если есть такой вариант
#26
by Фокусник
возможно... если считать и варианты без пробелов (что само по себе - отсутствие пробелов - дурной тон). В любом случае вариантов с " = 1" на два порядка больше.
#28
by zalex
Я хренею, и это программисты, на полном серьезе, да еще голосовалку... Адинэс сожгла ваш мозг )))) Мой вариант в списке отсутствует, да и боюсь матофильтр не пропустит ;)
#29
by Каанкереде
Неопределенностей в программировании не люблю и действую впрямую по документации. Если проверяю "на удачу" то проверяю на равенство 1, если на неудачу, то на =0...
#32
by Барбариска
когда-то давно писала что-то вроде Число(ПолучитьСтроку)=0 (хотя наверное там был какой-то другой метод, не настолько часто используемый)- потому что в некоторых ситуациях возвращалось неопределенное значение. Сейчас уже давно на эти грабли не наступала, поэтому "паранойя отступила" )) Хотя например флаги - установлен/не установлен проверяю не как "=1"/"=0", а как "<>0"/"=0"...
#33
by zalex
А чего тут думать, это типы разные. Для числовой переменной равны... Я не о том вообще-то, сприть про скорость которую тратишь на сравнение с нулем и единицей имело смысл во времена до персоналок. На одинске же разницы абсолютно никакой не будет. Хотя бы потому что ПолучитьСтроку работает в 1000 раз медленее чем =1 :)
#40
by zalex
Про скорость уже просвятил, про типы, на примерчик: удивило как можно такую проблему всерьез обсуждать...
#42
by smaharbA
Нормально обсуждать, в некоторых разах ПолучитьСтроку вернет "Пусто" Счас не смоделирую
#43
by zalex
Это не к сабжу, это к , а по сабжу было бы недопустимо сравнение на >0 если бы ПолучитьСтроку могла вернуть ПустоеЗначение, но она всегда возвращает числовое значение поэтому можешь писать ПолучитьСтроку=1, ПолучитьСтроку>0, а также с учетом ПустоеЗначение(ПолучитьСтроку)=0, отработает одинаково ))
#44
by Anderson
Ну и что ты этим доказал? Что пустое значение и 0 это разные типы (это и так ясно)и что дальше?
#45
by zalex
ПолучитьСтроку Синтаксис: ПолучитьСтроку Назначение: Получить из выборки следующую строку табличной части документа. Возвращает: 1 - если строка выбрана 0 - иначе. сначала смоделируй...
#52
by zalex
Блин, точно может: вот уроды... ЗЫ: Просто как-то ни разу в голову не приходило на больше/меньше их сравнивать, только на равенство... (
#53
by Барбариска
">0" не сработает, скажет что "Операции сравнения на больше-меньше допустимы только над значениями совпадающих базовых типов (число, строка, дата)" "=1" - корректнее
#54
by zalex
+ Что ж был не прав, прошу загладить искупить :)) Теперь уже вполне аргументированно (хотя всегда так и делал):
#57
by mishaPH
да. а табл.ВыбратьСтроки уже отменили?? 52 в любом случае попадет в исключение с таким подходом. и пофиг с чем сравнивают
#64
by kazam
"в любом случае попадет в исключение с таким подходом" 1с коряга конечно но не настолько
#65
by Барбариска
немножко к теме не относится, но тоже забавная вещь Если ТЗ.КоличествоСтрок=0 Тогда всегда ли корректно?
#67
by Барбариска
"Возвращает число: 1 - если выбор произведен (нажата кнопка ОК); 0 - если выбор не произведен (нажата кнопка ''ОТМЕНА''); -1 (минус единица) - закончилось время <Таймаут> ожидания отклика пользователя. Параметры: <Строка> - необязательный параметр. Идентификатор переменной, куда помещается значение - номер выбранной строки. При вызове метода здесь можно передавать значение начального номера строки.
#71
by Рэйв
Вот откажешься ты от выбора, вернется тебе в Зн нолик.И что тебе скажет Эска, когда ты попытаешься получить строку с таким номером?:)
#74
by zalex
И чо? Отказался от выбора, ТЗ.ВыбратьСтроку(Ном) вернет 0, далее не(0=1) двойное отрицание, значит истина, уходим на возврат, т.е. конструкция полностью аналогична:
#77
by Барбариска
см пусть изначально инициализировали Ном = 1; Выбрали строку, клацнув двойным щелчком по ТЗ -...если "промазали" - чуть ниже последней строки - вылетаем - строка вроде и выбрана (ВыбратьСтроку возвращает 1), а вроде и Ном = 0... ))
#79
by Барбариска
(+77) поэтому возвращаемое значение Ном тоже приходится контролировать, как бы это ни казалось со стороны излишним))
#83
by zalex
+ Правда тут уже можно на нарваться, но достаточно начальное значение присваивать единицу и проверять на количество строк...
#87
by Мулька
хотя правильнее, имхо, на >0 Раньше (в других языках) на 1 или 0 никогда не сравнивали, ибо возвращаемый результат в машинных кодах выглядел как 0,999999......, но не 1 - не помню в каком языке/компиляторе, но на такое накалывался.
#91
by Мулька
На несоответствие типов ? Внимательно читать . Считаю правильным >, привык к =. Если где и нарываюсь - знак не правлю, добавляю Число или Строка/СокрЛП
#92
by zalex
Фиговый какой-то у тебя был компилятор, если функция возвращает значение вроде int, значит и вернуть она должна 1, а никак не 0,9999999. В любом языке. Похоже тебе что-то смутно припомнилось про работу с переменными с плавающей точкой, так их правда на равенство нельзя сравнивать, потому как количество знаков после запятой переменно, но это совершенно не тот случай...
#93
by Мулька
Может и так. Давно это было, но в подсознании осталось. На PL/1 тоже когда то рисовал, может даже и Фортран. Машина была не чета нынешним - ЕС-1022, 1035, 1060
#94
by zalex
Ты не поверишь, но в одноэсе остались те же грабли, так как там тоже есть числа с плавающей точкой, но в этой ветке обсуждались не они ;)))
#96
by zalex
Глянь прикольно... Там ошибка конечно, нет ВыбратьСтроки, но ты разве никогда не ошибаешься? ;) =1 без вариантов сработает верно, больше/меньше не рулит, и даже с неравно есть шанс нарваться
#97
by ShootNICK
На разные получить/найти памяти не напасешься, где то возвращается 1, где то порядковый номер символа.
#98
by mishaPH
Что ж ты такой упертый! там ощибка, все будет работать итак неправильно и пофиг уже что возвращает о или -1 или еще какую хрень
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- v7: Как учитывать векселя
- Упал сервер 1С при создании нового подключения база оказалась пустой
- обратиться к реквизиту справочника (УУП)
- Обновления Qip
- Для чего служит реквизит <ТекЗнач> в методе ОткрытьПодбор
- Как в иерархии элементов сделать красивый отбор.
- Можно ли изменить глобальную фабрику XDTO
- А вы пользуетесь скриптами для автоматизации административных задач? (опрос
- v7: Как работает функция Счётчик в запросе?
- Как сделать автоотступ в построителе отчета?
- Как вывести параметры запроса в заголовок таб.документа в консоли отчетов
- Флажок в Табличном поле
- Как получить полную структуру подчиненности?
- Помогите ментально: Запись не верна. Период не может быть пустым
- По умолчанию при нажатии Ctrl-F поиск настроен на поиск по текущей колонке
- В Форме списка справочника активизировать нужную строку
- В Форме списка справочника активизировать нужную строку
- Нужно оптимальное интерфейсное решение флажка с тремя состояниями
- Проблема открытия списка подчиненных документов.
- Как добавить вычисляемую колонку в автом. генерир. макет постр-лем отчета