|
v7: поскажите почему ошибка ODBCRecordset | ☑ | ||
---|---|---|---|---|
0
zladenuw
28.12.12
✎
13:46
|
Запрос = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = " |SELECT |* |FROM $Справочник."+"СТСостоянияОбъектов"+" as Спр where Спр.КодВнешний=:ВыбКод"; Запрос.УстПараметр("ВыбКод",55169095549987777); ТЗ2 = Запрос.ВыполнитьИнструкцию(ТекстЗапроса); Запрос.УстПараметр("ВыбКод",55169095549987777); {C:\USERS\KIRILL\DESKTOP\123.ERT(34)}: Недопустимое значение индекса параметра |
|||
1
ДенисЧ
28.12.12
✎
13:47
|
УстановитьТекстовыйПараметр() ?
|
|||
2
1Сергей
28.12.12
✎
13:47
|
КодВнешний - число?
|
|||
3
Aprobator
28.12.12
✎
13:48
|
код небось текстовый.
|
|||
4
zladenuw
28.12.12
✎
13:49
|
(1) спасибо
но теперь FAILED! ICommandText::Execute(): SQL: Column 'КОДВНЕШНИЙ' is not found. |
|||
5
ДенисЧ
28.12.12
✎
13:49
|
|FROM $Справочник."+"СТСостоянияОбъектов"+" as Спр where $Спр.КодВнешний=:ВыбКод";
|
|||
6
Mikeware
28.12.12
✎
13:50
|
(4)$Спр.
|
|||
7
zladenuw
28.12.12
✎
13:50
|
(5,6) FAILED! ICommandText::Execute(): Operator/operand type mismatch.
|
|||
8
Mikeware
28.12.12
✎
13:52
|
(7)Запрос.УстПараметр("ВыбКод","55169095549987777");
|
|||
9
ДенисЧ
28.12.12
✎
13:52
|
(7) А теперь ответь на (2) :-))
|
|||
10
Mikeware
28.12.12
✎
13:52
|
(7)Запрос.УстановитьТекстовыйПараметр("ВыбКод","55169095549987777");
|
|||
11
КонецЦикла
28.12.12
✎
13:52
|
:)
Санто-барбора |
|||
12
zladenuw
28.12.12
✎
13:54
|
спасибо.
Разобрался. Но как мне получить наименование реквизитов такие же как 1с Сейчас получаю sp5421,а мне надо именно КодВнешний |
|||
13
1Сергей
28.12.12
✎
13:54
|
(11) ты чото О-коешь. Со средней полосы России?
|
|||
14
ДенисЧ
28.12.12
✎
13:55
|
(12) куда получить?
|
|||
15
zladenuw
28.12.12
✎
13:56
|
Запрос = База.СоздатьКоманду();
ТекстЗапроса = " |SELECT |* |FROM $Справочник."+"СТСостоянияОбъектов"+" as Спр where $Спр.КодВнешний=:ВыбКод"; Запрос.УстановитьТекстовыйПараметр("ВыбКод","55169095549987777"); ТЗ2 = Запрос.ВыполнитьИнструкцию(ТекстЗапроса); ТЗ2.ВыбратьСтроки(); Пока ТЗ2.ПолучитьСтроку()=1 Цикл Сообщить(ТЗ2.КодВнешний); Сообщить(ЗначениеИзСтрокиВнутр(ТЗ2.ВнутреннееПредставление)); Сообщить("Дата КПК - "+ТЗ2.ДатаКПК+", Дата Загрузки "+ТЗ2.ДатаКонтроль); Сообщить("----"); КонецЦикла; Сообщить(ТЗ2.КодВнешний); в отладчике нету такой колонки. есть только sp5421 ну и дальше |
|||
16
Aprobator
28.12.12
✎
13:56
|
(12) жесть то какая.
|
|||
17
ДенисЧ
28.12.12
✎
13:57
|
дык и не будет. Альясы прописывай через метаданные.
|
|||
18
ЧеловекДуши
28.12.12
✎
13:57
|
(15)Иди, проспись, новый год скоро :)
Ведать все же пятница... волшебная... некоторым мозг отшибает :) |
|||
19
Aprobator
28.12.12
✎
13:58
|
не иначе As спрели из запроса.
|
|||
20
Mikeware
28.12.12
✎
13:59
|
(15) ошибка там же, где и всегда...
|
|||
21
ЧеловекДуши
28.12.12
✎
13:59
|
(19)Дело не в ас, дело все в том, что он в отладчике прямых запросов, не видит привычные реквизиты :ВВВВВ
|
|||
22
Aprobator
28.12.12
✎
13:59
|
(21) дело явно где то в (20) ))).
|
|||
23
zladenuw
28.12.12
✎
14:01
|
Понял.
Как мне указать вот такое в запросе? мТЗнКоды.ЭлементСостояния = мСпрСостояния.ТекущийЭлемент(); |
|||
24
ДенисЧ
28.12.12
✎
14:02
|
(23) Чо????
кстати, попробуй gdb dna ... говорят помогает... |
|||
25
Mikeware
28.12.12
✎
14:02
|
(23) см (20)
|
|||
26
ЧеловекДуши
28.12.12
✎
14:03
|
(23)Почитай мануал!!!
По 1С++ в http://www.1cpp.ru/forum/YaBB.pl?board=general |
|||
27
КонецЦикла
28.12.12
✎
14:03
|
У тебя в селекте *
Поэтому колонки так и называются |
|||
28
zladenuw
28.12.12
✎
14:06
|
(27) я это понял.
Я имею виду что для разных мд будет разные представление колонок в запросе или нет ? Исправил вот так ТекстЗапроса = " |SELECT //|* |Спр.Code as Код, |Спр.sp5423 as ВнутреннееПредставление, |Спр.sp5422 as КодВнешний, |Спр.Descr as Наименование, |Спр.sp5427 as ДатаКПК, |Спр.sp5428 as ДатаКонтроль |FROM $Справочник."+"СТСостоянияОбъектов"+" as Спр where $Спр.КодВнешний=:ВыбКод"; |
|||
29
1Сергей
28.12.12
✎
14:07
|
(28) ты же сам написал $. так и не понял для чего?
|
|||
30
КонецЦикла
28.12.12
✎
14:09
|
SELECT $Спр.КодВнешний
или $Спр.КодВнешний МойКод или, допустим $Спр.Контрагент [Контрагент $Справочник.Контрагенты] почитай доку |
|||
31
zladenuw
28.12.12
✎
14:09
|
(28) есть разные базы. нужно что бы этот код работал и в них. Как сказал ДенисЧ. нужно брать метаданные. но как указать это в запросе ?
(29) Мне нужно в ТЗ в которую выгружать получить колонки ВнутреннееПредставление,КодВнешний а не sp5423 |
|||
32
КонецЦикла
28.12.12
✎
14:10
|
(31) Будет работать в разных базах, даже если в одной код - это sp213, а в другой - sp546 :)
|
|||
33
zladenuw
28.12.12
✎
14:11
|
(30)
Meta name parser error: поле таблицы не найдено "$Спр.КодВнешний" |
|||
34
КонецЦикла
28.12.12
✎
14:12
|
(33) Значит нет его в этом спр-ке или какой-то новый косяк добавил
|
|||
35
Aprobator
28.12.12
✎
14:16
|
(28) бггг.
|
|||
36
zladenuw
28.12.12
✎
14:21
|
(35) бггг. будет сейчас.
А как мне вытянуть значение с реквизита строки с неогр длинной. |
|||
37
Mikeware
28.12.12
✎
14:25
|
(36) кастуй к ограниченному.
|
|||
38
zladenuw
28.12.12
✎
14:30
|
http://www.1cpp.ru/forum/YaBB.pl?num=1233261817/6#6
| SELECT | СпрЮрЛица.id as [Объект_ЮрЛицо $Справочник.ЮрЛица] | ,TabЮрАдрес0.Block as ЮрАдресБлок1 | ,TabЮрАдрес1.Block as ЮрАдресБлок2 //... другие поля | FROM | $Справочник.ЮрЛица as СпрЮрЛица | LEFT JOIN 1SBLOB as TabЮрАдрес0 ON TabЮрАдрес0.fieldid+TabЮрАдрес0.objid+STR(TabЮрАдрес0.blockno,4)=:ИДЮрАдрес+СпрЮ рЛица.id+' 0' | LEFT JOIN 1SBLOB as TabЮрАдрес1 ON TabЮрАдрес1.fieldid+TabЮрАдрес1.objid+STR(TabЮрАдрес1.blockno,4)=:ИДЮрАдрес+СпрЮ рЛица.id+' 1' а как мне получить ИДЮрАдрес ? |
|||
39
zladenuw
28.12.12
✎
14:30
|
(38) ступил
|
|||
40
zladenuw
28.12.12
✎
14:32
|
Получилось
ТекстЗапроса = " |SELECT |Спр.id as [Объект_СО $Справочник.СТСостоянияОбъектов] | ,Tab0.Block as Блок1 |,Tab1.Block as Блок2 |,Tab2.Block as Блок3 |,Tab3.Block as Блок4 |,Tab4.Block as Блок5, |$Спр.ВнутреннееПредставление as ВнутреннееПредставление, |Спр.Descr as Наименование, |$Спр.КодВнешний as КодВнешний, |$Спр.ДатаКПК as ДатаКПК, |$Спр.ДатаКонтроль as ДатаКонтроль |FROM $Справочник.СТСостоянияОбъектов as Спр | LEFT JOIN 1SBLOB as Tab0 ON Tab0.fieldid+Tab0.objid+STR(Tab0.blockno,4)=:ИДТбДок+Спр.id+' 0' | LEFT JOIN 1SBLOB as Tab1 ON Tab1.fieldid+Tab1.objid+STR(Tab1.blockno,4)=:ИДТбДок+Спр.id+' 1' | LEFT JOIN 1SBLOB as Tab2 ON Tab1.fieldid+Tab2.objid+STR(Tab2.blockno,4)=:ИДТбДок+Спр.id+' 2' | LEFT JOIN 1SBLOB as Tab3 ON Tab1.fieldid+Tab3.objid+STR(Tab3.blockno,4)=:ИДТбДок+Спр.id+' 3' | LEFT JOIN 1SBLOB as Tab4 ON Tab1.fieldid+Tab4.objid+STR(Tab4.blockno,4)=:ИДТбДок+Спр.id+' 4' |where $Спр.КодВнешний=:ВыбКод"; |
|||
41
zladenuw
28.12.12
✎
14:33
|
(40) а в запросе можно сразу блоки объединить ?
|
|||
42
Dolly_EV
28.12.12
✎
14:39
|
(0) СТ-Чикаго ускоряешь?! угу, ей это сильно не помешает
|SELECT | $Спр.Code as Код | ,$Спр.ВнутреннееПредставление as ВнутреннееПредставление | ,$Спр.КодВнешний as КодВнешний | ,$Спр.Наименование as Наименование | ,$Спр.ДатаКПК as [ДатаКПК $Дата] | ,$Спр.ДатаКонтроль as [ДатаКонтроль $Дата] | ,CAST($Спр.Объект as VARCHAR(Сколько там у тебя может быть максимум?)) as Объект |FROM | $Справочник.СТСостоянияОбъектов as Спр |where | $Спр.КодВнешний=:ВыбКод"; |
|||
43
zladenuw
28.12.12
✎
14:47
|
(42) да почти ее.
не там дополнительный реквизит. который может хранить Таблицу значений |
|||
44
zladenuw
28.12.12
✎
14:50
|
(42) ошибка SQL: Column 'SP5606' is not found.
|SELECT |Спр.id as [Объект_СО $Справочник.СТСостоянияОбъектов], |CAST($Спр.ТбДок as VARCHAR(400)) as ТбДок, //| ,Tab0.Block as Блок1 //|,Tab1.Block as Блок2 //|,Tab2.Block as Блок3 //|,Tab3.Block as Блок4 //|,Tab4.Block as Блок5, //|,Tab5.Block as Блок6, |$Спр.ВнутреннееПредставление as ВнутреннееПредставление, |Спр.Descr as Наименование, |$Спр.КодВнешний as КодВнешний, |$Спр.ДатаКПК as ДатаКПК, |$Спр.ДатаКонтроль as ДатаКонтроль |FROM $Справочник.СТСостоянияОбъектов as Спр //| LEFT JOIN 1SBLOB as Tab0 ON Tab0.fieldid+Tab0.objid+STR(Tab0.blockno,4)=:ИДТбДок+Спр.id+' 0' //| LEFT JOIN 1SBLOB as Tab1 ON Tab1.fieldid+Tab1.objid+STR(Tab1.blockno,4)=:ИДТбДок+Спр.id+' 1' //| LEFT JOIN 1SBLOB as Tab2 ON Tab1.fieldid+Tab2.objid+STR(Tab2.blockno,4)=:ИДТбДок+Спр.id+' 2' //| LEFT JOIN 1SBLOB as Tab3 ON Tab1.fieldid+Tab3.objid+STR(Tab3.blockno,4)=:ИДТбДок+Спр.id+' 3' //| LEFT JOIN 1SBLOB as Tab4 ON Tab1.fieldid+Tab4.objid+STR(Tab4.blockno,4)=:ИДТбДок+Спр.id+' 4' //| LEFT JOIN 1SBLOB as Tab5 ON Tab1.fieldid+Tab5.objid+STR(Tab5.blockno,4)=:ИДТбДок+Спр.id+' 5' |where $Спр.КодВнешний=:ВыбКод"; |
|||
45
Mikeware
28.12.12
✎
14:56
|
А, так у тебя дбф...
|
|||
46
Mikeware
28.12.12
✎
14:57
|
ну, тогда счастливо потрахаться...
|
|||
47
zladenuw
28.12.12
✎
14:58
|
(46) та да. я рад.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |