8.х запрос регистр накопления остатки

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем desintegrer, 11 ноя 2013.

  1. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26
    Здравствуте.

    Как понять какие у регистра есть параметры , 1й я понял это дата на которую формируются остатки , какие остальные параметры ?
    При запросе к регистру накопления ничего не возвращается хотя данные точно есть , подскажите пожалуйста в чём может быть ошибка ?

    Код:
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.Менеджер КАК ДоговорКонтрагентаМенеджер,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Контрагент КАК Контрагент,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента КАК ДоговорКонтрагента,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом КАК Регистратор,
    //ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК ДниЗадолженности,
    ПОДСТРОКА(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.АдресДоставки, 0, 200) КАК АдресДоставки,
    ВЫБОР
    //КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности) < &Дата
    КОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &Дата, ДЕНЬ) > 0
    И ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток > 0
    ТОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток
    ИНАЧЕ 0
    КОНЕЦ КАК СуммаПросрочки,
    ВЫБОР
    КОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток > 0
    ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &Дата, ДЕНЬ)
    ИНАЧЕ 0
    КОНЕЦ КАК ДниПросрочки,
    ВЫБОР
    //КОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &Дата, ДЕНЬ) > 0
    //  И ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток > 0
    КОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток > 0
    ТОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности)
    ИНАЧЕ 0
    КОНЕЦ КАК ДатаОплаты
    ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(&Дата,) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки
    Где ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Контрагент = &Rjynh
  2. n.s.gnedash
    Offline

    n.s.gnedash Опытный в 1С Команда форума

    Регистрация:
    15 авг 2010
    Сообщения:
    1.359
    Симпатии:
    5
    Баллы:
    29
    Где ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Контрагент = &Rjynh
    еще контрагент как минимум
  3. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26
    Не понял ответа ????
  4. nickpugachev
    Offline

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

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

    условие на контрагента можете внести в параметры виртуальной таблицы, быстрее думать будет

    а проблема с тем, что ничего не возвращается может быть как в дате среза (не было остатков), так и в контрагенте (по этому контрагенту нет остатка на дату среза или он нулевой)
  5. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26
    я добавляю контрагента - появляется сообщение об ошибке "неверные параметры"


    РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(&Дата,&Контрагент) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки
  6. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26
    если обращаться не к остатку а просто к этому регистру то у этого контрагента есть данные ,так разве может быть ?
  7. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    период у этих записей какой? и активные ли они?
  8. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26
    Переписал так (добавил параметр контрагент) .
    Запрос выполняется , но ничего не возвращает !!!


    Код:
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.Менеджер КАК ДоговорКонтрагентаМенеджер,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Контрагент КАК Контрагент,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента КАК ДоговорКонтрагента,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом КАК Регистратор,
    //ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК ДниЗадолженности,
    ПОДСТРОКА(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.АдресДоставки, 0, 200) КАК АдресДоставки,
    ВЫБОР
    //КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности) < &Дата
    КОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &Дата, ДЕНЬ) > 0
    И ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток > 0
    ТОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток
    ИНАЧЕ 0
    КОНЕЦ КАК СуммаПросрочки,
    ВЫБОР
    КОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток > 0
    ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &Дата, ДЕНЬ)
    ИНАЧЕ 0
    КОНЕЦ КАК ДниПросрочки,
    ВЫБОР
    //КОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &Дата, ДЕНЬ) > 0
    //  И ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток > 0
    КОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток > 0
    ТОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности)
    ИНАЧЕ 0
    КОНЕЦ КАК ДатаОплаты
    ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(&Дата,Контрагент = &Контрагент) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки
    
  9. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    в параметр Контрагент что передаешь ? точно ли ссылку на контрагента или все же строку ???
  10. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26

    Проверил все записи активны - период сентябрь /октябрь , я проверял за ноябрь ...когда проверил за октябрь вывелась одна запись ...т.е. видимо меня интересуют обороты , а я смотрю остатки.
  11. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    А у Вас идут взаиморасчеты с контрагентами по документам расчетов в договораах стоит галочка такая? в регистре данном есть данные?
    Вообще ничего ни одной строки? Можно весь код где идет уже выполнить запрос и вывод

    может быть у Вас действительно по документам все закрылось и остатков нет
  12. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26
    Да все верно - спасибо за ответы !!!

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