Имя: Пароль:
1C
1С v8
НачалоПериода в запросе
0 ЕщеОдин Программист
 
09.08.17
19:36
Вот в такой простой констркции вылетает с ошибкой
    |    выбор когда типзначения(т.ДатаРасчета) = Тип(Дата) Тогда
    |        НачалоПериода(т.ДатаРасчета,МЕСЯЦ)
    |    Иначе
    |        Неопределено
    |    Конец как МесяцРасчета,
говорит: Неверные параметры "НАЧАЛОПЕРИОДА"
НачалоПериода(<<?>>т.ДатаРасчета,МЕСЯЦ).
Если же я ее заменю на такую:
    |    выбор когда типзначения(т.ДатаРасчета) = Тип(Дата) Тогда
    |        т.ДатаРасчета
    |    Иначе
    |        Неопределено
    |    Конец как МесяцРасчета,
то ошибки уже нет. В чем может быть ошибка?
1 Franchiser
 
гуру
09.08.17
19:41
А если : НачалаПериода(выразить(т.датарасчета как Дата), Месяц)
2 ЕщеОдин Программист
 
09.08.17
19:47
(1) а так заработало. Похоже это глюки 1с.
3 Franchiser
 
гуру
09.08.17
19:50
Это фича. Не понятно почему у тебя ДатаРасчета не типа Дата. Если это ВТ, нужно было раньше приводить к типу
4 mehfk
 
09.08.17
19:50
а ты весь запрос покажи...
5 Franchiser
 
гуру
09.08.17
19:53
К полю составного типа нельзя напрямую применить Началопериода()
6 ЕщеОдин Программист
 
09.08.17
19:54
теперь он так выглядит:
    |ВЫБРАТЬ
    |    т.Документ,
    |    т.ПериодОстатка,
    |    т.ДатаРасчета,
    |    НачалоПериода(выразить(т.ДатаРасчета как дата),месяц) как МесяцРасчета,
    |    т.Субъект,
    |    т.ВидРасчета,
    |    т.Часы,
    |    т.СуммаНачисления,
    |    т.СуммаУдержания,
    |    т.СуммаВыплаты,
    |    т.СуммаНеВыплаченныхДенег
    |ПОМЕСТИТЬ ВТ_ДАННЫЕ_без_лишних
    |ИЗ ВТ_ВСЕ_ДАННЫЕ_С_ЛИШНИМИ КАК т
    |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ОСТАТКИ_ДОПОЛНЕННЫЕ КАК тОтб
    |    ПО т.Субъект = тОтб.Субъект И т.ПериодОстатка = тОтб.ПериодОстатка;

а весь, там под тысячу строк.
7 ЕщеОдин Программист
 
09.08.17
19:55
(5) понял, спасибо.
8 Chameleon1980
 
09.08.17
19:56
(6) см. (5)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс