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

Форумы на Кубань.Ру


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

Метки:

1C ЗиК виснит отчет

Ø
Я
   uea
30.11.04 - 03:52
Мужики я сделал следующий отчет после запуска 1С Предпроиятия он зависает и выводит: Поле агрега тного объекта не обнаружено:Отбор2. Ошибка в моей таблице где я для определения стажа поставил: глСтажРаботыНаПредприятии(Запрос.Сотрудник,Запрос.ДатаПриема), т.к. до этого косяко не было, что мне исправить в модуле:
Процедура Сформировать()
  Перем Запрос, ТекстЗапроса, Таб;
  //Создание объекта типа Запрос
  Запрос = СоздатьОбъект("Запрос");
СписокКодов = СоздатьОбъект("СписокЗначений");



СписокКодов.ДобавитьЗначение("19262и27238и19727и19756и19793и19854и19821и19831и19834и19848и19861и19867и19906и19931и19919и19927и19929и27866");//УПТК

ТекстЗапроса =
  "//{{ЗАПРОС(Сформировать)
  |Период с ВыбНачПериода по ВыбКонПериода;
  |Сотрудник = Документ.ПриказОПриемеНаРаботу.ТекущийДокумент;
  |ТекущаяДолжность = Документ.ПриказОПриемеНаРаботу.Сотрудник.Должность;
  |ТекущееПодразделение = Документ.ПриказОПриемеНаРаботу.Сотрудник.Подразделение;
  |ДатаРождения = Документ.ПриказОПриемеНаРаботу.Сотрудник.ДатаРождения;
  |СтажОбщий = Документ.ПриказОПриемеНаРаботу.Сотрудник.СтажОбщий;
  |СтажПоПрофессии = Документ.ПриказОПриемеНаРаботу.Сотрудник.СтажНепрерывный;
  |ДатаПриема = Документ.ПриказОПриемеНаРаботу.ДатаПриема;
  |Группировка Сотрудник без групп;
  |Условие((Сотрудник.Отбор)=(ФОтбор));
  |Условие(ТекущаяДолжность.Код в СписокКодов);
  |Условие(ПустоеЗначение(глРаботалСотрудник(Сотрудник,ВыбНачПериода,ВыбКонПериода))=0);
  |//}}ЗАПРОС
  ;
  // Если ошибка в запросе, то выход из процедуры
  Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
  КонецЕсли;
  // Подготовка к заполнению выходных форм данными запроса
  Таб = СоздатьОбъект("Таблица");
  Таб.ИсходнаяТаблица("Сформировать");
  // Заполнение полей "Заголовок"
  Таб.ВывестиСекцию("Заголовок");
  //Состояние("Заполнение выходной таблицы...");
  Таб.Опции(0,0);
  Пока Запрос.Группировка(1) = 1 Цикл
    
       // Заполнение полей Сотрудник
      Таб.ВывестиСекцию("Сотрудник");
  КонецЦикла;
  // Вывод заполненной формы
  Таб.ПараметрыСтраницы(2,,,,,,,10,10,1,,);
  Таб.ТолькоПросмотр(0);
  Таб.Показать("Список работников подлежащих мед.осмотру");
КонецПроцедуры
Процедура ПриОткрытии()	
  ЖР=СоздатьОбъект("ЖурналРасчетов.Зарплата");
  Если ПустоеЗначение(ВыбНачПериода)=1 Тогда
    ВыбНачПериода=ЖР.НачалоТекущегоПериода();
  КонецЕсли;
  Если ПустоеЗначение(ВыбКонПериода)=1 Тогда
    ВыбКонПериода=ЖР.КонецТекущегоПериода();
  КонецЕсли;
КонецПроцедуры
 
 
   VZ
1 - 30.11.04 - 04:18
Мдя...
Условие((Сотрудник.Отбор)=(ФОтбор)); - что это?
 
СписокКодов.ДобавитьЗначение("19262и27238и19727и19756и19793и19854и19821и19831и19834и19848и19861и19867и19906и19931и19919и19927и19929и27866");
//УПТК
Ты полагаешь, в ЭТОМ запрос будет искать "19262" или "23234" или еще что?
 
Такая весчь, как
Условие(ПустоеЗначение(глРаботалСотрудник(Сотрудник,ВыбНачПериода,ВыбКонПериода))=0);
намертво убивает всю производительность запроса (хотя она, эта самая производительность, и так слабее перебора)
   VZ
3 - 30.11.04 - 04:35
Валяй, коли так... :/
   АБЗ
5 - 30.11.04 - 06:33
ОбщийСтаж=Год(ТекущаяДата())-Год(запрос.СтажОбщий)
   АБЗ
8 - 30.11.04 - 09:14
Скажи что за отчет ваяеш, и для чего?
З.Ы.А что 1С и до Кодинска добралась?



Список тем форума

Форум Территория 1С

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