как поставить условие на дату документа? #478445


#0 by vtolga
есть запрос по регистру "ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов"(Торговля) ВЫБРАТЬ    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата МЕЖДУ &датаНач И &ДатаКон (это кусочек) Здесь ДокументРасчетовСКонтрагентами-составной тип данных.При формировании ругается : Ошибка при вызове метода контекста (Вывести): {(14, 61)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля неограниченной длины и поля несовместимых типов. КОГДА РегВзаиморасчеты.ДокументРасчетовСКонтрагентом.Дата <<?>>МЕЖДУ &датаНач И &ДатаКон Как быть? Как добраться до даты? помогите,кто может!!!
#1 by IceSer1
&датаНач И &ДатаКон - что передается?
#2 by IceSer1
документРасчетовСКонтрагентом.Дата - кокой тип?
#3 by Нуф-Нуф
это виртуальная таблица.
#4 by NcSteel
Все же выразить было бы лучше.
#5 by Нуф-Нуф
лучше получить отдельной таблицой документы расчета входящие в заданный период - и их использовать в качестве параметра виртуальной таблицы остатков
#6 by vtolga
&датаНач И &ДатаКон - точно даты ДокументРасчетовСКонтрагентами-составной тип данных (перечень документов) - а иначе никак? Документов много
#7 by Нуф-Нуф
ну и что что много, эта схема как раз сократит время запроса. получишь документы и получишь по ним остатки.
#8 by vtolga
Тогда еще раз-для непонятливых :) Мне нужны все остатки на дату, а уже документы нужно рассортировать по периодам (давность задолженности интересует).
#9 by Нуф-Нуф
ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(&ДатаКон, ДокументРасчетов в (Выбрать ТабДок.Ссылка из ТабДок))
#10 by vtolga
Спасибо! буду пробовать. А все же, почему дату не дает?
#11 by hhhh
ты всё-таки проведи тот запрос, который у тебя. А то в запросе у тебя написано "ГДЕ", а в тексте ошибки написано "КОГДА". Ты нас за нос водитшь.
#12 by vtolga
Да, здесь я просто аналогичный кусок привела.А сам запрос длинный и конструируется по справочнику периодов.Но смысл тот же.
#13 by vtolga
у меня как-то так |    Выбор    |     Когда (НЕ РегВзаиморасчеты.ДокументРасчетовСКонтрагентом ЕСТЬ NULL) и (РегВзаиморасчеты.ДокументРасчетовСКонтрагентом.дата МЕЖДУ &датаНач И &ДатаКон)    |     тогда  РегВзаиморасчеты.СуммаВзаиморасчетовКонечныйОстаток
#14 by Нуф-Нуф
это неправильно. когда работаешь с виртуальными таблицами - нужно максимально использовать параметры виртуальной таблицы. чтобы она расчитывала остатки только на те позиции которые тебе нужны. а не рассчитывать весь регистр остатков и потом сумировать только нужные позиции.
#15 by vtolga
а сама таблица у меня на датуКон, просто потом я добавляю по переменной на каждый период    |  Конец КАК Сумма2" и так далее, то есть получаю сумму конечного остатка и ее распределение по периодам. Но вот сравнение- не получается.
#16 by Нуф-Нуф
лучше напиши какие данные и с каком виде ты хочешь получить
#17 by vtolga
суммаЗадолжНаДату  изНееВПериоде1  ИзНееВПериоде2 ...... ИзНееВПериодеN
#18 by vtolga
+По каждому контрагенту
#19 by vtolga
+Перечень периодов в справочнике "НастройкаПериодов"
#20 by vtolga
То есть мне просто нужно раскидать документы,по которым осталась задолженность, по нужным периодам (например, от 0 до 30 дней, от 31 до 90 и так далее )
#21 by Нуф-Нуф
#22 by vtolga
Спасибо, Нуф-Нуф, за внимание,потраченное время и помощь! Буду разбираться.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С