7.7 При работе с Запросом трудности с Функцией

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Log1c, 4 июн 2007.

  1. TopicStarter Overlay
    Log1c
    Offline

    Log1c Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Код:
    ТекстЗапросаОст = "";
    ТекстЗапросаОст = ТекстЗапросаОст +
    "//{{ЗАПРОС(ТоварыЗаПериоды)         
    |ПЕРИОД С ДатаЗакупки1 По ДатаЗакупки2;
    |Фирма=Регистр.ОстаткиТоваров.Фирма;
    |Склад=Регистр.ОстаткиТоваров.Склад;
    |Товар=Регистр.ОстаткиТоваров.Товар;
    |Кол=Регистр.ОстаткиТоваров.ОстатокТовара;
    
    |Функция НачКол  = НачОст(Кол);
    |Функция КонКол  = КонОст(Кол);
    |Функция ПрихКол = Приход(Кол);
    |Функция РасхКол = Расход(Кол);
    |Условие (Товар=ТМЦ);
    |Условие (Фирма=Константа.ОсновнаяФирма);
    |Условие (Склад=Константа.ОсновнойСклад);";
    |Группировка Товар Без Групп;";
    
    так работает, но требуется условие

    Код:
                        |Условие(НачКол>КонКол);
    
    кот. не работает
  2. Snake-84
    Offline

    Snake-84 Опытный в 1С

    Регистрация:
    28 янв 2007
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    Насколько я знаю, установка условий на значение функций запроса невозможна
  3. TopicStarter Overlay
    Log1c
    Offline

    Log1c Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Вы правельно проинформированы то как тогда ставить такие условия в запросах? неужели такой возможности не предусмотрели?
  4. Snake-84
    Offline

    Snake-84 Опытный в 1С

    Регистрация:
    28 янв 2007
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    Если тебе нужны значения функций только по конкретному товару - проверяй условие уже в цикле по группировке
  5. TopicStarter Overlay
    Log1c
    Offline

    Log1c Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Так и сделал.
    Просто хотелось в запросе это предусмотреть, т.к. запрос будет далее использоватся.
  6. Snake-84
    Offline

    Snake-84 Опытный в 1С

    Регистрация:
    28 янв 2007
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    Если уж извращаться - то сформируй с помощью такого же запроса список значений с необходимыми товарами, а потом "Условие (Товар В сзТовары)"
  7. TopicStarter Overlay
    Log1c
    Offline

    Log1c Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    спс =)
    p.s. ушёл извращатся
  8. TopicStarter Overlay
    Log1c
    Offline

    Log1c Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    возможна, я доизвращался...
    Код:
    |Условие(Запрос.НачКол>0);
    
    (работает)

    жаль что эта возможность недокументирована, а жаль потому что она непонятно себя ведёт если задавать условие по 2м функциям:
    Код:
    |Условие(Запрос.НачКол>Запрос.КонКол);
    
    (не работает)
  9. Snake-84
    Offline

    Snake-84 Опытный в 1С

    Регистрация:
    28 янв 2007
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    Если такой код и работает, то я, честно говоря, не понимаю как ... ведь на момент выполнения запроса сам объект "Запрос" еще пустой должен быть...
    Если ты этот объект выше по коду использовал, то у тебя скорее всего еще оттуда значения берутся.
  10. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    А как на счет "Группировка -> когда"?
  11. Snake-84
    Offline

    Snake-84 Опытный в 1С

    Регистрация:
    28 янв 2007
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    т.е. "Функция -> когда"? Все равно там вроде нельзя значения функций использовать ...
  12. TopicStarter Overlay
    Log1c
    Offline

    Log1c Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Используется ТОЛЬКО активный в данный момент запрос... как работает, сказать не могу, потому что и сам не понимаю почему он работает, т.к. запрос собирается не построчно а сразу весь, но всё же работает правильно.

    Это можно легко проверить добавив куда-нибудь в свой код такое условие, делов на пару секунд =)

Поделиться этой страницей