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

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

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

Оффлайн skillful

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


Оффлайн skillful

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

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

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

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

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


Оффлайн oleg-x

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

Оффлайн skillful

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

Оффлайн oleg-x

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

Оффлайн skillful

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

Оффлайн AIFrame

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


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

oleg-x
78 Сообщений
wise wise
39 Сообщений
AIFrame AIFrame
39 Сообщений
alex0402
38 Сообщений
byte777
35 Сообщений
alexandr_ll
33 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
26 Сообщений
LexaK
24 Сообщений
happynattion
22 Сообщений
antoneus
20 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal