[РЕШЕНО] Действия с ЕСТЬNULL в запросе

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

  1. TopicStarter Overlay
    eViLL
    Offline

    eViLL Опытный в 1С

    Регистрация:
    25 фев 2011
    Сообщения:
    264
    Симпатии:
    2
    Баллы:
    29
    Добрый день! У меня платформа ругается на минус в выражении в запросе

    ВЫБОР
    КОГДА ХозрасчетныйДвиженияССубконто.Регистратор ССЫЛКА Документ.КорректировкаПоступления
    ТОГДА ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.Регистратор.СуммаДокумента, 0) - ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.Регистратор.ДокументПоступления.СуммаДокумента, 0)
    ИНАЧЕ ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.Регистратор.СуммаДокумента, 0)
    КОНЕЦ

    Пишет ошибку

    Ошибка в схеме компоновки данных
    по причине:
    Ошибка получения информации набора данных
    по причине:
    Ошибка в запросе набора данных
    по причине:
    {(18, 10)}: Неверные параметры "-"
    ТОГДА <<?>>ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.Регистратор.СуммаДокумента, 0) - ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.Регистратор.ДокументПоступления.СуммаДокумента, 0)

    запрос не мой. Так вообще вычитать можно? Ошибка не синтаксическая?
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Это наверное не минус, а прочерк ?
  3. TopicStarter Overlay
    eViLL
    Offline

    eViLL Опытный в 1С

    Регистрация:
    25 фев 2011
    Сообщения:
    264
    Симпатии:
    2
    Баллы:
    29
    определенно минус
  4. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    У вас типы разные, путаете числовые с ссылочными
    eViLL нравится это.
  5. TopicStarter Overlay
    eViLL
    Offline

    eViLL Опытный в 1С

    Регистрация:
    25 фев 2011
    Сообщения:
    264
    Симпатии:
    2
    Баллы:
    29
    А где конкретно? Суммы везде вроде числовые
  6. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Извеняюсь, не раскрыл окно полностью, часть кода не видна была
    eViLL нравится это.
  7. TopicStarter Overlay
    eViLL
    Offline

    eViLL Опытный в 1С

    Регистрация:
    25 фев 2011
    Сообщения:
    264
    Симпатии:
    2
    Баллы:
    29
    Если стоит задача при условии что регистратор = КорректировкаПоступления найти разность сумм двух документов как вообще это сделать? Если из выражения убрать разность и брать каждую отдельную сумму то всё работает.
  8. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    ХозрасчетныйДвиженияССубконто.Регистратор - не однозначное поле, нужно либо левым соединением присоединять таблицу "КорректировкаПоступления" и с нее тянуть данные о сумме документа или делать выборку во временную таблицу с добавочным полями :
    Код:
    ВЫРАЗИТЬ(ХозрасчетныйДвиженияССубконто.Регистратор КАК Документ.КорректировкаПоступления) КАК
    ДокументКорректировкаПоступления
    
    Далее в общей выборке уже использовать преобразованное (приведенное) поле в вашем условии
    eViLL нравится это.
  9. TopicStarter Overlay
    eViLL
    Offline

    eViLL Опытный в 1С

    Регистрация:
    25 фев 2011
    Сообщения:
    264
    Симпатии:
    2
    Баллы:
    29
    Не понял. Чуть подробнее можно?
  10. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Выложи запрос, так думаю проще будет
    eViLL нравится это.
  11. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    у вас регистратор - составной тип. в этом проблема.

    можно не делать дополнительную выборку, просто указать
    ВЫРАЗИТЬ(ХозрасчетныйДвиженияССубконто.Регистратор КАК Документ.КорректировкаПоступления).СуммаДокумента

    то есть надо привести ссылку на регистратора к нужному типу
    eViLL нравится это.
  12. TopicStarter Overlay
    eViLL
    Offline

    eViLL Опытный в 1С

    Регистрация:
    25 фев 2011
    Сообщения:
    264
    Симпатии:
    2
    Баллы:
    29
    Это я понял из предыдущих комментариев ))
    А вот это то как раз то что нужно было. Всё заработало. Спасибо всем!

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