Имя: Пароль:
1C
1C 7.7
v7: Как заставить работать "УложитьСписокОбъектов"
,
0 dum80
 
15.05.13
16:59
Мужики, помогите...
в базе есть оборотный регистр "Движение" в нем измерение "Товар" имеет тип значения "Справочник"
Пытаюсь выбрать обороты по выбранной группе товара таким запросом:
   Запрос = СоздатьОбъект("ODBCRecordset");
   Запрос.Отладка();
   ТекстЗапроса = "
       |SELECT
       |Рег.Товар as [Товар $Справочник],
       |Рег.КоличествоОборот as Количество,
       |Рег.СуммаБезНДСОборот as СуммаБезНДС,
       |Рег.НДСОборот as Ндс,
       |Рег.ВсегоОборот as ВсегоОборот
       |FROM
       |$РегистрОбороты.Движение(:НачДата,:КонДата~) as Рег  
       |WHERE  
       |Рег.Товар IN (SELECT Val FROM #Вгруппа)";
Запрос.УложитьСписокОбъектов(ВыбГруппа,"#Вгруппа","Номенклатура");
   Запрос.УстановитьТекстовыйПараметр("НачДата", НачДата);
   Запрос.УстановитьТекстовыйПараметр("КонДата", КонДата);
   ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
   Сообщить(Тз.Количествострок());
   ТЗ.ВыбратьСтроку();

в результате пустая таблица... Может потому что тут Запрос.УложитьСписокОбъектов(ВыбГруппа,"#Вгруппа","Номенклатура") - "Номенклатура", а в регистре "справочник"?
1 vinogradъ
 
15.05.13
17:00
да
2 Ёпрст
 
15.05.13
17:01
3 Ёпрст
 
15.05.13
17:02
используй это
4 Ёпрст
 
15.05.13
17:03
ну или обрезай в условии первые 4 символа
5 dum80
 
15.05.13
17:16
Спасибо, буду пробовать через http://www.1cpp.ru/docum/icpp/html/ODBC.html#putobjectlist13. Работающего примера с такой траблой нет?
6 Ёпрст
 
15.05.13
17:23
можешь как в (4)

|right(Рег.Товар,9) IN (SELECT Val FROM #Вгруппа)";
7 Ёпрст
 
15.05.13
17:24
но это не совсем верно - id справочника может быть одинаковым для разных видов
8 dum80
 
15.05.13
17:27
Спасибо, это уже работает:)
9 dum80
 
15.05.13
17:40
Да, так и есть, попадаются одинаковые разных видов
10 vinogradъ
 
15.05.13
17:40
Рег.Товар IN (SELECT $ВидСправочника36.Номенклатура + Val FROM #Вгруппа)
11 dum80
 
15.05.13
17:46
vinogradъ - отлично!!! Огромное спасибо всем, выручили.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший