Текущее время: Ср, июл 23 2025, 12:58

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 12 2007, 09:25 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, июн 01 2005, 09:40
Сообщения: 536
Откуда: Belgorod
Пол: Мужской
Цитата:
Еще вопрос появился: объясните плз как работает provide? И чем его работа отличается от loop'a?
спасибо


тут тебе лучше курсы почитать, там все подробно написано.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 12 2007, 09:45 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Meshok написал(а):
...
Цитата:
В конце концов - поменяйте 'O-O-S-P' (это ведь недолго) на 'O-S-P' - посмотрите что изменилось.


Пробовал, результат тот же самый. =(

Отлично, значит путь анализа действительно не причём. А теперь следует запустить PPOME и посмотреть что и сколько объектов привязано, например к штатной должности. Ещё - Вы уверены что когда запускаете отчёт выбираете период анализа "сегодня" - по умолчанию период "всё", а в отчёте Вы это умолчание не меняете.
Цитата:
sy-uname!Что значит "нам решать"! Вы так в каждом топике пишите? Я вас не заставляю решать, а спросил в чем может быть проблема. Все что вы советовали я перепробовал.
А то и значит - далеко не в каждом топике спрашивают как решить курсовик\лабу, в основном спрашивают про реальные задачи.
Цитата:

Еще вопрос появился: объясните плз как работает provide? И чем его работа отличается от loop'a?
спасибо
Тем что provide анализирует в дополнение к условию where ещё поля begda endda, при этом количество выбираемых записей в итоге может отличаться от количества выбранных записей по тому-же условию loop-ом, так-же begda endda может не соответствовать тем значениям, которые записаны в таблице - более подробно и с примерами - help

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, июл 15 2007, 14:58 
Начинающий
Начинающий

Зарегистрирован:
Пн, июл 09 2007, 11:54
Сообщения: 15
Я понял почему строки повторяются. Это из-за иерархии организационных <я не знать русский языка>.

--Предприяте1-------------------------------
------------Отдел1---------------------------
------------------Подотдел1-----------------
---------------------Иванов И.И.-------------

При такой организации мой отчет выдаст (как минимум) 3 одинаковые строки.
Никто незнает как с этим бороться?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, июл 15 2007, 16:33 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Meshok написал(а):
Я понял почему строки повторяются. Это из-за иерархии организационных <я не знать русский языка>.

--Предприяте1-------------------------------
------------Отдел1---------------------------
------------------Подотдел1-----------------
---------------------Иванов И.И.-------------

При такой организации мой отчет выдаст (как минимум) 3 одинаковые строки.
Никто незнает как с этим бороться?

ничего подобного.
Во-первых - у вас приведена не праильная иерархия - пропущены штатеые должности.
Во-вторых get objec для Иванов И.И. будет вызван для Подотдел1, точнее для штатной должности. относящейся к Подотдел1. И будет вызван чтолько раз, сколько существует периодов для данного объекта (Иванов И.И.) в заданном интервале.

Хотклось-бы знать какие параметры задаются на селекуионном экране?

PS: на моей системе отчёт ничего не задваивает (в периоде "сегодня"), дублирование строк идёт только если указать "всё".

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, июл 15 2007, 16:49 
Начинающий
Начинающий

Зарегистрирован:
Пн, июл 09 2007, 11:54
Сообщения: 15
Цитата:
ничего подобного.
Во-первых - у вас приведена не праильная иерархия - пропущены штатеые должности.
Во-вторых get objec для Иванов И.И. будет вызван для Подотдел1, точнее для штатной должности. относящейся к Подотдел1. И будет вызван чтолько раз, сколько существует периодов для данного объекта (Иванов И.И.) в заданном интервале.

Хотклось-бы знать какие параметры задаются на селекуионном экране?

PS: на моей системе отчёт ничего не задваивает (в периоде "сегодня"), дублирование строк идёт только если указать "всё".


На селекционном экране ничего не задаю (кроме "сегодня","всё").

Цитата:
Я понял почему строки повторяются. Это из-за иерархии организационных <я не знать русский языка>.

--Предприяте1-------------------------------
------------Отдел1---------------------------
------------------Подотдел1-----------------
---------------------Иванов И.И.-------------

При такой организации мой отчет выдаст (как минимум) 3 одинаковые строки.


Я сделал такой вывод, потому что при установке глубины просмотра = 3, повторяющих строк нет.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 16 2007, 08:56 
Ассистент
Ассистент

Зарегистрирован:
Пт, апр 07 2006, 11:28
Сообщения: 46
У меня такого типа косяк был при формировании средства поиска. Задваивались записи. Решилось все ограничением ENDDATE="99991231"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 16 2007, 10:28 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Meshok написал(а):
...

На селекционном экране ничего не задаю (кроме "сегодня","всё").

...
Я сделал такой вывод, потому что при установке глубины просмотра = 3, повторяющих строк нет.


Задайте на селекционном экране корневой узел(узлы) вашей иерархии (Ид.объекта) - и не будет повторяющихся строк.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 17 2007, 13:41 
Начинающий
Начинающий

Зарегистрирован:
Пн, июл 09 2007, 11:54
Сообщения: 15
sy-uname написал(а):
Meshok написал(а):
...

На селекционном экране ничего не задаю (кроме "сегодня","всё").

...
Я сделал такой вывод, потому что при установке глубины просмотра = 3, повторяющих строк нет.


Задайте на селекционном экране корневой узел(узлы) вашей иерархии (Ид.объекта) - и не будет повторяющихся строк.


Пасибо. Я так уже делал. Получается что этот отчет будет работать только для одного манданта =(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 17 2007, 14:07 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Meshok написал(а):
...

Пасибо. Я так уже делал. Получается что этот отчет будет работать только для одного манданта =(

Отчёт полюбому будет работать в одном манданте, т.к. данные манданто-зависимы. Нет ничего криминального если пользователь вручную задаст корень или id будет зашито в варианте. Или сами реализуйте поиск всех вершин деревьев.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, июл 21 2007, 15:46 
Начинающий
Начинающий

Зарегистрирован:
Пн, июл 09 2007, 11:54
Сообщения: 15
sy-uname написал(а):
Meshok написал(а):
...

Пасибо. Я так уже делал. Получается что этот отчет будет работать только для одного манданта =(

Отчёт полюбому будет работать в одном манданте, т.к. данные манданто-зависимы. Нет ничего криминального если пользователь вручную задаст корень или id будет зашито в варианте. Или сами реализуйте поиск всех вершин деревьев.


Пасиб.
Появился еще вопрос:А если надо вывести не только занимаемые штатные должности но и вакантные (т.е. поля табельный номер и имя будут пустыми)

Я начал так бороться с этой проблемой:
Объявил переменную - vspo type i, которую впоследствии использовал как флаг. Я присваивал ей значение 1, если прога заходила в условие IF objec-otype = 'S'.
А потом если не имелось лица для этой штатной должности я проверял переменную vspo и если он был равен 1 апенндил таблицу.

Но получилась неувязка: если имеется лицо, которое занимает штат. должность, то в таблицу добавляются 2 строки: одна только с инфой про орг.<я не знать русский языка> и про штат. должность, а другая с тем же самым но еще и с именем и фамилией.Т.е. моя хитрость) до конца не сработала.
Помогите плз, голову сломал как от этого избавиться...

А вот на всякий случай код:

Code:
GET OBJEC.

  IF objec-otype = 'O'.
    LOOP AT p1000 where begda LE pc-endda
                    AND endda GE pc-begda.
      spec_tabl-SHORT = objec-short.
      spec_tabl-STEXT = objec-stext.
    ENDLOOP.
  ENDIF.


  IF objec-otype = 'S'.
   vspo = 1.
    LOOP AT p1000 where begda LE pc-endda
                    AND endda GE pc-begda.
      spec_tabl-CP1_SHORT = objec-short.
      spec_tabl-CP1_STEXT = objec-stext.
    ENDLOOP.
  ENDIF.

  IF objec-otype = 'P'.
    PROVIDE pernr FROM p0001
            vorna nachn nach2 FROM p0002
      BETWEEN pc-begda and pc-endda.
      CONCATENATE p0002-vorna p0002-nachn p0002-nach2 INTO name
      SEPARATED BY SPACE.
      spec_tabl-pernr = p0001-pernr.
      spec_tabl-cname = name.
    ENDPROVIDE.
    append spec_tabl.
    clear spec_tabl-pernr.
    clear spec_tabl-cname.
else.
  if vspo eq 1.
  append spec_tabl.
clear vspo.
  endif.
  ENDIF.



END-OF-SELECTION.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
     I_STRUCTURE_NAME                  = 'zspec_str2'
    TABLES
      T_OUTTAB                          = spec_tabl[]



Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, июл 21 2007, 16:46 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 23 2005, 12:50
Сообщения: 942
Пол: Мужской
Наверное, нужно чистить vspo и при выполнении IF objec-otype = 'P'

_________________
Нет таких денег, за которые кто-то будет работать лучше, чем энтузиасты бесплатно. Пол Грэм.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, июл 22 2007, 18:24 
Начинающий
Начинающий

Зарегистрирован:
Пн, июл 09 2007, 11:54
Сообщения: 15
Macros написал:
Наверное, нужно чистить vspo и при выполнении IF objec-otype = 'P'


Завтра конечно попробую, но не думаю что это поможет.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB