Ошибка в запросе #525731


#0 by Hikari
Имеется документ НачислениеЗП, мне нужно получить сумму всех начислений у сотрудника по опредленным видам расчета, из Регистра расчета "Начисления"). В документ пр  заполнении определенных данных выводится такая ошибка: {ОбщийМодуль.РасчетОклада}: Ошибка при вызове метода контекста (Выполнить): {(6, 110)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля неограниченной длины и поля несовместимых типов. Начисления.ПериодРегистрации = &Период И Начисления.Сотрудник В (&СписокСотрудников) И Начисления.ВидРасчета<<?>>=&ВидРасчета    ВыборкаРезультата = Запрос.Выполнить; по причине: {(6, 110)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля неограниченной длины и поля несовместимых типов. Начисления.ПериодРегистрации = &Период И Начисления.Сотрудник В (&СписокСотрудников) И Начисления.ВидРасчета<<?>>=&ВидРасчета Как её исправить,скажите пожалуйста.
#1 by H A D G E H O G s
Правильно задать параметр ВидРасчета
#2 by H A D G E H O G s
что выводит?
#3 by Hikari
Вот это: План видов расчета менеджер: Основные начисления
#4 by H A D G E H O G s
Вот ты и сам ответил на свой вопрос. Это Менеджер, а не конкретная ссылка. Как ты эту переменную получаешь?
#5 by Hikari
РасчетОклада.РассчитатьСумму(ПланыВидовРасчета.ОсновныеНачисления, СписокСотрудников,СтрокаТабличнойЧасти); А теперь дошла суть ошибки. А как теперь написать, чтобы он сразу по нескольким видом расчета прошелся? У меня вот есть Оклад,Доплата,Надбавка.
#6 by H A D G E H O G s
В список значений добавить все эти виды (если предопределенные - проблем нет их найти) и в запрос, а в запросе - изменить условие на
#7 by Hikari
Да, они предопределенные. Спасибо, сейчас попробуем)
#8 by Hikari
Вот так вот можно реализовать? Запрос = Новый Запрос( "ВЫБРАТЬ РАЗЛИЧНЫЕ                          |    ОсновныеНачисленияНачисления.ВидРасчета
#9 by H A D G E H O G s
"ВЫБРАТЬ
#10 by Hikari
НачислениеЗаработнойПлатыНачисления.ВидРасчета Вот на этой строчке он у меня ругается. {ОбщийМодуль.РасчетОклада}: Ошибка при вызове метода контекста (Выполнить): {(10, 57)}: Поле не найдено "НачислениеЗаработнойПлатыНачисления.ВидРасчета" НачислениеЗаработнойПлатыНачисления.<<?>>ВидРасчета по причине: {(10, 57)}: Поле не найдено "НачислениеЗаработнойПлатыНачисления.ВидРасчета" НачислениеЗаработнойПлатыНачисления.<<?>>ВидРасчета У меня нет данного поля. У меня идут несколько полей относящихся к видамрасчета, это оклад надбавка налоги и т.д.
#11 by H A D G E H O G s
Весь свой текст запроса напиши
#12 by H A D G E H O G s
Что за конфа то такая? Самописка?
#13 by Hikari
H A D G E H O G s, да, самописка. Этот запрос я писал в общем модуле. И вызываю в документе.
#14 by H A D G E H O G s
Ну поле ВидРасчета в ТЧ "Начисления" документа "НачислениеЗаработнойПлаты" есть?
#15 by Hikari
Нет. У меня там вместо этого поля идут поля Оклад, Доплата, Налоги.
#16 by Hikari
Выводится вот такая ошибка: {ОбщийМодуль.РасчетОклада}: Ошибка при вызове метода контекста (Выполнить): {(8, 27)}: В запросах операции "В" должно выбираться столько полей, сколько операндов имеет левая часть операции.
#17 by unknown181538
Это совсем бред. Что сделать-то надо?
#18 by Hikari
Мне нужно у каждого сотрудника просуммировать его начисления по нескольким видам расчета. И если эта сумма будет меньше 20000 тогда налоги рассчитываются по одной формуле, если больше 20000 тогда по другой формуле.
#19 by H A D G E H O G s
Просто, как бы сказать... Сама структура конфигурации - это П%%?*ц. Полный.
#20 by H A D G E H O G s
Бред конечно, но я бы сделал так "ВЫБРАТЬ РАЗЛИЧНЫЕ |    НачислениеЗаработнойПлатыНачисления.Оклад,
#21 by Hikari
Спасибо огромное. Мне уже стыдно еще спрашивать. Мне после запроса надо обратится к записям регистра. СтрокаТабличнойЧасти.Налоги=(СтрокаТабличнойЧасти.Оклад+СтрокаТабличнойЧасти.Доплата+СтрокаТабличнойЧасти.Надбавка+СтрокаТабличнойЧасти.ТрудовойДоговор+СтрокаТабличнойЧасти.МатериальнаяПомощь)-(600*k+400*d); Я не как не могу понять. Как мне обратиться к записям регистра, чтобы их просуммировать.
Тэги: Математика и алгоритмы
Ответить:
Комментарии доступны только авторизированным пользователям

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