Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Проблема УложитьСписокОбъектов() (число прочтений - 4280 )
sv_stas_sv
Junior Member
**
Отсутствует


1с++ lamer

Сообщений: 46
Зарегистрирован: 19. Июля 2006
Проблема УложитьСписокОбъектов()
22. Октября 2007 :: 14:59
Печать  
RS = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "
|SELECT
|  Жур.IDDoc as [Док $Документ.РасходнаяНакладная],
|  Жур.DocNo as НомерДок,
|  CAST(LEFT(Жур.Date_Time_IDDoc, 8) as DateTime) as ДатаДок,
|  $Док.Клиент as [Клиент $Справочник.Контрагенты],
|  $Док.Адрес as [Адрес $Справочник.Адреса],
|  $Док.Агент as [Агент $Справочник.Сотрудники],
|  $ДокС.Товар as [Товар $Справочник.Номенклатура],
|  $ДокС.Количество as Количество,
|  $ДокС.Сумма as Сумма
|FROM
|  _1SJourn Жур
|INNER JOIN
| $Документ.РасходнаяНакладная as Док ON Жур.IDDoc = Док.IDDoc
|  AND $Док.РежимПроведения = :НеЧастично
|  AND $Док.ПризнакНакладной = :ПризнакНакладной
|INNER JOIN 
|  $ДокументСтроки.РасходнаяНакладная as ДокС ON Жур.IDDoc = ДокС.IDDoc
|  AND $ДокС.Количество>0
|WHERE
|  Жур.Date_Time_IDDoc BETWEEN :НачДата
|  AND :КонДата~
|  AND Жур.Closed & 1 = 1
|  AND $Док.Клиент IN (SELECT Val FROM #Klients)
|  AND $Док.Агент IN (SELECT Val FROM #Agents)
|  AND $ДокС.Товар IN (SELECT Val FROM #Nom)
|";
RS.Отладка(1);
RS.УстановитьТекстовыйПараметр("НачДата",ДатаНач);
RS.УстановитьТекстовыйПараметр("КонДата",ДатаКон);
дажа);
RS.УстановитьТекстовыйПараметр("НеЧастично",0);
RS.УложитьСписокОбъектов(СписокЭлементовМФКлиент,"#Klients","Контрагенты");
RS.УложитьСписокОбъектов(СписокЭлементовМФАгент,"#Agents","Сотрудники");
RS.УложитьСписокОбъектов(СписокЭлементовМФТовар,"#Nom","Номенклатура");
////ТЗ = RS.ВыполнитьИнструкцию("select val [val $Справочник.Контрагенты] from #Klients");
////ТЗ.ВыбратьСтроку();
////ТЗ = RS.ВыполнитьИнструкцию("select val [val $Справочник.Сотрудники] from #Agents");
////ТЗ.ВыбратьСтроку();
////ТЗ = RS.ВыполнитьИнструкцию("select val [val $Справочник.Номенклатура] from #Nom");
////ТЗ.ВыбратьСтроку();


ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);
ТЗ.ВыбратьСтроку();    
КонецПроцедуры   

Не работает почему то УложитьСписокОбъектов.
Причем если проверяю уложение на закомментаренных строках - все в порядке!!!
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Проблема УложитьСписокОбъектов()
Ответ #1 - 22. Октября 2007 :: 15:12
Печать  
Могу тупить, но вот это так попробуй
AND $Док.ПризнакНакладной = $Перечисление.ПризнРасхНакл.Продажа
Попробуй также из соединений убрать AND $Док.РежимПроведения = :НеЧастично
Мало ли что там...
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
sv_stas_sv
Junior Member
**
Отсутствует


1с++ lamer

Сообщений: 46
Зарегистрирован: 19. Июля 2006
Re: Проблема УложитьСписокОбъектов()
Ответ #2 - 23. Октября 2007 :: 02:40
Печать  
Да проблема то не в этом,когда убираю

|  AND $Док.Клиент IN (SELECT Val FROM #Klients)
|  AND $Док.Агент IN (SELECT Val FROM #Agents)
|  AND $ДокС.Товар IN (SELECT Val FROM #Nom)
без это фильтра все ОК!

А если пробую уложить вот так
////ТЗ = RS.ВыполнитьИнструкцию("select val [val $Справочник.Контрагенты] from #Klients");
////ТЗ.ВыбратьСтроку();
////ТЗ = RS.ВыполнитьИнструкцию("select val [val $Справочник.Сотрудники] from #Agents");
////ТЗ.ВыбратьСтроку();
////ТЗ = RS.ВыполнитьИнструкцию("select val [val $Справочник.Номенклатура] from #Nom");
////ТЗ.ВыбратьСтроку(); 

То Уложить() работает!!!!
Вот и непонятно где грабли?!
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Проблема УложитьСписокОбъектов()
Ответ #3 - 23. Октября 2007 :: 02:46
Печать  
У тебя в списке значений точно элементы справочника хранятся?
Какую-нибудь ошибку пишет?
  
Наверх
ICQ  
IP записан
 
sv_stas_sv
Junior Member
**
Отсутствует


1с++ lamer

Сообщений: 46
Зарегистрирован: 19. Июля 2006
Re: Проблема УложитьСписокОбъектов()
Ответ #4 - 23. Октября 2007 :: 04:36
Печать  
Если |  $Док.Клиент as [Клиент $Справочник.Контрагенты] не приводить к типу,а писать
|  $Док.Клиент
то условие $Док.Клиент IN (SELECT Val FROM #Klients) срабатывает, но дело в том что мне в ТЗ нужны именно значения типа Сп Контрагенты?!
Как это обойти?
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Проблема УложитьСписокОбъектов()
Ответ #5 - 23. Октября 2007 :: 04:46
Печать  
sv_stas_sv писал(а) 23. Октября 2007 :: 04:36:
Если |  $Док.Клиент as [Клиент $Справочник.Контрагенты] не приводить к типу,а писать
|  $Док.Клиент
то условие $Док.Клиент IN (SELECT Val FROM #Klients) срабатывает, но дело в том что мне в ТЗ нужны именно значения типа Сп Контрагенты?!
Как это обойти?


Такого быть не должно! Покажи распарсенный запрос
  
Наверх
ICQ  
IP записан
 
sv_stas_sv
Junior Member
**
Отсутствует


1с++ lamer

Сообщений: 46
Зарегистрирован: 19. Июля 2006
Re: Проблема УложитьСписокОбъектов()
Ответ #6 - 23. Октября 2007 :: 04:51
Печать  
SELECT
  Жур.IDDoc as [Док $Документ.РасходнаяНакладная],
  Жур.DocNo as НомерДок,
  CAST(LEFT(Жур.Date_Time_IDDoc, 8) as DateTime) as ДатаДок,
  Док.sp413 as [Клиент $Справочник.Контрагенты],
  Док.sp6136 as [Адрес $Справочник.Адреса],
  Док.sp6021 as [Агент $Справочник.Сотрудники],
  ДокС.sp423 as [Товар $Справочник.Номенклатура],
  ДокС.sp423 as [Товар $Справочник.Номенклатура],
  ДокС.sp424 as Количество,
  ДокС.sp428 as Сумма
FROM
  _1SJourn Жур
INNER JOIN
dh410 as Док ON Жур.IDDoc = Док.IDDoc
  AND Док.sp3669 = 0
  AND Док.sp422 = '    3W   '
INNER JOIN 
  dt410 as ДокС ON Жур.IDDoc = ДокС.IDDoc
  AND ДокС.sp424>0
WHERE
  Жур.Date_Time_IDDoc BETWEEN '20070101'
  AND '20070131Z'
  AND Жур.Closed & 1 = 1
  AND Док.sp413 IN (SELECT Val FROM #Klients)
  AND Док.sp6021 IN (SELECT Val FROM #Agents)
  AND ДокС.sp423 IN (SELECT Val FROM #Nom)
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Проблема УложитьСписокОбъектов()
Ответ #7 - 23. Октября 2007 :: 05:35
Печать  
Странно, вроде и ошибится негде, правда непонятно зачем товар два раза
  
Наверх
ICQ  
IP записан
 
sv_stas_sv
Junior Member
**
Отсутствует


1с++ lamer

Сообщений: 46
Зарегистрирован: 19. Июля 2006
Re: Проблема УложитьСписокОбъектов()
Ответ #8 - 23. Октября 2007 :: 05:38
Печать  
По поводу товара, это после экпериментов забыл его убрать
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Проблема УложитьСписокОбъектов()
Ответ #9 - 23. Октября 2007 :: 05:44
Печать  
т.е. если в этом запросе убрать типизацию то всё работает?
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать