Текущее время: Ср, июл 30 2025, 21:44

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Нужна помощь по усовершенствованию кода.....
СообщениеДобавлено: Вт, окт 02 2007, 15:30 
Ассистент
Ассистент

Зарегистрирован:
Пт, июн 22 2007, 07:24
Сообщения: 38
Подскажите пожалуйста... данный блок работает долго по времени...
Как его можно модифицировать????? В аблице много записей...
--------------------------------------------------------------
LOOP AT TCH_F.
WA_SLD = TCH_F.
AT NEW ZKOD_PLATEL.
KOD_PLATEL = WA_SLD-ZKOD_PLATEL.
ENDAT.

* at new nom_ch_f.
AT NEW NOM_LONG.
CLEAR ITKUN.
CLEAR: S_ALL, N_ALL, S_BUY, N_BUY, S_OST, N_OST.
NOM_LONG = WA_SLD-NOM_LONG.
NOM_CHF = WA_SLD-NOM_CH_F.
SUB_NOM = WA_SLD-SUB_NOM.
DATE_D = WA_SLD-DATE_CHF.
* if wa_sld-monat < monat. " - в начале года не сработает !!
IF WA_SLD-DATE_F < DATE_B.

ITKUN-KOD_PLAT = KOD_PLATEL.
ITKUN-GSBER = WA_SLD-GSBER.
ITKUN-MAX_NOM = NOM_CHF.
ITKUN-SUB_NOM = SUB_NOM.
ITKUN-DATE_CHF = DATE_D.

IF WA_SLD-SUM_OST = 0. " Аванс уже отработан
ITKUN-ANULL = 'X'.
ELSE. " Опр. остаток на начало месяца
S_ALL = WA_SLD-SUM_OST.
N_ALL = S_ALL * WA_SLD-STAVKA.
N_ALL = N_ALL / ( 100 + WA_SLD-STAVKA ).
ITKUN-SUM_ALL = S_ALL.
ITKUN-SUM_NDS = N_ALL.
ITKUN-SUM_WO_NDS = S_ALL - N_ALL.
ENDIF.

INSERT ITKUN INTO TABLE TSKUN.

DELETE TCH_F WHERE ZKOD_PLATEL = KOD_PLATEL
AND NOM_CH_F = NOM_CHF
AND SUB_NOM = SUB_NOM.
CONTINUE.

ELSEIF WA_SLD-MONAT = MONAT.
S_OST = WA_SLD-SUM_OST. " Остаток неотраб.аванса
N_OST = S_OST * WA_SLD-STAVKA.
N_OST = N_OST / ( 100 + WA_SLD-STAVKA ).
ITKUN-KOD_PLAT = KOD_PLATEL.
ITKUN-GSBER = WA_SLD-GSBER.
ITKUN-MAX_NOM = NOM_CHF.
ITKUN-SUB_NOM = SUB_NOM.
ITKUN-MONAT = MONAT.
ITKUN-DATE_CHF = DATE_D.
ITKUN-SUM_OST = S_OST.
ITKUN-SUM_NDS_OST = N_OST.
ENDIF.
ENDAT.

IF WA_SLD-NOM_CH_F = NOM_CHF AND WA_SLD-SUB_NOM = SUB_NOM.
IF WA_SLD-MONAT = MONAT.
ADD WA_SLD-SUM_BUY TO S_BUY.
ADD WA_SLD-SUM_NDS_BUY TO N_BUY.
* elseif wa_sld-monat < itkun-monat. " - в начале года не так !
ELSEIF WA_SLD-MONAT NE ITKUN-MONAT. " - Надо так
* elseif wa_sld-date_f < date_b. " ли так
IF WA_SLD-SUM_OST NE 0.
S_ALL = WA_SLD-SUM_OST.
N_ALL = S_ALL * WA_SLD-STAVKA.
N_ALL = N_ALL / ( 100 + WA_SLD-STAVKA ).
ELSE.
ITKUN-ANULL = '0'.
ENDIF.
ITKUN-KOD_PLAT = KOD_PLATEL.
ITKUN-GSBER = WA_SLD-GSBER.
ITKUN-MAX_NOM = NOM_CHF.
ITKUN-SUB_NOM = SUB_NOM.
ITKUN-DATE_CHF = DATE_D.
ITKUN-SUM_ALL = S_ALL.
ITKUN-SUM_NDS = N_ALL.
ITKUN-SUM_WO_NDS = S_ALL - N_ALL.
ITKUN-SUM_BUY = S_BUY.
ITKUN-SUM_NDS_BUY = N_BUY.
INSERT ITKUN INTO TABLE TSKUN.
DELETE TCH_F WHERE ZKOD_PLATEL = KOD_PLATEL
AND NOM_CH_F = NOM_CHF
AND SUB_NOM = SUB_NOM.
CONTINUE.
ENDIF.
ENDIF.

* AT END OF nom_ch_f. - 28.02.05
AT END OF NOM_LONG.
KOD_PLATEL = TCH_F-ZKOD_PLATEL.
CLEAR ITKUN.
ITKUN-KOD_PLAT = KOD_PLATEL.
ITKUN-GSBER = WA_SLD-GSBER.
ITKUN-MAX_NOM = WA_SLD-NOM_CH_F.
ITKUN-SUB_NOM = SUB_NOM.
ITKUN-DATE_CHF = WA_SLD-DATE_CHF.
ITKUN-SUM_ALL = S_ALL.
ITKUN-SUM_NDS = N_ALL.
ITKUN-SUM_WO_NDS = S_ALL - N_ALL.
ITKUN-SUM_BUY = S_BUY.
ITKUN-SUM_NDS_BUY = N_BUY.
ITKUN-SUM_OST = S_OST.
ITKUN-SUM_NDS_OST = N_OST.
INSERT ITKUN INTO TABLE TSKUN.
ENDAT.
ENDLOOP.


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

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
Плз, используй тег [code] иначе код не воспринимается совершенно

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: более удобный вид.
СообщениеДобавлено: Вт, окт 02 2007, 15:39 
Ассистент
Ассистент

Зарегистрирован:
Пт, июн 22 2007, 07:24
Сообщения: 38
Code:
  LOOP AT TCH_F.
    WA_SLD = TCH_F.
    AT NEW ZKOD_PLATEL.
      KOD_PLATEL = WA_SLD-ZKOD_PLATEL.
    ENDAT.

*   at new nom_ch_f.
    AT NEW NOM_LONG.
      CLEAR ITKUN.
      CLEAR:  S_ALL, N_ALL, S_BUY, N_BUY, S_OST, N_OST.
      NOM_LONG = WA_SLD-NOM_LONG.
      NOM_CHF = WA_SLD-NOM_CH_F.
      SUB_NOM = WA_SLD-SUB_NOM.
      DATE_D  = WA_SLD-DATE_CHF.
*     if wa_sld-monat < monat. " - в начале года не сработает !!
      IF WA_SLD-DATE_F < DATE_B.

        ITKUN-KOD_PLAT = KOD_PLATEL.
        ITKUN-GSBER    = WA_SLD-GSBER.
        ITKUN-MAX_NOM  = NOM_CHF.
        ITKUN-SUB_NOM  = SUB_NOM.
        ITKUN-DATE_CHF = DATE_D.

        IF WA_SLD-SUM_OST = 0. " Аванс уже отработан
          ITKUN-ANULL    = 'X'.
        ELSE.  " Опр. остаток на начало месяца
          S_ALL = WA_SLD-SUM_OST.
          N_ALL = S_ALL * WA_SLD-STAVKA.
          N_ALL = N_ALL / ( 100 + WA_SLD-STAVKA ).
          ITKUN-SUM_ALL  = S_ALL.
          ITKUN-SUM_NDS  = N_ALL.
          ITKUN-SUM_WO_NDS = S_ALL - N_ALL.
        ENDIF.

        INSERT ITKUN INTO TABLE TSKUN.

        DELETE TCH_F WHERE  ZKOD_PLATEL = KOD_PLATEL
                       AND  NOM_CH_F = NOM_CHF
                       AND  SUB_NOM  = SUB_NOM.
        CONTINUE.

      ELSEIF WA_SLD-MONAT = MONAT.
        S_OST = WA_SLD-SUM_OST.     " Остаток неотраб.аванса
        N_OST = S_OST * WA_SLD-STAVKA.
        N_OST = N_OST / ( 100 + WA_SLD-STAVKA ).
        ITKUN-KOD_PLAT = KOD_PLATEL.
        ITKUN-GSBER    = WA_SLD-GSBER.
        ITKUN-MAX_NOM  = NOM_CHF.
        ITKUN-SUB_NOM  = SUB_NOM.
        ITKUN-MONAT    = MONAT.
        ITKUN-DATE_CHF = DATE_D.
        ITKUN-SUM_OST  = S_OST.
        ITKUN-SUM_NDS_OST  = N_OST.
      ENDIF.
    ENDAT.

   IF WA_SLD-NOM_CH_F = NOM_CHF AND WA_SLD-SUB_NOM  = SUB_NOM.
      IF WA_SLD-MONAT = MONAT.
        ADD WA_SLD-SUM_BUY TO S_BUY.
        ADD WA_SLD-SUM_NDS_BUY TO N_BUY.
*     elseif wa_sld-monat < itkun-monat.     " - в начале года не так !
      ELSEIF WA_SLD-MONAT NE ITKUN-MONAT.    " - Надо так
*     elseif wa_sld-date_f < date_b. " ли так
        IF WA_SLD-SUM_OST NE 0.
          S_ALL = WA_SLD-SUM_OST.
          N_ALL = S_ALL * WA_SLD-STAVKA.
          N_ALL = N_ALL / ( 100 + WA_SLD-STAVKA ).
        ELSE.
          ITKUN-ANULL = '0'.
        ENDIF.
        ITKUN-KOD_PLAT = KOD_PLATEL.
        ITKUN-GSBER    = WA_SLD-GSBER.
        ITKUN-MAX_NOM  = NOM_CHF.
        ITKUN-SUB_NOM  = SUB_NOM.
        ITKUN-DATE_CHF = DATE_D.
        ITKUN-SUM_ALL  = S_ALL.
        ITKUN-SUM_NDS  = N_ALL.
        ITKUN-SUM_WO_NDS = S_ALL - N_ALL.
        ITKUN-SUM_BUY  = S_BUY.
        ITKUN-SUM_NDS_BUY  = N_BUY.
        INSERT ITKUN INTO TABLE TSKUN.
        DELETE TCH_F WHERE  ZKOD_PLATEL = KOD_PLATEL
                       AND  NOM_CH_F = NOM_CHF
                       AND  SUB_NOM  = SUB_NOM.
        CONTINUE.
      ENDIF.
    ENDIF.

*   AT END OF nom_ch_f.         - 28.02.05
    AT END OF NOM_LONG.
      KOD_PLATEL = TCH_F-ZKOD_PLATEL.
      CLEAR ITKUN.
      ITKUN-KOD_PLAT = KOD_PLATEL.
      ITKUN-GSBER    = WA_SLD-GSBER.
      ITKUN-MAX_NOM  = WA_SLD-NOM_CH_F.
      ITKUN-SUB_NOM  = SUB_NOM.
      ITKUN-DATE_CHF = WA_SLD-DATE_CHF.
      ITKUN-SUM_ALL  = S_ALL.
      ITKUN-SUM_NDS  = N_ALL.
      ITKUN-SUM_WO_NDS  = S_ALL - N_ALL.
      ITKUN-SUM_BUY  = S_BUY.
      ITKUN-SUM_NDS_BUY = N_BUY.
      ITKUN-SUM_OST = S_OST.
      ITKUN-SUM_NDS_OST = N_OST.
      INSERT ITKUN INTO TABLE TSKUN.
    ENDAT.
  ENDLOOP.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 02 2007, 15:47 
Специалист
Специалист

Зарегистрирован:
Пт, апр 13 2007, 17:15
Сообщения: 225
Воспользуйтесь SE30, в настройках не забудьте указать сбор статистики по операциям с внутренними таблицами.
На вскидку, если TCH_F стандартная таблица то
Code:
DELETE TCH_F WHERE ZKOD_PLATEL = KOD_PLATEL
AND NOM_CH_F = NOM_CHF
AND SUB_NOM = SUB_NOM.

может ощутимо тормозить.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 02 2007, 16:08 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
Как объявлены таблицы TCH_F и TSKUN?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 02 2007, 16:24 
Специалист
Специалист

Зарегистрирован:
Вс, мар 13 2005, 13:59
Сообщения: 201
Откуда: Moscau
EvgenySA написал(а):
Воспользуйтесь SE30, в настройках не забудьте указать сбор статистики по операциям с внутренними таблицами.
На вскидку, если TCH_F стандартная таблица то
Code:
DELETE TCH_F WHERE ZKOD_PLATEL = KOD_PLATEL
AND NOM_CH_F = NOM_CHF
AND SUB_NOM = SUB_NOM.

может ощутимо тормозить.

А тем более в цикле так делать нельзя ... допустим в лупе ты на 10 строке таблицы, а делейтом удалил с 5 по 20. Какая строка будет следующей?
почитай хелп - для loop с хедерлайном разрешен синтаксис delete itab - удалит текущую строку, а всё остальные некоректно.
Code:
INSERT ITKUN INTO TABLE TSKUN.

Если таблица большая - можно собрать записи в табличку в памяти и потом оптом инсертнуть.


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

Зарегистрирован:
Пт, июн 22 2007, 07:24
Сообщения: 38
вот так я обьявил таблицы.....
Code:
      BEGIN OF TKUN,
        KOD_PLAT    LIKE ZZZ_BOOK_BUY-ZKOD_PLATEL,
        MAX_NOM     LIKE ZZZ_BOOK_BUY-NOM_CH_F,
        SUB_NOM     LIKE ZZZ_BOOK_BUY-SUB_NOM,
        PORNUM      LIKE ZZZ_BOOK_BUY-PORNUM,
        GSBER       LIKE ZZZ_BOOK_BUY-GSBER,
*       gjahr       like zzz_book_buy-gjahr,
        MONAT       LIKE ZZZ_BOOK_BUY-MONAT,
        DATE_CHF    LIKE ZZZ_BOOK_BUY-DATE_CHF,
        SUM_ALL     LIKE ZZZ_BOOK_SALE-SUM_ALL,       " (4)
        SUM_WO_NDS  LIKE ZZZ_BOOK_SALE-SUM_WO_NDS20,  " (4)
        SUM_NDS     LIKE ZZZ_BOOK_SALE-SUM_NDS20,     " (6)
        SUM_BUY     LIKE ZZZ_BOOK_BUY-SUM_BUY,        " (7)
        SUM_NDS_BUY LIKE ZZZ_BOOK_BUY-SUM_NDS_BUY,    " (9)
        SUM_OST     LIKE ZZZ_BOOK_BUY-SUM_OST,        " (10) ?
        SUM_NDS_OST LIKE ZZZ_BOOK_BUY-SUM_OST,        " (10) ?
        ANULL       LIKE ZZZ_BOOK_BUY-ANULL,
        NAME1(35),
        NAME2(35),
      END OF TKUN,
*     tskun like hashed table of tkun with unique key kod_plat max_nom
*     itkun LIKE tkun OCCURS 0 WITH HEADER LINE,
      TSKUN LIKE SORTED TABLE OF TKUN
                       WITH NON-UNIQUE KEY KOD_PLAT DATE_CHF "max_nom
                       WITH HEADER LINE,

      BEGIN OF TCH_F OCCURS 1000,
        ZKOD_PLATEL  LIKE ZZZ_BOOK_BUY-ZKOD_PLATEL,
        NOM_LONG(20),
        NOM_CH_F     LIKE ZZZ_BOOK_BUY-NOM_CH_F,
        SUB_NOM      LIKE ZZZ_BOOK_BUY-SUB_NOM,
        NUMBR        LIKE ZZZ_BOOK_BUY-NUMBR,
        GSBER        LIKE ZZZ_BOOK_BUY-GSBER,
        GJAHR        LIKE ZZZ_BOOK_BUY-GJAHR,
        MONAT        LIKE ZZZ_BOOK_BUY-MONAT,
        PORNUM       LIKE ZZZ_BOOK_BUY-PORNUM,
        DATE_F       LIKE ZZZ_BOOK_BUY-DATE_F,
        DATE_CHF     LIKE ZZZ_BOOK_BUY-DATE_CHF,
        STAVKA       LIKE ZZZ_BOOK_BUY-STAVKA,
        SUM_ALL      LIKE ZZZ_BOOK_BUY-SUM_ALL,
        SUM_NDS_ALL  LIKE ZZZ_BOOK_BUY-SUM_NDS_ALL,
        SUM_BUY      LIKE ZZZ_BOOK_BUY-SUM_BUY,
        SUM_NDS_BUY  LIKE ZZZ_BOOK_BUY-SUM_NDS_BUY,
        SUM_OST      LIKE ZZZ_BOOK_BUY-SUM_OST,
        ANULL        LIKE ZZZ_BOOK_BUY-ANULL,
      END OF TCH_F,



Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 03 2007, 08:59 
Специалист
Специалист

Зарегистрирован:
Пт, апр 13 2007, 17:15
Сообщения: 225
Ну, как я уже писал
Code:
        DELETE TCH_F WHERE  ZKOD_PLATEL = KOD_PLATEL
                       AND  NOM_CH_F = NOM_CHF
                       AND  SUB_NOM  = SUB_NOM.

будет проводиться полным перебором, т.к. таблица стандартная. Кроме того, как заметил Boger такой код может привести к проблемам.
INSERT в сортированную таблицу будет проходить медленнее, чем APPEND в стандартную, но возможно не на много.
И всё таки лучше настроить SE30, чем тыкать пальцем в небо :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 03 2007, 09:16 
Специалист
Специалист

Зарегистрирован:
Вс, мар 13 2005, 13:59
Сообщения: 201
Откуда: Moscau
Цитата:
Code:
INSERT ITKUN INTO TABLE TSKUN.

Если таблица большая - можно собрать записи в табличку в памяти и потом оптом инсертнуть.

Упс. под вечере пропустил, что в не в бд, а в табличку пишется.
А так соглсен с Евгением - se30 поможет.[/quote]


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: se30
СообщениеДобавлено: Ср, окт 03 2007, 13:32 
Ассистент
Ассистент

Зарегистрирован:
Пт, июн 22 2007, 07:24
Сообщения: 38
Оттестил SE30.... :)))) Прикольная вещь!!!!
----------------------
Много ресурсов съедается на :
Code:
  SELECT * FROM ZZZ_BOOK_BUY_H
           INTO CORRESPONDING FIELDS OF TABLE TCH_F
             WHERE  BUKRS = BUKRS
               AND  GSBER_R  IN GSBER
               AND  GJAHR  LE GJAHR
               AND  DATE_F LE DATE_E     "Ïîñë. äåíü îò÷. ìåñÿöà
          and  kunnr   in kunnr     " Ïàâëîâ Ð.Â. 19.09.2007
               AND  STAVKA = PROC.
*              and  anull ne 'X'
*              AND  storn NE 'X'.        " 01.03.05

  LOOP AT TCH_F.
    CONCATENATE TCH_F-NOM_CH_F TCH_F-SUB_NOM INTO TCH_F-NOM_LONG.
    MODIFY TCH_F TRANSPORTING NOM_LONG.
  ENDLOOP.


именно на MODIFY ....
в таблице выбирается 405309 записей....
Может кто подскажет что с этим можно сделать????


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: se30
СообщениеДобавлено: Ср, окт 03 2007, 13:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
extreme написал(а):
именно на MODIFY ....

По внутренней табличке циклы лучше делать так:
Code:
field-symbols: <tch> LIKE LINE OF tch_f.
LOOP AT tch_f ASSIGNING <tch>.
  CONCATENATE <tch>-nom_ch_f <tch>-sub_nom INTO <tch>-nom_long.
ENDLOOP.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: se30
СообщениеДобавлено: Ср, окт 03 2007, 14:10 
Ассистент
Ассистент

Зарегистрирован:
Пт, июн 22 2007, 07:24
Сообщения: 38
sibrin написал:
extreme написал(а):
именно на MODIFY ....

По внутренней табличке циклы лучше делать так:
Code:
field-symbols: <tch> LIKE LINE OF tch_f.
LOOP AT tch_f ASSIGNING <tch>.
  CONCATENATE <tch>-nom_ch_f <tch>-sub_nom INTO <tch>-nom_long.
ENDLOOP.


а MODIFY делать не надо ??????


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: se30
СообщениеДобавлено: Ср, окт 03 2007, 14:20 
Ассистент
Ассистент

Зарегистрирован:
Пт, июн 22 2007, 07:24
Сообщения: 38
sibrin написал:
extreme написал(а):
именно на MODIFY ....

По внутренней табличке циклы лучше делать так:
Code:
field-symbols: <tch> LIKE LINE OF tch_f.
LOOP AT tch_f ASSIGNING <tch>.
  CONCATENATE <tch>-nom_ch_f <tch>-sub_nom INTO <tch>-nom_long.
ENDLOOP.


по синтаксису не проходит.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 03 2007, 15:03 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
MODIFY не нужно, потому что Вы делаете прямую модификацию нужной записи во внутренней таблице, на котроую ссылаетесь по ссылке (указателю).

Если логика программы позволяет, лучше не удалять записи, а внести дополнительное поле flag(1) и помечать 'X' его, если запись уже обработана. В главном цикле добавьте условие LOOP AT ... WHERE flag IS INITIAL.


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

Зарегистрирован:
Пт, июн 22 2007, 07:24
Сообщения: 38
vga написал(а):
MODIFY не нужно, потому что Вы делаете прямую модификацию нужной записи во внутренней таблице, на котроую ссылаетесь по ссылке (указателю).

Если логика программы позволяет, лучше не удалять записи, а внести дополнительное поле flag(1) и помечать 'X' его, если запись уже обработана. В главном цикле добавьте условие LOOP AT ... WHERE flag IS INITIAL.


а вот по синтаксису что????


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

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


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

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


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

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