|   |   | 
| 
 | v7: Проблема с условием в запросе | ☑ | ||
|---|---|---|---|---|
| 0
    
        Pro100 25.10.12✎ 10:14 | 
        Народ подскажите почему в этом запросе после выполнения нету ничего
  Текст = "//{{ЗАПРОС(Документы) |Период с НачДата по КонДата; |Без Итогов; |МПЗ = Регистр.Партии.МПЗ; |Партия = Регистр.Партии.Партия; |ТекДок = Регистр.Партии.ТекущийДокумент; |Количество = Регистр.Партии.Количество; |Функция КолВо = Расход(Количество); |Группировка ТекДок; |Группировка МПЗ; |Условие (ТекДок в СписДокументов); |"; Проблема в условии | |||
| 1
    
        Pro100 25.10.12✎ 10:15 | 
        если просто ставлю Условие (ТекДок = Документ) то нормально отбирает данные партий, а если в списке документов, то ничего не выводит. Почему? что не так в запросе?     | |||
| 2
    
        GLazNik 25.10.12✎ 10:15 | 
        (1) а список документов как формируется?     | |||
| 3
    
        ДенисЧ 25.10.12✎ 10:19 | 
        ЧТо в списке? Сколько в списке?     | |||
| 4
    
        Pro100 25.10.12✎ 10:20 | 
        Список документов формируется выгрузкой в него документов из ТЗ, список документов проверял 100 % есть документы.
  Если делать так ТекДокумент = СписДокументов,ПолучитьЗначение(1); и затем в условии ставить: Условие (ТекДок= ТекДокумент) то записи выводятся, если сразу же ставлю "В" то перестает выводиться. | |||
| 5
    
        Ёпрст гуру 25.10.12✎ 10:21 | 
        (0) в списке не документы     | |||
| 6
    
        1Сергей 25.10.12✎ 10:22 | 
        Нет ли пустых строк в списке?     | |||
| 7
    
        Pro100 25.10.12✎ 10:22 | 
        (5) Как это не документы? а что там тогда?? )))     | |||
| 8
    
        Pro100 25.10.12✎ 10:22 | 
        (3)В списке 488 документов
  (6) Пустых строк нету | |||
| 9
    
        Ёпрст гуру 25.10.12✎ 10:23 | 
        (7) нам отсюда не видно - больше кода.     | |||
| 10
    
        Ёпрст гуру 25.10.12✎ 10:23 | 
        А так, 100% - .ТекущийДокумент() отсутствует при добавлении в список.     | |||
| 11
    
        Ёпрст гуру 25.10.12✎ 10:23 | 
        и там просто переменная с типом, а не ссылка на объект     | |||
| 12
    
        Pro100 25.10.12✎ 10:25 | 
        (11) Почему тогда если делаю так:
  ТекДокумент = СписДокументов.ПолучитьЗначение(1); и затем в условии ставить: Условие (ТекДок= ТекДокумент) то выводит результат ?? | |||
| 13
    
        Ёпрст гуру 25.10.12✎ 10:30 | 
        (12) больше кода     | |||
| 14
    
        Pro100 25.10.12✎ 10:39 | 
        (13)
  Вот больше кода: рс = СоздатьОбъект("ODBCRecordset"); ТекстЗапроса = " |SELECT РеализацияПродукцииСтроки.IDDOC [Ссылка $Документ.РеализацияПродукции] | , $РеализацияПродукцииСтроки.Товар [Товар $Справочник.Номенклатура] |FROM $ДокументСтроки.РеализацияПродукции AS РеализацияПродукцииСтроки With (NOLOCK) | INNER JOIN _1SJOURN AS Журнал With (NOLOCK) ON РеализацияПродукцииСтроки.IDDOC = Журнал.IDDOC |WHERE (Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime) >= :НачДата) | AND (Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime) <= :КонДата) | AND (Журнал.ISMARK <> 1) | AND ((Журнал.CLOSED & 1) = 1) |"; рс.УстановитьТекстовыйПараметр("НачДата", НачДата); рс.УстановитьТекстовыйПараметр("КонДата", КонДата); тз = рс.ВыполнитьИнструкцию(ТекстЗапроса); тз.НоваяКолонка("КолСтр","Число",15); тз.Заполнить(1,1,тз.КоличествоСтрок(),"КолСтр"); тз.Свернуть("Ссылка","КолСтр"); //тз.ВыбратьСтроку(); СписДокументов = СоздатьОбъект("СписокЗначений"); тз.Выгрузить(СписДокументов,,,"Ссылка"); тз.ВыбратьСтроки(); //СписДокументов.ВыбратьЗначение(,"СписДокументов"); Текст = "//{{ЗАПРОС(Учет МПЗ) |Период с НачДата по КонДата; |Без Итогов; |МПЗ = Регистр.Партии.МПЗ; |Партия = Регистр.Партии.Партия; |ТекДок = Регистр.Партии.ТекущийДокумент; |Количество = Регистр.Партии.Количество; |Функция КолВо = Расход(Количество); |Группировка ТекДок; |Группировка МПЗ; |Условие (ТекДок в СписДокументов); |"; Запрос = СоздатьОбъект("Запрос"); Запрос.Выполнить(Текст); | |||
| 15
    
        Ёпрст гуру 25.10.12✎ 10:43 | 
        (14) и нафига в этом коде черный запрос и тем более, прямой запрос на документы отдельно ?     | |||
| 16
    
        Pro100 25.10.12✎ 10:44 | 
        Тут не обсуждается что и нафига, вопрос почему не работает условие в запросе?     | |||
| 17
    
        Ёпрст гуру 25.10.12✎ 10:47 | 
        (16) регистр толкают другие виды документов вестимо.     | |||
| 18
    
        Pro100 25.10.12✎ 10:48 | 
        (17) тогда бы не было записей если делаю в условии = ТекДокумент     | |||
| 19
    
        Ёпрст гуру 25.10.12✎ 10:50 | 
        и это, как хоть проверяешь, что запрос пустой ?     | |||
| 20
    
        Pro100 25.10.12✎ 10:51 | 
        (19) )))
  мТЗ = СоздатьОбъект("ТаблицаЗначений"); Запрос.Выгрузить(мТЗ); мТЗ.ВыбратьСтроку(,"мТЗ"); | |||
| 21
    
        Ёпрст гуру 25.10.12✎ 10:52 | 
        убери без итогов, для начала     | |||
| 22
    
        hunter76 25.10.12✎ 10:52 | 
        попробуй:
  Условие (СписДокументов.Принадлежит(ТекДок)=1); | |||
| 23
    
        GLazNik 25.10.12✎ 10:54 | 
        (20) чисто для проверки попробуй так:
  ТекДокумент = СписДокументов,ПолучитьЗначение(1); СписДокументов = СоздатьОбъект("СписокЗначений"); СписДокументов.ДобавитьЗначение(ТекДокумент); | |||
| 24
    
        Simod 25.10.12✎ 12:13 | 
        (22) +1     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |