Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Строка как число?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
alexkhua
Подскажите. 1С воспринимает значение "000001" как 1. Что делать ? Пробовал так: Строка("0000001") и так "0000001" а видит как 1
Т.е.
//если только по порошку    
Если Параметры.Код<>"000000001" или Параметры.Код<>"000000002" Тогда
    _НаименованиеПолное = СокрЛП(Параметры.Наименование);
    
//По остальным товарам    
Иначе
pablo
Где видит? Судя по Вашему коду, Вы можете сравнивать число со строкой. Параметры.Код какого типа?
Ardi
СокрЛП()

Или нолика нехватает
alexkhua
Как раз Параметры.Код= "00000001",
а "00000001"= 1 Ничего не пойму

Может нельзя сравнивать Строки?
Ardi
Заинстаграмьте каким способом смотрите значения переменной.
Pervuy
А какой тип у Параметры.Код?
Petre
Некоторые сравнения примитивных типов работают, например:
"0000001" = 1 (Ложь)
"0000001" <> 1 (Истина)
alexkhua
Цитата(Ardi @ 21.06.13, 12:40) необходимо зарегистрироваться для просмотра ссылки
Заинстаграмьте каким способом смотрите значения переменной.

Странно, ч/з Shift+F9 и то и то строка"0000000001", нули в одинаковом количестве, пробелов нет. Если курсор подвести к "0000000001" подсвечивает 1.
Ardi
Цитата(Petre @ 21.06.13, 13:17) необходимо зарегистрироваться для просмотра ссылки
Некоторые сравнения примитивных типов работают, например:"0000001" = 1 (Ложь)"0000001" <> 1 (Истина)

Минусую.
alex040269
Цитата(alexkhua @ 21.06.13, 11:51) необходимо зарегистрироваться для просмотра ссылки
Если Параметры.Код<>"000000001" или Параметры.Код<>"000000002" Тогда _НаименованиеПолное = СокрЛП(Параметры.Наименование); //По остальным товарам Иначе


Код в ветке иначе будет исполнен, когда Параметры.Код будет равен "000001" и "000002" ОДНОВРЕМЕННО!!

Соглачно закона де Моргана =
 НЕ (Параметры.Код = "000000001" и Параметры.Код = "000000002" )
Petre
Цитата(Ardi @ 21.06.13, 13:27) необходимо зарегистрироваться для просмотра ссылки
Минусую.

Сори. Не совсем понял реплику.

Начнем сначала. С чего Вы взяли, что...
Цитата(alexkhua @ 21.06.13, 11:51) необходимо зарегистрироваться для просмотра ссылки
1С воспринимает значение "000001" как 1.

Согласно приведенному коду это не очевидно.

Цитата(alex040269 @ 21.06.13, 14:51) необходимо зарегистрироваться для просмотра ссылки
Код в ветке иначе будет исполнен, когда Параметры.Код будет равен "000001" и "000002" ОДНОВРЕМЕННО!!

Совершенно верно. Код в ветке иначе не будет исполнен никогда.
alex040269
Цитата(Petre @ 21.06.13, 15:05) необходимо зарегистрироваться для просмотра ссылки
Сори. Не совсем понял реплику.


цитата, на которую сделана реплика "минусую" больше похожа на цитату, например , Льюиса Кэрола Алиса в зазеркалье, а не форум 1С smile.gif
сори за оффтоп.
Petre
Всего лишь хотел сказать, что, если автор ожидал вызова ошибки от сравнения числа со строкой, то ее не будет.
alexkhua
Цитата(alex040269 @ 21.06.13, 14:51) необходимо зарегистрироваться для просмотра ссылки
Код в ветке иначе будет исполнен, когда Параметры.Код будет равен "000001" и "000002" ОДНОВРЕМЕННО!!

Соглачно закона де Моргана =
 НЕ (Параметры.Код = "000000001" и Параметры.Код = "000000002" )

Почему "И" ,не понял?
alex040269
отрицание дизьюнкции - есть коньюкция отрицаний и наоборот.
I курс "Дискретная математика"
Ardi
Цитата(alex040269 @ 21.06.13, 14:51) необходимо зарегистрироваться для просмотра ссылки
НЕ (Параметры.Код = "000000001" и Параметры.Код = "000000002" )

Ну это... минусую.
vadim007
Цитата(alexkhua @ 21.06.13, 11:51) необходимо зарегистрироваться для просмотра ссылки
Подскажите. 1С воспринимает значение "000001" как 1. Что делать ? Пробовал так: Строка("0000001") и так "0000001" а видит как 1
Т.е.
//если только по порошку    
Если Параметры.Код<>"000000001" или Параметры.Код<>"000000002" Тогда
    _НаименованиеПолное = СокрЛП(Параметры.Наименование);
    
//По остальным товарам    
Иначе

alexkhua, судя по вашим комментариям, у остальных товаров коды "000000001" или "000000002". Тогда в условии вместо "или" напишите "и", и будет вам счастье.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.