Имя: Пароль:
1C
1С v8
Запрос "Выбор Когда Тогда Конец"
0 shutova
 
02.07.19
10:23
Здравствуйте. Ситуация следующая. Нужно выбрать вес, который максимально приближен к дате последнего осеменения (если даты осеменения нет, то должно выводить последний вес). Но программа сразу скачет в блок "Иначе" и выводит всегда самый последний вес, пропуская основной блок с проверкой, хотя много записей, при которых условие должно работать. Может кто знает как это исправить?)
ВЫБОР
    КОГДА ГОД(Итог.ДатаПоследнегоОсеменения) = ГОД(ВесЖивотногоОстаткиИОбороты.Период)
            И МЕСЯЦ(Итог.ДатаПоследнегоОсеменения) = МЕСЯЦ(ВесЖивотногоОстаткиИОбороты.Период)
        ТОГДА ВесЖивотногоОстаткиИОбороты.МассаЖивотногоНачальныйОстаток
    ИНАЧЕ Итог.ВесПоследнегоВзвешивания
КОНЕЦ
1 agntosha
 
02.07.19
10:26
Вы бы больше запроса показали, а то что-где когда будет ..
2 palsergeich
 
02.07.19
10:27
ВЫБОР
    КОГДА ГОД(Итог.ДатаПоследнегоОсеменения) = ГОД(ВесЖивотногоОстаткиИОбороты.Период)
            И МЕСЯЦ(Итог.ДатаПоследнегоОсеменения) = МЕСЯЦ(ВесЖивотногоОстаткиИОбороты.Период)
        ТОГДА ВесЖивотногоОстаткиИОбороты.МассаЖивотногоНачальныйОстаток
Когда Итог.ДатаПоследнегоОсеменения = ДатаВремя(1,1,1,0,0,0) Тогда
ВесЖивотногоОстаткиИОбороты.МассаЖивотногоНачальныйОстаток
    ИНАЧЕ Итог.ВесПоследнегоВзвешивания
КОНЕЦ
3 catena
 
02.07.19
10:28
"хотя много записей, при которых условие должно работать" - это предположение или вы рядом в полях запроса выводите эти поля?
4 breezee
 
02.07.19
10:36
> Здравствуйте. Ситуация следующая. Нужно выбрать вес, который максимально приближен к дате последнего осеменения
Пятнично)
5 shutova
 
02.07.19
10:38
(2) все равно в итоге берется самый последний вес животного, а не вес, который был зафиксирован в месяц осеменения
6 Вафель
 
02.07.19
10:39
это же классическая задача на срез последних
7 palsergeich
 
02.07.19
10:39
(5) Нужно отдельное поле - вес в месяц осеменения, я его не вижу тут
8 Жан Пердежон
 
02.07.19
11:16
(5) тебе тут просто одними "Выбор Когда Тогда Конец" не обойтись, соединения делать надо...
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший