Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Окт 2018, 02:05
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Простое сравнение  (Прочитано 139 раз)

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

Оффлайн skillful

  • *
  • Сообщений: 26
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-05-07
  • Сайт: 
В ВыборкаДетальныеЗаписи.Номенклатура.КатегорияНоменклатуры есть категория одежды. Но условие не срабатывает на самом деле. В чем-то здесь ошибка:
Если ВыборкаДетальныеЗаписи.Номенклатура.КатегорияНоменклатуры = "Одежда" Тогда
        НоваяСтрока.Сумма = "456";
    КонецЕсли;


Оффлайн skillful

  • *
  • Сообщений: 26
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-05-07
  • Сайт: 
В ВыборкаДетальныеЗаписи.Номенклатура.КатегорияНоменклатуры есть категория одежды. Но условие не срабатывает на самом деле. В чем-то здесь ошибка:
Если ВыборкаДетальныеЗаписи.Номенклатура.КатегорияНоменклатуры = "Одежда" Тогда
        НоваяСтрока.Сумма = "456";
    КонецЕсли;

Если строка(ВыборкаДетальныеЗаписи.Номенклатура.КатегорияНоменклатуры) = Строка("Одежда") Тогда
    НоваяСтрока.Сумма = "456";
КонецЕсли;

Попробуйте вот так.
Добавлено: 10 Окт 2018, 21:07

Попробуйте вот так.

Спасибо. Работает.


Оффлайн oleg-x

  • *****
  • Сообщений: 856
  • РЕПУТАЦИЯ: 190
  • КПД: 22%
  • Регистрация: 2016-11-02
  • Сайт: 
  • Профессия: Программист 1С
В ВыборкаДетальныеЗаписи.Номенклатура.КатегорияНоменклатуры есть категория одежды. Но условие не срабатывает на самом деле. В чем-то здесь ошибка:
Если ВыборкаДетальныеЗаписи.Номенклатура.КатегорияНоменклатуры = "Одежда" Тогда
        НоваяСтрока.Сумма = "456";
    КонецЕсли;
Ошибка простая. Вы сравниваете ссылочный тип со строковым.
Правильно будет так:
Если ВыборкаДетальныеЗаписи.Номенклатура.КатегорияНоменклатуры.Наименование = "Одежда" Тогда
    НоваяСтрока.Сумма = "456";
КонецЕсли;
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

Оффлайн skillful

  • *
  • Сообщений: 26
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-05-07
  • Сайт: 
Ошибка простая. Вы сравниваете ссылочный тип со строковым.
Правильно будет так:
Если ВыборкаДетальныеЗаписи.Номенклатура.КатегорияНоменклатуры.Наименование = "Одежда" Тогда
    НоваяСтрока.Сумма = "456";
КонецЕсли;
Я так изначально делал. Так не работало, поэтому и написал сюда.

Оффлайн oleg-x

  • *****
  • Сообщений: 856
  • РЕПУТАЦИЯ: 190
  • КПД: 22%
  • Регистрация: 2016-11-02
  • Сайт: 
  • Профессия: Программист 1С
Можно и так сделать, как вы написали, но не во всех случаях, так как преобразуется в строку не определенны реквизит, а представление ссылки. В некоторых случаях результат может быть неожиданным. Например если преобразовать число 1545 в строку, то получим строку "1 545", а не "1545".
Лучше было бы проверить, почему у вас не срабатывает условие.
Либо через отладку, либо выдать сообщение
Сообщить("Категория номенклатуры =" + КатегорияНоменклатуры + ".");
Сообщить("Тип значения: " + ТипЗнч(КатегорияНоменклатуры));
И с вероятность 99.9% сразу станет все понятно.
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

Оффлайн skillful

  • *
  • Сообщений: 26
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-05-07
  • Сайт: 
Можно и так сделать, как вы написали, но не во всех случаях, так как преобразуется в строку не определенны реквизит, а представление ссылки. В некоторых случаях результат может быть неожиданным. Например если преобразовать число 1545 в строку, то получим строку "1 545", а не "1545".
Лучше было бы проверить, почему у вас не срабатывает условие.
Либо через отладку, либо выдать сообщение
Сообщить("Категория номенклатуры =" + КатегорияНоменклатуры + ".");
Сообщить("Тип значения: " + ТипЗнч(КатегорияНоменклатуры));
И с вероятность 99.9% сразу станет все понятно.
Я понял вас. Я не заметил, что у вас написано ВыборкаДетальныеЗаписи.Номенклатура.КатегорияНоменклатуры.Наименование. Да, так срабатывает. Спасибо.

Оффлайн AIFrame

  • *****
  • Сообщений: 1135
  • РЕПУТАЦИЯ: 139
  • КПД: 12%
  • Регистрация: 2015-07-22
  • Сайт: 
Я так изначально делал. Так не работало, поэтому и написал сюда.
А получить ссылку не проще?
СсылкаОдежда = Справочники.КатегорииНоменклатуры.НайтиПоНаименованию("Одежда");
Если ЗначениеЗаполнено(СсылкаОдежда) И ВыборкаДетальныеЗаписи.Номенклатура.КатегорияНоменклатуры = СсылкаОдежда Тогда
    НоваяСтрока.Сумма = 456;
КонецЕсли;


Теги:
 

Почему сравнение на пустую строку разное для равно и не равно?

Автор mankingРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2267
Последний ответ 06 Ноя 2015, 09:02
от Vladimir_Sh
1C 8.x Сравнение реквизитов из табличной части одного документа с реквизитом другого.

Автор evgenij78Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 862
Последний ответ 07 Ноя 2016, 10:15
от LexaK
Сравнение данных из поля ввода на форме документа и справочника.

Автор inclРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 4638
Последний ответ 15 Май 2013, 01:27
от incl
Сравнение строки и значения поля на форме (Ссылка на перечисление)

Автор dimanugaРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 132
Последний ответ 02 Окт 2018, 07:47
от alex0402
Сравнение одинаковых транзакций в двух системах учета 1С8:УПП

Автор khk_10122015Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 693
Последний ответ 20 Май 2016, 09:26
от LexaK

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

AIFrame AIFrame
85 Сообщений
alexandr_ll
69 Сообщений
MuI_I_Ika MuI_I_Ika
53 Сообщений
wise wise
43 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
37 Сообщений
LexaK
35 Сообщений
byte777
35 Сообщений
alex0402
29 Сообщений
Каримдат Каримдат
21 Сообщений
АлександрВладимирович
19 Сообщений

* Кто онлайн

  • Точка Гостей: 132
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal