8.х В запросе к дате прибавить 30 дней

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем hrust, 25 июл 2010.

  1. TopicStarter Overlay
    hrust
    Offline

    hrust

    Регистрация:
    25 июл 2010
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте!

    В типовой конфигурации УТ нужно вклиниться в один из запросов
    и добавить что-то типа:

    Запрос.Текст =
    "ВЫБРАТЬ ...
    бла-блабла...
    ....
    ЛЕВОЕ СОЕДИНЕНИЕ
    РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаНач + 30 дней, , ) КАК ПродажиОбороты
    ПО .... бла-бла-бла ";

    Интересует, можно ли сделать и как &ДатаНач + 30 дней ???

    Понятно, что если бы это был МОЙ запрос, то я бы просто установил параметр:
    Запрос.УстановитьПараметр("ДатаКон", ДатаНач + 30*24*60*60);

    а так у 1С-овцев параметры устанавливаются в одной процедуре, запрос собирается покусочно в другой процедуре черт-ти где.... Причем запрос устанавливается в начальных настройках,
    и на момент формирования текста запроса вроде бы еще &ДатаНач не инициализирована...
    ПОмогите, кто знает, плиз.
  2. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Код:
    "ДОБАВИТЬКДАТЕ(&ДатаНач, ДЕНЬ, 30)"
    
    
  3. TopicStarter Overlay
    hrust
    Offline

    hrust

    Регистрация:
    25 июл 2010
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    ПРИБАВИТЬКДАТЕ - очень хорошая функция, но она работает только

    в разделе ВЫБРАТЬ - там без проблем

    а когда я ее пишу в параметрах виртуальной таблицы - там выходит ошибка
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    А если без затей (ДатаНач+30)
  5. TopicStarter Overlay
    hrust
    Offline

    hrust

    Регистрация:
    25 июл 2010
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Так не работает. Выскакивает ошибка.
  6. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Видимо неправильно пишите, у меня вот этот запрос отработал корректно:

    Код:
    "ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Номенклатура,
    ТоварыНаСкладахОстатки.КоличествоОстаток
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(ДОБАВИТЬКДАТЕ(&ДатаНач, ДЕНЬ, 30), ) КАК ТоварыНаСкладахОстатки"
    
    п.с. Почему ПРИБАВИТЬКДАТЕ когда ДОБАВИТЬКДАТЕ?
  7. TopicStarter Overlay
    hrust
    Offline

    hrust

    Регистрация:
    25 июл 2010
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Опа, я с какого-то бодун пишу "ПРИБАВИТЬКДАТЕ", а , действительно, нужно "ДОБАВИТЬКДАТЕ".

    Спасибо, все заработало! Ура!
  8. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Хотябы иногда запрос стоит открывать КОНСТРУКТОРОМ ЗАПРОСОВ ;)
    В 8ке (по крайней мере в 8.1) конструктор запросов работает таки очень даже хорошо, в отличие от 7ки.
    Сейчас в основном собираю запросы конструктомром. Получается быстро, красиво.

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