как в запросе ссылку сделать строкой? #294663


#0 by werta2007
В запросе у меня реквизит является ссылкой на перечисление. Мне этот реквизит нужно сравнить с другим реквизитом, который является строкой. Если я использую функцию Представление, то машина ругается "Неверные параметры в операции сравнения. Нельзя сравниват поля неограниченной длинны и поля несовместимых типов"
#1 by werta2007
Это вопрос по 8-ке!!!!!!!!!!
#2 by werta2007
аау помогите - это срочно
#3 by Программист 484
А преобразовать его в строку? Строка?
#4 by werta2007
строка не работает в запросе
#5 by Ashtray
Выразить(Реквизит как Строка)
#6 by werta2007
"несовместимые типы "ВЫРАЗИТЬ""
#7 by werta2007
что же делать? вчера я ответа так и не получила? помогите ну кто-нибудь!!!!!
#8 by werta2007
Выгрузка.СостояниеСотрудника.Ссылка это ссылка Загрузка.СостояниеСотрудника это строка ВЫБОР как сделать чтобы Выгрузка.СостояниеСотрудника.Ссылка стала строкой ПРЕДСТАВЛЕНИЕ (Выгрузка.СостояниеСотрудника.Ссылка) - ругается ВЫРАЗИТЬ (Выгрузка.СостояниеСотрудника.Ссылка КАК СТРОКА) - ругается
#9 by ZolotarevAA
Машина даже подсказывает направление движения. Попробуйте так:
#10 by werta2007
это запрос а не модуль, поэтому это не работает
#11 by ZolotarevAA
Тогда так: Выразить(Представление(Реквизит) как Строка)
#12 by werta2007
а представления у меня нет, только ссылка и порядок, т.к. СостояниеСотрудника - это Перечисление
#13 by werta2007
не-а ругается на ВЫРАЗИТТЬ
#14 by werta2007
если просто представление то ругаеся см. в вопрос темы
#15 by werta2007
если просто выразить, то тоже ругается на выразить
#16 by werta2007
что делать не знаю.
#17 by ZolotarevAA
Загрузка.СостояниеСотрудника имеет тип Строка, если я правильно понял, а что такое Загрузка?
#18 by werta2007
идея такова: у меня есть документ у которого есть 3 табличные части. 1- Выгрузка - из нее я выгружаю информацию в EXCEL, 2 - Загрузка - в нее я загружаю информацию из EXCEL, те.е на ней вся информация строковая, 3 - Изменения - здесь выводятся отлиыия 2 от 1. Т.Е. я пишу запрос геде хочу снравнить 1 и 2.
#19 by ZolotarevAA
Создай в Загрузке еще один реквизит типа Перечисление, заполнение - на основании строки. В запросе сравнивай не строки, а значения перечисления.
#20 by Scooter
выбор   когда Ссылка.Реквизит = &Перечисление1 тогда ""Перечисление1""   когда Ссылка.Реквизит = &Перечисление2 тогда ""Перечисление2""   когда Ссылка.Реквизит = &Перечисление3 тогда ""Перечисление3"" ...
#21 by werta2007
я поняла спасибо, я так и думала. Правда долго и всю загрузку придется переписывать. Так я просто загрузить сделала, а здесь придется поработать
#22 by werta2007
а нет не могу я этого сделать, т.к. я не знаю что мне там пользователь напишет в файле EXCEL, который я загружаю, я не смогу найти соответствие в перечислении
#23 by Wladimir_spb
Надо сравнивать ПОРЯДОК перечисления. И в загрузке нужно использовать его а не строку
#24 by werta2007
не поняла, как я сраню порядок со строкой?
#25 by Wladimir_spb
Не понял, что сделаете? :) В выгрузке должно быть не строковое представление Перечисления, а только порядок. У вас, в принципе, Выгрузка/Загрузка перечислений написана неправильно.(вероятно все остальное тоже...)
#26 by werta2007
на выгрузке у меня ревизит, который является ссылкой. а на загрузке -строка. Ну и что неправильно? Выгружаю я в файл из выгрузки, соответственно когда загружаю из файла там у меня строка. как же мне тогда сравнить два поля котрые разные по типу. Перебором в циклах это получается на раз два три, а в запросе???
#27 by ZolotarevAA
Что более устойчиво к изменениям: Идентификатор или порядок значения перечисления? P.S. Всегда найдутся люди, которые будут искать элемент справочники по наименованию и говорить, что это работает.
#28 by werta2007
ну собственно я уже решила проблему спасибо ZolotarevAA , правда я добавила реквизит на закладку Выгрузка И  все быстро получилось.
#29 by Wladimir_spb
Действительно, что?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С