|
v7: 1СPP получение документа по значению поля в шапке документа. | ☑ | ||
---|---|---|---|---|
0
Владимир1С
28.11.16
✎
17:01
|
Здравчтвуйте. Не получается задать условие , пишет
Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'from'. айдишник - число. Айдишник = ТЕ.АйДиНаСайте; Запрос=СоздатьОбъект("ODBCRecordset"); ТЗ=" |select | ДокИЗ.ID as [Дк $Документ.ИнтернетЗаказ], | |from | $Документ.ИнтернетЗаказ as ДокИЗ |where | $ДокИЗ.ИДнаСайте = Айдишник"; Помогите , пожалуйста, разобраться. |
|||
1
Cool_Profi
28.11.16
✎
17:02
|
Запрос.Отладка(1);
и покажи результирующий запрос |
|||
2
Владимир1С
28.11.16
✎
17:07
|
ТЗ = "select ДокИЗ.ID as [Дк $Документ.ИнтернетЗаказ],from $Документ.ИнтернетЗаказ as ДокИЗwhere $ДокИЗ.ИДнаСайте = Айдишник"
Вроде вместо Айдишник должно уходить число, так? что то я не понял, число то где? |
|||
3
Cool_Profi
28.11.16
✎
17:11
|
(2) Или в строку запроса его плюсуй, или параметром передавай
|
|||
4
Владимир1С
28.11.16
✎
17:13
|
Хорошо, число как ынутрь плюсануть : не строка же? со строкой понятно, а с числом как?
|
|||
5
Владимир1С
28.11.16
✎
17:14
|
ДокИЗ.ИДнаСайте число(19)
|
|||
6
Cool_Profi
28.11.16
✎
17:15
|
(4) ТЗ="
|select | ДокИЗ.ID as [Дк $Документ.ИнтернетЗаказ], | |from | $Документ.ИнтернетЗаказ as ДокИЗ |where | $ДокИЗ.ИДнаСайте = " + 123456789; |
|||
7
Владимир1С
28.11.16
✎
17:16
|
+ это указание на тип - число, я правильно понял?
|
|||
8
Cool_Profi
28.11.16
✎
17:18
|
(7) Я тебя не понял вообще. Так что тебе легче, ты хоть как-то понял...
|
|||
9
Владимир1С
28.11.16
✎
17:20
|
сегодня первый раз на 1СРР пишу запрос.
|
|||
10
PRO100 NigGaZ
28.11.16
✎
17:22
|
(9) $ДокИЗ.ИДнаСайте = :Айдишник";
рс.УстановитьТекстовыйПараметр("Айдишник", intID); может так? |
|||
11
Владимир1С
28.11.16
✎
17:23
|
щас ...
|
|||
12
Вафель
28.11.16
✎
17:25
|
запятая же перед фром
|
|||
13
Cool_Profi
28.11.16
✎
17:27
|
(12) +1
|
|||
14
Владимир1С
28.11.16
✎
17:27
|
Запятой уже нет
|
|||
15
Владимир1С
28.11.16
✎
17:37
|
Заработало:
ТЕ.ВыбратьСтроки(); инд = 0; клвСтрок = ТЕ.КоличествоСтрок(); Пока ТЕ.ПолучитьСтроку() = 1 Цикл инд = инд+1; стрАйдишников = стрАйдишников+?( инд = клвСтрок ,")",","); //КонецЦикла; Айдишник = ТЕ.АйДиНаСайте; Запрос=СоздатьОбъект("ODBCRecordset"); ТЗ=" |select | ДокИЗ.IDDoc as [Дк $Документ.ИнтернетЗаказ] |from | $Документ.ИнтернетЗаказ as ДокИЗ |where | $ДокИЗ.ИДнаСайте = :Айдишник"; Запрос.УстановитьТекстовыйПараметр("Айдишник",Айдишник); //Запрос.УстПараметр("Айдишник", intID); ТабЗнач=Запрос.ВыполнитьИнструкцию(ТЗ); Если ТабЗнач.КоличествоСтрок()>0 Тогда Рез=ТабЗнач; КонецЕсли; Сообщить( Рез.ПолучитьЗначение(1,1) ); КонецЦикла; Рез.ВыбратьСтроку( ," ИнетЗаказы из базы " ); Большое спасибо всем за помощь! |
|||
16
Вафель
28.11.16
✎
17:44
|
есть метод ВыполнитьСкалярно
|
|||
17
Cool_Profi
28.11.16
✎
17:45
|
(16) А если у него больше одного документа?
|
|||
18
Владимир1С
28.11.16
✎
18:05
|
(17)Табличку переберу.
Не нашёл, как скормить ему списокЗначений, числа, не строки. Вообще есть такое? |
|||
19
Владимир1С
29.11.16
✎
09:06
|
Прошу прощения, есть один маленький вопросик.
А всё-таки, каким способом передать в запрос параметр - список значений, по хорошему, кроме текстовой строки-дополнения в сам запрос? Метод может есть какой? Искал, не нашёл. Подскажите? То, что вхождение левым соединением отрабатывается, это знаю. |
|||
20
Cool_Profi
29.11.16
✎
09:09
|
(19) УложитьСписокЗначений(), если у тебя ссылки.
Или напихивание во временную таблицу и join с ней |
|||
21
Владимир1С
29.11.16
✎
09:10
|
(20) спасибо, за временную таблицу.
|
|||
22
Salimbek
29.11.16
✎
10:30
|
(19) Воспользуйся этим: http://www.1cpp.ru/forum/YaBB.pl?num=1170322440/7#7
|
|||
23
Владимир1С
29.11.16
✎
11:04
|
(22) Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |