|
как отобрать в запросе документ по наименованию? | ☑ | ||
---|---|---|---|---|
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) Надо парсить текст регулярками, иначе - никак!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |