Имя: Пароль:
1C
1С v8
Прошу помочь с запросом. 1С 8.2. ЗУП.
0 Radion
 
14.11.11
11:33
Заполняем документ "Зарплата к выплате организаций", выдаем аванс: способ выплаты - через кассу, выплачивать - плановый аванс.
Пытаюсь разобраться в запросе который формирует список сотрудников на выплату планового аванса. Запрос очень большой, пытаюсь разбить его по блокам и разобрать. Но, при разбитии по блокам и попытке выводить данные отдельными частями появляются ошибки. вот часть запроса:
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
       Работники.Сотрудник.Физлицо КАК Физлицо,
       ВЫБОР
           КОГДА Работники.ПериодЗавершения <= &парамДата
                   И Работники.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
               ТОГДА ВЫБОР
                       КОГДА Работники.ПричинаИзмененияСостоянияЗавершения = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)
                           ТОГДА Работники.ПериодЗавершения
                       ИНАЧЕ &ПериодРегистрации
                   КОНЕЦ
           КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)
               ТОГДА Работники.Период
           ИНАЧЕ &ПериодРегистрации
       КОНЕЦ КАК ДатаНачалаПриемНаРаботу,
       Работники.Сотрудник.Физлицо.Наименование КАК ФизлицоНаименование,
       Работники.Сотрудник
   //ПОМЕСТИТЬ ВТ_СписокРаботников
   ИЗ
       РегистрСведений.РаботникиОрганизаций.СрезПоследних(
               &парамДата,
               Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)
                   И Организация = &ГоловнаяОрганизация
                   И (&ПоВсемФизлицам
                       ИЛИ Сотрудник.Физлицо В (&Физлица))) КАК Работники
   ГДЕ
       ВЫБОР
               КОГДА Работники.ПериодЗавершения <= &парамДата
                       И Работники.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                   ТОГДА Работники.ОбособленноеПодразделениеЗавершения
               ИНАЧЕ Работники.ОбособленноеПодразделение
           КОНЕЦ = &Организация
       И ВЫБОР
               КОГДА Работники.ПериодЗавершения <= &парамДата
                       И Работники.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                   ТОГДА Работники.ПричинаИзмененияСостоянияЗавершения
               ИНАЧЕ Работники.ПричинаИзмененияСостояния
           КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
       И (&ПоВсемПодразделениям
               ИЛИ ВЫБОР
                   КОГДА Работники.ПериодЗавершения <= &парамДата
                           И Работники.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                       ТОГДА Работники.ПодразделениеОрганизацииЗавершения
                   ИНАЧЕ Работники.ПодразделениеОрганизации
               КОНЕЦ В (&МассивПодразделений))
   
   //ИНДЕКСИРОВАТЬ ПО
   //    Физлицо

в консоле запросов выскакивает ошибка:
{Форма.Форма.Форма(739)}: Ошибка при вызове метода контекста (Выполнить): {(6, 11)}: Несовместимые типы "ВЫБОР"
ТОГДА <<?>>ВЫБОР
Как ее обойти, или что я не так выбрал? Спасибо.
1 Нуф-Нуф
 
14.11.11
11:35
эээ... конструктором пользуешься?
2 Radion
 
14.11.11
11:37
(1) нет. это часть кода большого запроса из документа "Зарплата к выплате организаций". Я сам ничего не писал.
3 truba
 
14.11.11
11:40
консоль запросов бывает глючит банально. попробуй
1) перезапустить
2) в окне запроса правой кнопкой на тексте и выбрать "конструктор запроса"
4 Ненавижу 1С
 
гуру
14.11.11
11:42
мы должны догадаться где это 739 строка?
5 Radion
 
14.11.11
11:50
а вообще что это за ошибка "Несовместимые типы "ВЫБОР"
ТОГДА <<?>>ВЫБОР " и когда она возникает обычно?
6 izekia
 
14.11.11
12:06
(4) какая разница - это выполнение запроса
7 izekia
 
14.11.11
12:10
(0) в параметр ПериодРегистрации посмотри что передаешь, у меня подобный запрос выполняется
8 Radion
 
14.11.11
12:49
(7) передавал вроде дату 15.11.2011. Сейчас вместо ПериодРегистрации установил конкретно ДАТАВРЕМЯ(2011,11,15,0,0,0). Вывел без ошибок))) Только возвращает результат колонкой количество - 17. А как посмотреть содержимое, что входит в эти 17?
9 catena
 
14.11.11
12:55
(8)"Поместить" разкоментил значит.
10 Radion
 
14.11.11
12:59
(9) ох пилять ))) точно Спасибо!
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший