7.7 ошибка при формирование

Тема в разделе "Типовые решения "1С:Предприятие 7.7"", создана пользователем fiskal, 12 мар 2010.

  1. TopicStarter Overlay
    fiskal
    Offline

    fiskal

    Регистрация:
    28 дек 2009
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    Всем утро доброе.
    вобшем есть отчет...
    все работает... но когда я пытаюсь сформировать по определенному подразделению его он мне выдает (ниже прикрепил скрин с ошибкой)

    помогите разобраться...

    Вложения:

  2. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    в запросе ошибка, телепатировать сложно
  3. TopicStarter Overlay
    fiskal
    Offline

    fiskal

    Регистрация:
    28 дек 2009
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    не работает только по подразделению "Б" с остальными работает все ок.. данные то у всех одинаковые...
  4. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    ну так это хорошо, что с остальными все ок, что с запросом-то? увидеть его можно будет?
  5. TopicStarter Overlay
    fiskal
    Offline

    fiskal

    Регистрация:
    28 дек 2009
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    Код:
    Если ШтатноеРасп=0 Тогда
    СЗ = СоздатьОбъект("СписокЗначений");               
    
    Если (Основной = 1) или (ВнутрСовм = 1) Тогда
    СЗ.ДобавитьЗначение(Перечисление.СостояниеФизлица.СотрудникОсновной);
    СЗ.ДобавитьЗначение(Перечисление.СостояниеФизлица.ВнутреннееСовместительство);
    КонецЕсли;
    
    Если ВнешнСовм = 1 Тогда
    СЗ.ДобавитьЗначение(Перечисление.СостояниеФизлица.СотрудникНеосновной);     
    КонецЕсли;
    
    Если ВременноНеРаб = 1 Тогда
    СЗ.ДобавитьЗначение(Перечисление.СостояниеФизлица.ВременноНеРаботает);     
    КонецЕсли;
    
    СЗ.ДобавитьЗначение(Перечисление.СостояниеФизлица.Госслужащий); 
    //СЗ.ДобавитьЗначение(Перечисление.СостояниеФизлица.ВоеннослужащийПоКонтракту); 
    //СЗ.ДобавитьЗначение(Перечисление.СостояниеФизлица.ВоеннослужащийПоПризыву); 
    
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбНачПериода;
    |Сотрудник			= Справочник.Сотрудники.ТекущийЭлемент,Справочник.ДополнительныеРаботы.ТекущийЭлемент.Владелец;
    |ТекЭл				= Справочник.Сотрудники.ТекущийЭлемент,Справочник.ДополнительныеРаботы.ТекущийЭлемент;
    |ВидР				= Справочник.Сотрудники.ВидДопРаботы,Справочник.ДополнительныеРаботы.ВидРаботы;
    |Бюджет				= Справочник.Сотрудники.ИсточникФинансирования,Справочник.ДополнительныеРаботы.ИсточникФинансирования;
    |Подразделение		= Справочник.Сотрудники.Подразделение,Справочник.ДополнительныеРаботы.Подразделение;
    |Категория			= Справочник.Сотрудники.Категория,Справочник.ДополнительныеРаботы.Категория;
    |";
    
    Если Константа.НСОТ.Получить(ВыбНачПериода)=1 Тогда
    ТекстЗапроса = ТекстЗапроса + "
    |ПКГ			= Справочник.Сотрудники.КвалГр,Справочник.ДополнительныеРаботы.КвалГр;
    |";   
    КонецЕсли;
    
    ТекстЗапроса = ТекстЗапроса + "
    |ИФ					= Справочник.Сотрудники.ВидФинансирования,Справочник.ДополнительныеРаботы.ВидФинансирования;
    |Должность			= Справочник.Сотрудники.Должность,Справочник.ДополнительныеРаботы.Должность;
    |Оклад				= Справочник.Сотрудники.Оклад,Справочник.ДополнительныеРаботы.Разряд;
    |ПервОклад			= Справочник.Сотрудники.ПервОклад,Справочник.ДополнительныеРаботы.ПервОклад;
    |ПроцентОплаты		= Справочник.Сотрудники.ПроцентОплаты,Справочник.ДополнительныеРаботы.ПроцентОплаты;
    |Ставка				= Справочник.Сотрудники.Ставка,Справочник.ДополнительныеРаботы.Ставка;
    |ОкладЛР			= Справочник.Сотрудники.Оклад1,Справочник.ДополнительныеРаботы.РазрядЛечебРаботы;
    |ПроцентОплатыЛР	= Справочник.Сотрудники.ПроцентОплаты1,Справочник.ДополнительныеРаботы.ПроцентЛечебРаботы;
    |ОплЧ				= Справочник.Сотрудники.ПочасоваяОплата,Справочник.ДополнительныеРаботы.ПочасоваяОплата;
    |СостояниеФизлица	= Справочник.Сотрудники.СостояниеФизлица,Справочник.ДополнительныеРаботы.ТекущийЭлемент.Владелец.СостояниеФизлица;
    |ПочасоваяОплата	= Справочник.Сотрудники.ПочасоваяОплата, Справочник.ДополнительныеРаботы.ПочасоваяОплата;
    //|Функция СтавкаСумма= Сумма(Ставка) когда (СостояниеФизлица <> Перечисление.СостояниеФизлица.ВременноНеРаботает);
    |Функция СтавкаСумма= Сумма(Ставка);
    |Группировка Подразделение без групп;
    |";   
    
    Если ТарифИСО=0 Тогда
    Если СтрокаТарифСписка = 1 Тогда
    ТекстЗапроса = ТекстЗапроса + "
    |Группировка Должность без групп упорядочить по Должность.Ранг;
    |Группировка Сотрудник без групп упорядочить по Сотрудник.Наименование;
    |";   
    Иначе
    ТекстЗапроса = ТекстЗапроса + "
    |Группировка Должность без групп упорядочить по Должность.РангУ;
    |Группировка Сотрудник без групп упорядочить по Сотрудник.Наименование;
    |";   
    КонецЕсли;
    Иначе
    ТекстЗапроса = ТекстЗапроса + "
    |ЧасовВГод = Справочник.Сотрудники.ЧасовВГод, Справочник.ДополнительныеРаботы.ЧасовВГод;
    |Группировка Сотрудник без групп упорядочить по Сотрудник.Наименование;
    |Группировка Должность без групп упорядочить по Должность.РангУ;
    |";   
    КонецЕсли;
    
    ТекстЗапроса = ТекстЗапроса + "
    |Группировка ТекЭл;
    |Условие((ВидР=Перечисление.ВидыДопРабот.ВнутрСовм) или (ВидР=Перечисление.ВидыДопРабот.ИО) или (ПустоеЗначение(ВидР) = 1));
    |Условие(СостояниеФизлица в СЗ);
    |"//}}ЗАПРОС
    ; 
    
    Если СпсПодр.РазмерСписка()<>0 Тогда
    ТекстЗапроса = ТекстЗапроса + "
    |Условие (Подразделение в СпсПодр);
    |";
    КонецЕсли;
    
    Если ВМК=0 Тогда
    ТекстЗапроса = ТекстЗапроса + "
    |Условие (Не(Подразделение в Константа.ВМК));
    |";
    КонецЕсли;
    
    Если (СтрокаТарифСписка <> 3) и (ТипФормыУнивер < 4) Тогда  
    ТекстЗапроса = ТекстЗапроса+
    "
    |Условие(ПустоеЗначение(ОплЧ)=1);
    |"
    ;   
    КонецЕсли;  
    
    Запрос = СоздатьОбъект("Запрос");
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;
    КонецЕсли;
    
    
    думаю в этом куске вылезает ошибка..
  6. x-a-d
    Offline

    x-a-d Опытный в 1С

    Регистрация:
    3 сен 2009
    Сообщения:
    184
    Симпатии:
    0
    Баллы:
    26
    а разве так можно вставлять коммент прям в середину запроса? (строки)
    думаю надо
    ***
    |ПочасоваяОплата = Справочник.Сотрудники.ПочасоваяОплата, Справочник.ДополнительныеРаботы.ПочасоваяОплата;"; //ставим окончание строки
    //|Функция СтавкаСумма= Сумма(Ставка) когда (СостояниеФизлица Перечисление.СостояниеФизлица.ВременноНеРаботает);
    ТекстЗапроса = ТекстЗапроса + "
    |Функция СтавкаСумма= Сумма(Ставка);
    |Группировка Подразделение без групп;
    |";
  7. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    можно..

    В общем, не понятно, я думал sql запрос, а тут простой. Вроде все в порядке, но на всякий случай попробуй закоментировать все условия начиная с "Если СпсПодр.РазмерСписка()<>0 Тогда" и запустить. Подозреваю, что ошибка не здесь

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