8.х Неверные параметры

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Swl68, 10 окт 2012.

  1. TopicStarter Overlay
    Swl68
    Offline

    Swl68 Опытный в 1С

    Регистрация:
    13 сен 2012
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, подскажите пожалуйста, в чем может быть ошибка...
    Код:
    ЕжегодныйОтпуск = Новый СписокЗначений();
    ЕжегодныйОтпуск.Добавить(Перечисления.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускУчебный);
    ЕжегодныйОтпуск.Добавить(Перечисления.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускПоУходуЗаРебенком);
    ЕжегодныйОтпуск.Добавить(Перечисления.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускЕжегодный);
    
    Если ФлажокУчебныйОтпуск и ФлажокОтпускПоУходуЗаРебёнком и ФлажокЕжегодныйОтпуск
    Тогда
    Запрос = Новый Запрос;
    Запрос.Текст =
    "   ВЫБРАТЬ
    | ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Номер,
    | ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Дата,
    | ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Организация.Наименование КАК Организация,
    | ОтпускаОрганизацийРаботникиОрганизации.Сотрудник,
    | ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия КАК ВидОтпуска,
    | ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала,
    | ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания,
    | ОтпускаОрганизацийРаботникиОрганизации.КоличествоДней,
    | ОтпускаОрганизацийРаботникиОрганизации.РабочийГодС КАК РабочийГодС,
    | ОтпускаОрганизацийРаботникиОрганизации.РабочийГодПо КАК РабочийГодПо,
    |   ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Должность КАК Должность,
    |   ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.ПодразделениеОрганизации КАК ПодразделениеОрганизации
    |ИЗ
    | Документ.ОтпускаОрганизаций.РаботникиОрганизации КАК ОтпускаОрганизацийРаботникиОрганизации
    |ГДЕ
    | ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия В (&ЕжегодныйОтпуск)
    | И ВЫБОР КОГДА &Организация = НЕОПРЕДЕЛЕНО ТОГДА ИСТИНА ИНАЧЕ ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Организация = &Организация КОНЕЦ
    | И ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Проведен
    | И НЕ ОтпускаОрганизацийРаботникиОрганизации.Ссылка.ПометкаУдаления
    | И (ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала >= &ДатаНачала
    |    И ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала <= &ДатаОкончания
    |   ИЛИ ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания >= &ДатаНачала
    |    И ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания <= &ДатаОкончания)
    |ОБЪЕДИНИТЬ
    |   ВЫБРАТЬ
    | ОтпускПоУходуЗаРебенком.Номер КАК Номер,
    | ОтпускПоУходуЗаРебенком.Дата КАК Дата,
    | ОтпускПоУходуЗаРебенком.Организация КАК Организация,
    | ОтпускПоУходуЗаРебенком.Сотрудник КАК Сотрудник,
    | ""Отпуск по уходу за ребёнком"" КАК ВидОтпуска,
    | ОтпускПоУходуЗаРебенком.ДатаНачала,
    | ОтпускПоУходуЗаРебенком.ДатаОкончания,
    | ""-"" КАК КоличествоДней,
    | ""-"" КАК РабочийГодС,
    | ""-"" КАК РабочийГодПо,
    | ОтпускПоУходуЗаРебенком.Сотрудник.Должность КАК Должность,
    | ОтпускПоУходуЗаРебенком.Сотрудник.ПодразделениеОрганизации КАК ПодразделениеОрганизации
    |ИЗ
    | Документ.ОтпускПоУходуЗаРебенком КАК ОтпускПоУходуЗаРебенком
    |ГДЕ
    | (ОтпускПоУходуЗаРебенком.ДатаНачала >= &ДатаНачала
    |    И ОтпускПоУходуЗаРебенком.ДатаНачала <= &ДатаОкончания
    |   ИЛИ ОтпускПоУходуЗаРебенком.ДатаОкончания >= &ДатаНачала
    |    И ОтпускПоУходуЗаРебенком.ДатаОкончания <= &ДатаОкончания)
    | И ВЫБОР КОГДА &Организация = НЕОПРЕДЕЛЕНО ТОГДА ИСТИНА ИНАЧЕ ОтпускПоУходуЗаРебенком.Организация = &Организация КОНЕЦ";
    Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
    Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
    Запрос.УстановитьПараметр("ЕжегодныйОтпуск", ЕжегодныйОтпуск);
    Запрос.УстановитьПараметр("Организация", ?(ЗначениеЗаполнено(Организация),Организация, Неопределено));
    Результат = Запрос.Выполнить();
    В первой части все хорошо, все проходит, а вот во второй Строка (
    Код:
    | И ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия В (&ЕжегодныйОтпуск)
    ) имеет неверный параметр ЕжегодныйОтпуск, хотя смысл что в первой части что во второй одинаков

    Код:
     ЕжегодныйОтпуск = Новый СписокЗначений();
    ЕжегодныйОтпуск.Добавить(Перечисления.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускЕжегодный);
    ЕжегодныйОтпуск.Добавить(Перечисления.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускУчебный);
    ЕжегодныйОтпуск.Добавить(ПланыВидовРасчета.ОсновныеНачисленияОрганизаций);
    Если ФлажокЕжегодныйОтпуск И ФлажокУчебныйОтпуск И ФлажокДополнительныйОтпуск
    Тогда
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Номер,
    | ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Дата,
    | ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Организация.Наименование КАК Организация,
    | ОтпускаОрганизацийРаботникиОрганизации.Сотрудник,
    | ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия КАК ВидОтпуска,
    | ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала,
    | ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания,
    | ОтпускаОрганизацийРаботникиОрганизации.КоличествоДней,
    | ОтпускаОрганизацийРаботникиОрганизации.РабочийГодС КАК РабочийГодС,
    | ОтпускаОрганизацийРаботникиОрганизации.РабочийГодПо КАК РабочийГодПо,
    |   ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Должность КАК Должность,
    |   ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.ПодразделениеОрганизации КАК ПодразделениеОрганизации
    |ИЗ
    | Документ.ОтпускаОрганизаций.РаботникиОрганизации КАК ОтпускаОрганизацийРаботникиОрганизации
    |ГДЕ
    | ВЫБОР КОГДА &Организация = НЕОПРЕДЕЛЕНО ТОГДА ИСТИНА ИНАЧЕ ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Организация = &Организация КОНЕЦ
    | И ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия В (&ЕжегодныйОтпуск)
    |   И ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Проведен
    | И НЕ ОтпускаОрганизацийРаботникиОрганизации.Ссылка.ПометкаУдаления
    | И (ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала >= &ДатаНачала
    | И ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала <= &ДатаОкончания
    | ИЛИ ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания >= &ДатаНачала
    | И ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания <= &ДатаОкончания)
    |   ОБЪЕДИНИТЬ
    |
    |ВЫБРАТЬ
    |ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Номер,
    |ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Дата,
    |ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Организация,
    |ОтпускаОрганизацийРаботникиОрганизации.Сотрудник,
    |ОтпускаОрганизацийРаботникиОрганизации.ВидДополнительногоОтпуска КАК ВидОтпуска,
    |ОтпускаОрганизацийРаботникиОрганизации.ДатаНачалаДоп КАК ДатаНачала,
    |ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания,
    |ОтпускаОрганизацийРаботникиОрганизации.КоличествоДнейДоп,
    |ОтпускаОрганизацийРаботникиОрганизации.РабочийГодС,
    |ОтпускаОрганизацийРаботникиОрганизации.РабочийГодПо,
    |ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Должность КАК Должность,
    |ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.ПодразделениеОрганизации КАК ПодразделениеОрганизации
    |    ИЗ
    |Документ.ОтпускаОрганизаций.РаботникиОрганизации КАК ОтпускаОрганизацийРаботникиОрганизации
    |   ГДЕ
    |ВЫБОР КОГДА &Организация = НЕОПРЕДЕЛЕНО ТОГДА ИСТИНА ИНАЧЕ ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Организация = &Организация КОНЕЦ
    |И ОтпускаОрганизацийРаботникиОрганизации.ДатаНачалаДоп >= &ДатаНачала
    |И ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания <= &ДатаОкончания";
    Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
    Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
    Запрос.УстановитьПараметр("ЕжегодныйОтпуск", ЕжегодныйОтпуск);
    Запрос.УстановитьПараметр("Организация", ?(ЗначениеЗаполнено(Организация),Организация, Неопределено));
    Результат = Запрос.Выполнить();
    
  2. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.977
    Симпатии:
    397
    Баллы:
    104
    А как Вы поняли, что
    Если есть ошибка. То ее текст в студию.
  3. TopicStarter Overlay
    Swl68
    Offline

    Swl68 Опытный в 1С

    Регистрация:
    13 сен 2012
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    отан

    ой, нет,

    отан

    вот этот, совсем все напутал...

    Вложения:

  4. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.977
    Симпатии:
    397
    Баллы:
    104
    А в консоле запрос отрабатывает?
  5. TopicStarter Overlay
    Swl68
    Offline

    Swl68 Опытный в 1С

    Регистрация:
    13 сен 2012
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    да

    Вложения:

  6. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.977
    Симпатии:
    397
    Баллы:
    104
    Однозначно что-то с типами. Проверьте тип значения у ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия И ЕжегодныйОтпуск. Отладчик Вам в помощь.
  7. TopicStarter Overlay
    Swl68
    Offline

    Swl68 Опытный в 1С

    Регистрация:
    13 сен 2012
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Разобрался, незнаю почему, но ошибка в этой строчке
    Код:
    ЕжегодныйОтпуск.Добавить(ПланыВидовРасчета.ОсновныеНачисленияОрганизаций);
    
    я ее просто удалил
  8. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну вот. Это же у вас тип План видов расчета ссылка, а остальные перечисления....
  9. TopicStarter Overlay
    Swl68
    Offline

    Swl68 Опытный в 1С

    Регистрация:
    13 сен 2012
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    буду знать)
Похожие темы
  1. svv1979
    Ответов:
    6
    Просмотров:
    765
Загрузка...

Поделиться этой страницей