|
|
|
Как в запросе указать строчку с кавычками? | ☑ | ||
|---|---|---|---|---|
|
0
pavlushov
19.04.11
✎
11:44
|
Надо в запросе 7.7 указать что то подобное:
|Условие(СокрЛП(Договор) = "Бла бла бла ""Бла"" бла бла"); В таком виде 7.7 ругается. Как сделать ? |
|||
|
1
Ёпрст
гуру
19.04.11
✎
11:45
|
""вася""
|
|||
|
2
Tatitutu
19.04.11
✎
11:45
|
а Договор у тебя наверное документ ?
|
|||
|
3
Ёпрст
гуру
19.04.11
✎
11:46
|
а вообще, сравнивать приведенную ссылку со строкой моветон.
|
|||
|
4
andrewks
19.04.11
✎
11:49
|
жуть
|
|||
|
5
pavlushov
19.04.11
✎
11:55
|
и жуть и моветон - все понятно, суть такова одна 77 конектится к другой по оле и передает туда запрос, соответстенно в запрос приходится запихать значение переменной
|
|||
|
6
pavlushov
19.04.11
✎
11:55
|
я так понимаю нет решения данной проблеммы?
|
|||
|
7
pavlushov
19.04.11
✎
11:56
|
(2) в данном контексте договор - это наименование договора
|
|||
|
8
andrewks
19.04.11
✎
11:57
|
(6) какой? с кавычками? дали же уже
|
|||
|
9
1Сергей
19.04.11
✎
11:57
|
|Условие(СокрЛП(Договор) = "Бла бла бла """"Бла"""" бла бла");
|
|||
|
10
1Сергей
19.04.11
✎
11:58
|
(9) сторно. это по две кавычки :)
|
|||
|
11
Ёпрст
гуру
19.04.11
✎
11:58
|
(9) не верно
|
|||
|
12
andrewks
19.04.11
✎
11:58
|
(9) двоечник :-)
|
|||
|
13
1Сергей
19.04.11
✎
11:59
|
|Условие(СокрЛП(Договор) = ""Бла бла бла """"Бла"""" бла бла"");
|
|||
|
14
pavlushov
19.04.11
✎
12:00
|
(8) где дали то?
|
|||
|
15
Ёпрст
гуру
19.04.11
✎
12:00
|
(14) в (1)
|
|||
|
16
andrewks
19.04.11
✎
12:00
|
(14) -> (1)
|
|||
|
17
1Сергей
19.04.11
✎
12:01
|
ТекДоговор="Бла бла бла ""Бла"" бла бла";
|Условие(СокрЛП(Договор) = ТекДоговор); |
|||
|
18
andrewks
19.04.11
✎
12:01
|
(14) короче, в строковой перем. кавычку нужно удваивать
|
|||
|
19
1Сергей
19.04.11
✎
12:01
|
(15) (16) не прокатит, см (13)
|
|||
|
20
pavlushov
19.04.11
✎
12:01
|
(15) у меня так и написано
"Бла бла бла ""Бла"" бла бла"\ ругается |
|||
|
21
andrewks
19.04.11
✎
12:01
|
(17) это неспортивно!
|
|||
|
22
pavlushov
19.04.11
✎
12:02
|
(13) не катит
|
|||
|
23
andrewks
19.04.11
✎
12:02
|
(19) ему говорят про суть. прокатит - см (18)
|
|||
|
24
pavlushov
19.04.11
✎
12:02
|
(17) так не выйдет, запрос передаем по оле
|
|||
|
25
1Сергей
19.04.11
✎
12:03
|
(24) с чего бы это не прокатило?
|
|||
|
26
Ёпрст
гуру
19.04.11
✎
12:03
|
(25) он не пробовал.
|
|||
|
27
pavlushov
19.04.11
✎
12:04
|
(24) Приемник.Перем = "вывыв" ?
|
|||
|
28
1Сергей
19.04.11
✎
12:04
|
(27) нет
|
|||
|
29
pavlushov
19.04.11
✎
12:05
|
(28) а как ?
|
|||
|
30
pavlushov
19.04.11
✎
12:09
|
Приемник.НаименованиеДоговора = НаименованиеДоговора;
Поле агрегатного объхекта не обнаружено "НаименованиеДоговора" что собственно логично |
|||
|
31
smaharbA
19.04.11
✎
12:16
|
Пофиг=Приемник.CreateObject("СписокЗначений");
Пофиг.ДобавитьЗначение(НаименованиеДоговора); |
|||
|
32
pavlushov
19.04.11
✎
12:19
|
(31) неа, не катит
|
|||
|
33
pavlushov
19.04.11
✎
12:20
|
СписокДоговор = Приемник.CreateObject("СписокЗначений");
СписокДоговор.ДобавитьЗначение(НаименованиеДоговора); СписокЭтап = Приемник.CreateObject("СписокЗначений"); СписокЭтап.ДобавитьЗначение(НаименованиеЭтапа); Запрос = Приемник.CreateObject("Запрос"); ТекстЗапроса = " |Спр = Справочник.Проекты.ТекущийЭлемент; |Договор = Справочник.Проекты.НаименованиеЭтапа; |Этап = Справочник.Проекты.НаименованиеЭтапа; |Условие(СокрЛП(Договор) В СписокДоговор); |Условие(СокрЛП(Этап) В СписокЭтап); Дает ошибку: 1С:Предприятие: Условие(СокрЛП(Договор) В СписокДоговор <<?>> ); |
|||
|
34
pavlushov
19.04.11
✎
12:20
|
|Условие(СокрЛП(Договор) = СписокДоговор.ПолучитьЗначение(1));
тоже самое |
|||
|
35
Ёпрст
гуру
19.04.11
✎
12:22
|
(24) что мешает в запросе фильтровать по списку договоров ?
+ в список кидать элементы справочников, а не какое-то там наименование договора. Ты сами договора знаешь где брать ? Они известны ? (ссылки на них есть?) |
|||
|
36
pavlushov
19.04.11
✎
12:23
|
(35) я думаю без разницы сравнивать с сылкой или со строкой, но по задаче надо сравнивать со строкой
|
|||
|
37
Ёпрст
гуру
19.04.11
✎
12:24
|
(33) в запросе по оле, можно использовать только простые типы данных: число/строка/массив.
А вот заместо СЗ нужно передать массив, элементом которого будет СЗ. |
|||
|
38
Ёпрст
гуру
19.04.11
✎
12:27
|
+37 а у тебя вообще всё просто, нужно всего лишь строку передать.
|
|||
|
39
pavlushov
19.04.11
✎
12:28
|
вобщем передать строку видимо нельзя
|
|||
|
40
Ёпрст
гуру
19.04.11
✎
12:29
|
(39) не тупи, всё можно.
Ковычек добавляешь и привет. |
|||
|
41
Ёпрст
гуру
19.04.11
✎
12:30
|
+40, нам отсюда не видно, что ты передаешь в итоге и как текст запроса формируешь.
Если как в (33) - ясен пень не заработает в оле-базе. |
|||
|
42
pavlushov
19.04.11
✎
12:30
|
(40) добавлял во всевозможных вариантах, не катит
|
|||
|
43
pavlushov
19.04.11
✎
12:31
|
хуле там думать с кавычками
Парам = "ывывыв ""ывывыв"" ывывыв"; |
|||
|
44
pavlushov
19.04.11
✎
12:31
|
не катит
|
|||
|
45
pavlushov
19.04.11
✎
12:31
|
запрос на другой стороне не воспринимает параметр
|
|||
|
46
Ёпрст
гуру
19.04.11
✎
13:16
|
(45) вот тебе наглядный пример...
В оле базе Перем СписокКлиентосов[1] Экспорт; В обработине ОЛЕ.ExecuteBatch("СписокКлиентосов[1] =СоздатьОбъект(""СписокЗначений"")"); м = ОЛЕ.EvalExpr("СписокКлиентосов[1]"); Спр = ОЛЕ.CreateObject("Справочник.Контрагенты"); Пока Спр.ПолучитьЭлемент() = 1 Цикл Если Спр.ЭтоГруппа()=0 Тогда м.ДобавитьЗначение(Спр.ТекущийЭлемент()); КонецЕсли; КонецЦикла; Запрос = ОЛЕ.CreateObject("Запрос"); ТекстЗапроса = " |Спр = Справочник.Номенклатура.ТекущийЭлемент; |Условие (Спр в СписокКлиентосов[1]); |Группировка Спр Без Групп;"; Запрос.Выполнить(ТекстЗапроса); Пока Запрос.Группировка(1)=1 Цикл Сообщить(Запрос.Спр.Наименование); КонецЦикла; сделай по-аналогии, в список пихай что хочешь. |
|||
|
47
Simod
19.04.11
✎
13:21
|
||||
|
48
pavlushov
19.04.11
✎
14:55
|
(46) Спасибо!
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |