Текущее время: Чт, июл 31 2025, 16:49

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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