|
Запрос, проблема с получением данных. | ☑ | ||
---|---|---|---|---|
0
Menjoy
01.09.11
✎
01:29
|
Здравствуйте, есть написанный кусок кода:
Если ВК=Истина Тогда Запрос = " |select | doc2.document_out_id doc_id, | doc2.document_type_id doc_type |from document_out doc | join document_out doc2 on (doc2.document_out_id = doc.source_document_out_id) | left join document_out_header doh on (doc.document_out_id = doh.document_out_id) |where (doc.document_type_id = 6) and (doh.date_create between '"+ДатаОт+"' and '"+ДатаДо+"');"; КонецЕсли; Попытка ВозвратыКлиентов = Connection.Execute(Запрос); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Пока ВозвратыКлиентов.EOF()=0 Цикл НоваяСтрока = ВКЛ.Добавить(); НоваяСтрока.ДокИд = ВозвратыКлиентов.Fields("doc_id").Value; НоваяСтрока.ДокТип = ВозвратыКлиентов.Fields("doc_type").Value; ВозвратыКлиентов.MoveNext(); КонецЦикла; ВозвратыКлиентов.Close(); При отладке ввожу такие даты, чтобы запрос выдавал 11 записей, но в табличную часть ВКЛ почему-то попадает только 5 из них, в чем может быть проблема? Спасибо. |
|||
1
Menjoy
01.09.11
✎
01:31
|
В дополнение к (1)
Запрос проверял через IBEpert, выдает ровно 11 записей. |
|||
2
Wobland
01.09.11
✎
06:29
|
пальцем в небо. а перед циклом не надо ВозвратыКлиентов.First()?
|
|||
3
Menjoy
01.09.11
✎
09:07
|
(2) сейчас попробую, но в модуле использую кучу подобных функций с выборкой таким образом (без first) и все считает правильно.
|
|||
4
Menjoy
01.09.11
✎
09:40
|
С 0 по 4 записи Выборка.EOF() = Ложь, поэтому запросто попадает в цикл Пока Выборка.EOF()=0 Цикл.
А вот с 5-ой записи она вдруг становится Истиной. Кусок кода функции идентичен другим таким функциям (их около 10) они работают, а эта нет. |
|||
5
Wobland
01.09.11
✎
09:41
|
а что за коннекшн? в ТЗ сможет выгрузить?
|
|||
6
Ёпрст
01.09.11
✎
09:47
|
(0) Дык с чего уверенность, что при inner join у тебя будет 11 записей ??????
|
|||
7
Menjoy
01.09.11
✎
10:09
|
(5)
Connection = Новый COMОбъект("ADODB.Connection"); Connection.Provider = "LCPI.IBProvider"; Connection.ConnectionString = "driver={Firebird/Interbase(r) driver};server=\\localhost;data source="+ПутьБД+";user=SYSDBA; password=masterkey;auto_commit=true;"; Попытка Connection.Open(); Исключение Сообщить("Ошибка:"+ОписаниеОшибки()); КонецПопытки; Попытка Команда = Новый COMОбъект("ADODB.Recordset"); Команда.ActiveConnection = Connection; Исключение Сообщить("Не установлен драйвер подключения или неверно указан пароль доступа!", СтатусСообщения.Информация); КонецПопытки (6) Проверял запрос через построитель запросов, выдает 11 записей. |
|||
8
Menjoy
01.09.11
✎
10:39
|
Извиняюсь перед теми кто пытался помочь.
Устал и делал запрос из обработки к одной базе, а проверял на другой ... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |