Версия для печати темы (https://pro1c.org.ua/index.php?s=2190c68057912677b474ca951a500a5c&showtopic=15554)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.1 (8.0) _ Сравнение данных

Автор: SanSay 16.11.13, 20:27

Привет.
Есть Справочник.ФИО у которого есть реквизит "Команда" с типом "СправочникСсылка.Команда", т.е. данные подтягиваются из справочника "Команда"

и в определенном месте кода нужно сделать сравнение: Если Команда = "Команда1" Тогда

бла бла бла
Выборка = Справочники.ФИО.Выбрать();
Пока Выборка.Следующий() Цикл
    Наименование = Выборка.Наименование;
    Команда = Выборка.Команда;
    Если Команда = "Команда1" Тогда // вот нужное СРАВНЕНИЕ
        бла бла бла
    КонецЕсли;
бла бла бла


если же сделать реквизит "Команда" просто строкой, то проблем нет, сравнение срабатывает как часы.
Могу предположить что переменную "Команда = Выборка.Команда;" надо видимо как то конвертировать в строку.


Автор: Fynjy 16.11.13, 20:39

Цитата(SanSay @ 16.11.13, 21:27) *
если же сделать реквизит "Команда" просто строкой, то проблем нет, сравнение срабатывает как часы.

Нельзя сравнивать примитивные типы и сложные ...

Автор: asd34 16.11.13, 21:14

Если Команда = Справочники.Команда.НайтиПоНаименованию("Команда1") Тогда

Автор: SanSay 16.11.13, 22:45

Цитата(asd34 @ 16.11.13, 23:14) *
Если Команда = Справочники.Команда.НайтиПоНаименованию("Команда1") Тогда

во, точно
хотя по мне так проще придумали бы конвертер какойнить )
в екселе же в VBA (макросах) конвертируются числа в строки и т.п. и тут бы небось могли бы замутить )

кстати я еще эти команды через "Перечисления" делал так с ними даже проще/симпотишнее по моему:
Если Команда = Перечисления.Команда.Команда1 Тогда

Автор: alex040269 17.11.13, 9:21

Цитата(SanSay @ 16.11.13, 22:45) http://pro1c.org.ua/index.php?act=findpost&pid=77999
во, точно
хотя по мне так проще придумали бы конвертер какойнить )
в екселе же в VBA (макросах) конвертируются числа в строки и т.п. и тут бы небось могли бы замутить )

кстати я еще эти команды через "Перечисления" делал так с ними даже проще/симпотишнее по моему:
Если Команда = Перечисления.Команда.Команда1 Тогда


все зависит от типа данных, гламур здесь ни при чем. 1С - не блондинка.

Автор: SanSay 17.11.13, 22:44

уже конечно не актуально, но всеже... случайно наткнулся:
Если Строка(Команда) = "Команда1" Тогда // и было бы мне счастье )

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua