Имя: Пароль:
1C
 
как отобрать в запросе документ по наименованию?
,
0 КодерНаЧас
 
05.02.15
12:11
здравствуйте.
есть Ссылка в виде строки "Реализация 000000007 от 01.02.2015 8:46:13"
как в запросе отобрать документ по этому значению?

пробывал:

Запрос = Новый Запрос;
Запрос.УстановитьПараметр( "СсылкаНаДокумент", Строка(Объект.СсылкаНаДокумент));
Запрос.Текст= "ВЫБРАТЬ
              |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Реализация.Ссылка) КАК ссылкаНаДокумент
              |ИЗ
              |    Документ.Реализация КАК Реализация
              |ГДЕ
              |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Реализация.Ссылка) = &СсылкаНаДокумент";
Результат = Запрос.Выполнить().Выбрать();

пишет несовместимы типы для сравнения.


Причем если выбрать без условия - то в результате получаю строки, точно такие же как в условии.
видать чем то они отличаются.
1 чувак
 
05.02.15
12:13
а что мешает делать условие на ссылку?
2 eklmn
 
гуру
05.02.15
12:13
7овнокодом тащит издалека
3 КодерНаЧас
 
05.02.15
12:14
(1)получаю на входе именно строку
4 EugeniaK
 
05.02.15
12:14
(0) Нельзя сравнивать ПРЕДСТАВЛЕНИЕССЫЛКИ(Реализация.Ссылка) = &СсылкаНаДокумент
Функция ПРЕДСТАВЛЕНИЕССЫЛКИ() выполняется уже после выбора данных в зависимости от региональных настроек.
Нужно ставить условие на ТипДокумента и на номер.
Лучше все-таки по ссылке.
5 FIXXXL
 
05.02.15
12:15
Объект.СсылкаНаДокумент - это точно строка? сомнительно
6 Crush
 
05.02.15
12:15
Тип / ТипЗначения смотри
7 ktvladimir
 
05.02.15
12:15
Запрос.УстановитьПараметр( "СсылкаНаДокумент", Объект.СсылкаНаДокумент);
Запрос.Текст= "ВЫБРАТЬ
              |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Реализация.Ссылка) КАК ссылкаНаДокумент
              |ИЗ
              |    Документ.Реализация КАК Реализация
              |ГДЕ
              |    Реализация.Ссылка = &СсылкаНаДокумент";

карма не позволяет параметром ссылку использовать?
8 КодерНаЧас
 
05.02.15
12:16
(6)да точно строка
9 чувак
 
05.02.15
12:16
(3) на выходе на здоровье получай представление, а в условии можешь использовать ссылку
10 ktvladimir
 
05.02.15
12:16
конечно строка если ты его в строку преобразовываешь
Строка(Объект.СсылкаНаДокумент)
только на кой? почему не просто Объект.СсылкаНаДокумент
11 КодерНаЧас
 
05.02.15
12:17
на уф - поле с типом строка. там хранится значение.
надо его от туда вытащить и найти документ
12 чувак
 
05.02.15
12:18
какое значение хранится, покажи.
13 КодерНаЧас
 
05.02.15
12:18
(10) - это я преобразовывал на всякий случай для проверки. там и так строка
14 ktvladimir
 
05.02.15
12:18
на уф в это поле откуда данные попадают? из реквизита типа строка?)) Твоя реализация структуры документа? ))
15 kosts
 
05.02.15
12:19
(11) Так нельзя делать, так можно делать только не_программистам.
16 КодерНаЧас
 
05.02.15
12:21
править не могу. конфа не моя. надо просто найти документ, из данных только строка.
я буду строку разбивать и вытаскивать номер, просто хотелось узнать может можно попроще как то.
17 sivalor
 
05.02.15
12:23
Выгрузить представления документов в таблицу значений и отбирать уже в ней.
18 ktvladimir
 
05.02.15
12:24
фига се у тебя есть номер есть дата и ты не можешь найти документ? для этого ты фигачишь запрос ....
19 ShoGUN
 
05.02.15
12:25
Извращенцы правят миром. Один через опу в конфе сделал, другой через то же место разгребает.
(17) Лучше уж номер-дата,
20 sivalor
 
05.02.15
12:30
(19) согласен
ИмяДокумента = "Реализация";
            
ПараметрыДокумента = Сред(ПредставлениеДокумента, СтрДлина(ИмяДокумента) + 2);
            
НомерДокумента = Лев(ПараметрыДокумента,  Найти(ПараметрыДокумента, "от") -2);
                        
ДеньДокумента = Сред(ПараметрыДокумента, Найти(ПараметрыДокумента, "от")+ 3, 2);
МесяцДокумента = Сред(ПараметрыДокумента, Найти(ПараметрыДокумента, "от") + 3 + 3, 2);
ГодДокумента = Сред(ПараметрыДокумента, Найти(ПараметрыДокумента, "от") + 3 + 3 + 3, 4);
            
ДатаДокумента = Дата(Число(ГодДокумента), Число(МесяцДокумента), Число(ДеньДокумента));
            
ДокументСсылка = Документы.Реализация.НайтиПоНомеру(НомерДокумента, ДатаДокумента);
21 КодерНаЧас
 
05.02.15
12:37
(20) какой основательный подход.
22 КодерНаЧас
 
05.02.15
12:38
да так все получилось спасибо. но вот интересно - ведь скорее всего эту конструкцию не сами писали, где бы найти вот такие конструкции по разбирать, чтобы скилы поднять?
23 ShoGUN
 
05.02.15
12:39
(22) Сначала надо скорректировать мышление и понять, что такие дела строками не надо делать.
24 ktvladimir
 
05.02.15
12:51
(20) а потом у объекта поменяли синоним... :)
25 ShoGUN
 
05.02.15
12:53
(24) ССЗБ. Лучше бы реквизит на ссылочный поменяли.
26 ktvladimir
 
05.02.15
13:00
(25) так слишком просто. Только текст, только хардкор
27 ktvladimir
 
05.02.15
13:01
(26) надо еще периодический регистр замутить в котором хранить изменения в представлении документа.
28 КодерНаЧас
 
05.02.15
13:11
спасибо всем!
29 ShoGUN
 
05.02.15
13:15
(26) Надо парсить текст регулярками, иначе - никак!