Вход | Регистрация


1С:Предприятие ::

Метки: 

Не могу понять ошибку в запросе.Помогите!

Я
   ijusti
 
09.01.13 - 12:54
Запрос строится динамически, поэтому на небольшую кривоватость не обращайте внимание. Ошибка в последнем запросе для поля удержано, хотя как по мне от остальных не отличается
Итак запрос:
ВЫБРАТЬ РАЗЛИЧНЫЕ
    РаботникиОрганизации.Сотрудник КАК Сотрудник,
    РаботникиОрганизации.Ссылка.ВидВыплаты КАК ВидВыплаты,
    ЕСТЬNULL(РаботникиОрганизации.СуммаГрязными, 0) КАК Начислено,
    ЕСТЬNULL(НДФЛ.Налог, 0) КАК НДФЛ,
    ЕСТЬNULL(ВзносыЕСВоплататруда.Налог, 0) КАК ВзносыЕСВоплататруда
ПОМЕСТИТЬ ЗарплатаКВыплате
ИЗ
    Документ.ЗарплатаКВыплатеОрганизаций.РаботникиОрганизации КАК РаботникиОрганизации
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗарплатаКВыплатеОрганизаций.НДФЛ КАК НДФЛ
        ПО РаботникиОрганизации.Ссылка = НДФЛ.Ссылка
            И РаботникиОрганизации.Сотрудник = НДФЛ.Сотрудник
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗарплатаКВыплатеОрганизаций.Взносы КАК ВзносыЕСВоплататруда
        ПО РаботникиОрганизации.Сотрудник = ВзносыЕСВоплататруда.Сотрудник
            И РаботникиОрганизации.Ссылка = ВзносыЕСВоплататруда.Ссылка
            И (ВзносыЕСВоплататруда.ВидРасчета = &ВзносыЕСВоплататруда) 
ГДЕ
    РаботникиОрганизации.Ссылка.Проведен
    И РаботникиОрганизации.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
    И РаботникиОрганизации.Ссылка.Организация = &Организация
    И РаботникиОрганизации.Ссылка.ВидВыплаты В (&ВидыВыплат)

ИНДЕКСИРОВАТЬ ПО
    ВидВыплаты

;

 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ
    ЗарплатаКВыплате.Сотрудник КАК Сотрудник,
    ЗарплатаКВыплате.Начислено,
    ЗарплатаКВыплате.НДФЛ    ,
    ЗарплатаКВыплате.ВзносыЕСВоплататруда
ПОМЕСТИТЬ НачисленоАванс
ИЗ
    ЗарплатаКВыплате КАК ЗарплатаКВыплате
ГДЕ
    ЗарплатаКВыплате.ВидВыплаты = &НачисленоАванс
ИНДЕКСИРОВАТЬ ПО
    Сотрудник
;

 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ
    ЗарплатаКВыплате.Сотрудник КАК Сотрудник,
    ЗарплатаКВыплате.Начислено,
    ЗарплатаКВыплате.НДФЛ    ,
    ЗарплатаКВыплате.ВзносыЕСВоплататруда
ПОМЕСТИТЬ НачисленоАванспопредварительномурасчету
ИЗ
    ЗарплатаКВыплате КАК ЗарплатаКВыплате
ГДЕ
    ЗарплатаКВыплате.ВидВыплаты = &НачисленоАванспопредварительномурасчету
ИНДЕКСИРОВАТЬ ПО
    Сотрудник
;

 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ
ЕСТЬNULL( НачисленоАванс.Сотрудник,ЕСТЬNULL( НачисленоАванспопредварительномурасчету.Сотрудник,"Не указано"))   КАК Сотрудник,
ЕСТЬNULL( НачисленоАванс.Сотрудник.Физлицо.КодПоДРФО,ЕСТЬNULL( НачисленоАванспопредварительномурасчету.Сотрудник.Физлицо.КодПоДРФО,"Не указано"))   КАК ИНН,
СУММА(ЕСТЬNULL(НачисленоАванс.НДФЛ, 0) + ЕСТЬNULL(НачисленоАванспопредварительномурасчету.НДФЛ, 0))   КАК НДФЛ,
СУММА(ЕСТЬNULL(НачисленоАванс.Начислено, 0)) + СУММА(ЕСТЬNULL(НачисленоАванспопредварительномурасчету.Начислено, 0))   КАК Начислено,
СУММА(ЕСТЬNULL(НачисленоАванс.ВзносыЕСВоплататруда, 0) + ЕСТЬNULL(НачисленоАванспопредварительномурасчету.ВзносыЕСВоплататруда, 0)) + 
СУММА(ЕСТЬNULL(НачисленоАванс.НДФЛ, 0) + ЕСТЬNULL(НачисленоАванспопредварительномурасчету.НДФЛ, 0))   КАК Удержано,
  СУММА(ЕСТЬNULL(НачисленоАванс.Начислено, 0)) КАК НачислениеАванс,
  СУММА(ЕСТЬNULL(НачисленоАванспопредварительномурасчету.Начислено, 0)) КАК НачислениеАванспопредварительномурасчету,
  СУММА(ЕСТЬNULL(НачисленоАванс.ВзносыЕСВоплататруда, 0) + ЕСТЬNULL(НачисленоАванспопредварительномурасчету.ВзносыЕСВоплататруда, 0)) КАК ВзносыЕСВоплататруда
ИЗ
    НачисленоАванс КАК НачисленоАванс 
        ПОЛНОЕ СОЕДИНЕНИЕ НачисленоАванспопредварительномурасчету КАК НачисленоАванспопредварительномурасчету
        ПО НачисленоАванс.Сотрудник = НачисленоАванспопредварительномурасчету.Сотрудник
СГРУППИРОВАТЬ ПО

ЕСТЬNULL( НачисленоАванс.Сотрудник,ЕСТЬNULL( НачисленоАванспопредварительномурасчету.Сотрудник,"Не указано")) , 
ЕСТЬNULL( НачисленоАванс.Сотрудник.Физлицо.КодПоДРФО,ЕСТЬNULL( НачисленоАванспопредварительномурасчету.Сотрудник.Физлицо.КодПоДРФО,"Не указано"))

УПОРЯДОЧИТЬ ПО
    Сотрудник
 
 
   mikecool
 
1 - 09.01.13 - 12:56
а ошибка где?
   ijusti
 
2 - 09.01.13 - 12:56
здесь
СУММА(ЕСТЬNULL(НачисленоАванс.НДФЛ, 0) + ЕСТЬNULL(НачисленоАванспопредварительномурасчету.НДФЛ, 0))   КАК Удержано,
   Deon
 
3 - 09.01.13 - 13:00
а текст ошибки-то какой?
   Defender aka LINN
 
4 - 09.01.13 - 13:03
(3) Так неинтересно же будет
   ijusti
 
5 - 09.01.13 - 13:04
ошибка приустановке значения атрибута контекста(текст):{65,7}:неверные параметры "+"
СУММА(<<?>>ЕСТЬNULL(НачисленоАванс.НДФЛ, 0) + ЕСТЬNULL(НачисленоАванспопредварительномурасчету.НДФЛ, 0))   КАК Удержано,
   hhhh
 
6 - 09.01.13 - 13:07
(5) а почему по-разному делаете? НДФЛ так, а в следующих строчках другой способ? мегаэксперимент какой-то затеяли?
   viktor_vv
 
7 - 09.01.13 - 13:10
(5) Так у тебя там
Сумма() + Сумма()

Не покатит.
   Ёпрст
 
8 - 09.01.13 - 13:11
(7) ? с чего это не покатит ?
И у него не так, кстати, у него сумма (аргумент+аргкмент)
   viktor_vv
 
9 - 09.01.13 - 13:11
Так скорее всего.

СУММА(ЕСТЬNULL(НачисленоАванс.ВзносыЕСВоплататруда, 0) + ЕСТЬNULL(НачисленоАванспопредварительномурасчету.ВзносыЕСВоплататруда, 0) + 
ЕСТЬNULL(НачисленоАванс.НДФЛ, 0) + ЕСТЬNULL(НачисленоАванспопредварительномурасчету.НДФЛ, 0))   КАК Удержано,
   Deon
 
10 - 09.01.13 - 13:11
(7) Да ладно, там же Сумма(а+б)
 
 Рекламное место пустует
   ijusti
 
11 - 09.01.13 - 13:12
(7) запрос динамический
   viktor_vv
 
12 - 09.01.13 - 13:12
Скопировал.


СУММА(ЕСТЬNULL(НачисленоАванс.ВзносыЕСВоплататруда, 0) + ЕСТЬNULL(НачисленоАванспопредварительномурасчету.ВзносыЕСВоплататруда, 0)) + 

СУММА(ЕСТЬNULL(НачисленоАванс.НДФЛ, 0) + ЕСТЬNULL(НачисленоАванспопредварительномурасчету.НДФЛ, 0))   КАК Удержано,
   Reset
 
13 - 09.01.13 - 13:12
(5)Скорее всего .НДФЛ не нравится агрегатной ф-ии
   Deon
 
14 - 09.01.13 - 13:13
А в НДФЛ точно число хранится везде?
   Reset
 
15 - 09.01.13 - 13:15
(13) точнее, не агрегатной функции, а еще при сложении (+)
   ijusti
 
16 - 09.01.13 - 13:18
ту же ошибку выдает, если писать так
ЕСТЬNULL(НачисленоАванс.ВзносыЕСВоплататруда, 0)  +ЕСТЬNULL(НачисленоАванспопредварительномурасчету.ВзносыЕСВоплататруда, 0)
то есть без суммы
   Reset
 
17 - 09.01.13 - 13:18
Тип Документ.ЗарплатаКВыплатеОрганизаций.НДФЛ.Налог проверь
   mikecool
 
18 - 09.01.13 - 13:21
а сумма() + сумма() работает в запросе? что то сомневаюсь
   viktor_vv
 
19 - 09.01.13 - 13:22
(8) Таки да
Сумма() + Сумма() 

прокатит.
   hhhh
 
20 - 09.01.13 - 13:22
(16) ну вот это бредовое выражение исправь
ЕСТЬNULL(НДФЛ.Налог, 0) КАК НДФЛ,

зачем ты одно и то же слово НДФЛ в восьми местах используешь?
   ijusti
 
21 - 09.01.13 - 13:23
я понял ошибку
я взял НДФЛ.налог - это число, а взносы.налог - это не число
   Reset
 
22 - 09.01.13 - 13:23
ну и так, поворчать:

Использовать "НДФЛ" одновременно как алиас и как имя поля не комильфо.
Я бы предложил ЗарплатаКВыплатеОрганизацийНДФЛ для тч и
НДФЛНалог или НДФЛЗначение или НалогЗначение для имени поля
   Reset
 
23 - 09.01.13 - 13:24
(20) Опередил :)



Список тем форума
Рекламное место пустует Рекламное место пустует
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует