Имя: Пароль:
1C
1С v8
Меняющийся параметр виртуальной таблицы
0 alexio_alexio
 
15.03.14
14:24
Здравствуйте. Задача: вывести задолженность контрагента на определенную дату, зависящую от отсрочки по договору в днях. Пробую такой запрос:
ВЫБРАТЬ
    ВзаиморасчетыБезДокументовОстатки.Контрагент,
    ВзаиморасчетыБезДокументовОстатки.Контрагент.ОсновнойДоговорКонтрагента.ОтсрочкаПоДоговору,
    ВзаиморасчетыБезДокументовОстатки.СуммаВзаиморасчетовОстаток
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаОстатков) КАК ВзаиморасчетыБезДокументовОстатки
ГДЕ
    ВзаиморасчетыБезДокументовОстатки.СуммаВзаиморасчетовОстаток > 0

Тем самым получаю суммы задолженности на определенную дату ДатаОстатков, но мне нужен вариант, когда ДатаОстатков плавает. Меняю строку запроса:

ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(ДобавитьКДате(&ДатаОстатков, "День", -ВзаиморасчетыБезДокументовОстатки.Контрагент.ОсновнойДоговорКонтрагента.ОтсрочкаПоДоговору)) КАК ВзаиморасчетыБезДокументовОстатки

Но такая конструкция не проходит. Вопрос: как в таком случае надо быть, как правильно написать запрос?
1 Naumov
 
15.03.14
14:26
неправильная постановка задачи приводит к поиску трудных решений.
2 GROOVY
 
15.03.14
14:27
Не прокатит.
3 mikecool
 
15.03.14
14:34
сделать ВТ с остатками на каждый день, потом перебирая договоры - вязаться к ней по дате, контру и договору
4 alexio_alexio
 
15.03.14
14:35
(1) Тогда может эту задачу надо решать так: получить остаток задолженности на опред. дату и к ней вычесть (прибавить) обороты за период ОтсрочкаПоДоговору (или что-то вроде этого условия)?
5 alexio_alexio
 
15.03.14
14:38
(4) Хотя опять параметр для оборотов может быть составным...
6 Naumov
 
15.03.14
22:23
Если расчеты ведутся по расчетным документам, то задача решается на раз, иначе через ЖПО
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший