Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Распределение сумм в запросе пропорционально результатам выборки

Распределение сумм в запросе пропорционально результатам выборки
Я
   Nikitos
 
22.06.12 - 14:37
День добрый!
Сдается мне что видел такое, но не нашел.
Собственно говоря, необходимо распределить некую сумму пропорционально некому набору сумм запросом.

Как-то вот такю
   mikecool
 
1 - 22.06.12 - 14:38
в СКД можно вроде
   Nikitos
 
2 - 22.06.12 - 14:38
а вот как?
   andrewks
 
3 - 22.06.12 - 14:40
можно и без СКД. что мешает найти сумму, выбрать и умножить?
   shuhard
 
4 - 22.06.12 - 14:42
(0)
(1)
неудачники
откройте в типовой Валовую прибыль
   Nikitos
 
5 - 22.06.12 - 14:42
Относительно многое. Одно из основных - как и куда деть остаток?
   andrewks
 
6 - 22.06.12 - 14:43
(5) какой остаток?
   Nikitos
 
7 - 22.06.12 - 14:45
(6) например нужно поровну разделить 10 рублей на 3 части...
   shuhard
 
8 - 22.06.12 - 14:47
(7) исключи из распределения первую запись и повесь на неё остаток


ладно бы сейчас был 2005 год и нужны бы были подзаппросы,
но не сделать этого через ВТ ?
   Maxus43
 
9 - 22.06.12 - 14:47
ЦенаОбщая*КоличествоОбщее/КоличествоЧастное

так в запросах постоянно делают в типовых даже
   Jaap Vduul
 
10 - 22.06.12 - 14:47
(7)А если бы не запросом, то куда девал?
   Nikitos
 
11 - 22.06.12 - 14:51
(9)  :)
ЦенаОбщая - 10 руб.
КоличествоОбщее - 9
КоличествоЧастное - 3

итого цена конкретной 1 штуки - 30 руб.
   Nikitos
 
12 - 22.06.12 - 14:51
(10) куда-нибудь кидал
   Maxus43
 
13 - 22.06.12 - 14:57
(11) ну ты понял смысл) в пятницу мозг плывёт уж
   Nikitos
 
14 - 22.06.12 - 14:59
(13) все равно надо как-то последнюю копейку пристраивать
   Nikitos
 
15 - 22.06.12 - 15:00
(8) ну поделись маленько опытом... Дай, так сказать, мастер класс
   Jaap Vduul
 
16 - 22.06.12 - 15:02
(12)Если в запросе строки можно однозначно идентифицировать, то кидай так же.
   Nikitos
 
17 - 22.06.12 - 15:04
(16) не всегда возможно. В том и проблема.
   spu79
 
18 - 22.06.12 - 15:06
а функции Минимум и Максимум в запросах отменили?
   shuhard
 
19 - 22.06.12 - 15:06
(17)[не всегда возможно. В том и проблема.]
сказки
пример в студию
   andrewks
 
20 - 22.06.12 - 15:07
(17) почему это не всегда? что мешает добавить нужные поля?
   Jaap Vduul
 
21 - 22.06.12 - 15:08
   Nikitos
 
22 - 22.06.12 - 15:12
ВЫБРАТЬ
                       ЗаказПоставщику.НомерВходящегоДокумента КАК НомерМашины,
                       ЗаказПоставщику.р_КомплектацияМашины КАК КомплектацияМашины,
                       ЗаказПоставщику.Ссылка КАК Ссылка,
                       ЗаказПоставщикуТовары.Номенклатура,
                       ЗаказПоставщикуТовары.ХарактеристикаНоменклатуры,
                       ЗаказПоставщикуТовары.Количество,
                       ЗаказПоставщикуТовары.Цена,
                       ЗаказПоставщикуТовары.Количество * ЗаказПоставщикуТовары.Цена КАК Сумма,
                       ЗаказПоставщикуТовары.Заказ.Ссылка,
                       ЗаказПоставщикуТовары.Заказ.Дата КАК ЗаказДата,
                       ЗаказПоставщикуТовары.Заказ.ВалютаДокумента,
                       ЗаказПоставщику.р_КомплектацияМашины.СтоимостьДоставки
                   ИЗ
                       Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
                           ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПоставщику КАК ЗаказПоставщику
                           ПО ЗаказПоставщикуТовары.Ссылка = ЗаказПоставщику.Ссылка
                   ГДЕ
                       ЗаказПоставщику.Проведен = ИСТИНА
                       И ЗаказПоставщику.НомерВходящегоДокумента В(&НомерВходящегоДокумента)


Стоимость доставки нужно распределить пропорционально сумме
   andrewks
 
23 - 22.06.12 - 15:13
каков бюджет?
   Ненавижу 1С
 
24 - 22.06.12 - 15:13
(20) ну если нет уникальности, то не всегда
   Jaap Vduul
 
25 - 22.06.12 - 15:14
Наверняка у р_КомплектацияМашины есть НомерСтроки
   Nikitos
 
26 - 22.06.12 - 15:14
(25) нет. Это всего лишь поле с некой цифрой совершенно в другом документе и не более того
   andrewks
 
27 - 22.06.12 - 15:15
(24) с тебя пример
   ssh2006
 
28 - 22.06.12 - 15:16
(26) в ТЧ товары есть НомерСтроки. Корректируй первую или последнюю строку
   Nikitos
 
29 - 22.06.12 - 15:19
(28) опять же нет. В этой ТЧ присутствует обычно несколько р_КомплектацияМашины
   shuhard
 
30 - 22.06.12 - 15:20
(29) да пофигу номер строки,
набор полей выборки образует первичный ключ
 
 Рекламное место пустует
   Ненавижу 1С
 
31 - 22.06.12 - 15:20
(27)
пронумеруй в запросе таблицу:

Поле1
"Вася"
"Вася"
"Вася"
   Nikitos
 
32 - 22.06.12 - 15:21
(30) и?
   ssh2006
 
33 - 22.06.12 - 15:21
(29) в ТЧ всегда есть НомерСтроки. р_КомплектацияМашины - это у тебя реквизит документа
   Ненавижу 1С
 
34 - 22.06.12 - 15:22
(32) если есть уникальность можно пронумеровать
   Nikitos
 
35 - 22.06.12 - 15:23
(33) не понимаю я что-то по вашему...
   m-serg74
 
36 - 22.06.12 - 15:24
что то не пойму чего с распределения съехали на нумерацию?)))
   ssh2006
 
37 - 22.06.12 - 15:24
(35) в ТЧ всегда есть НомерСтроки.
   Nikitos
 
38 - 22.06.12 - 15:25
(37) при чем здесь вообще НомерСтроки??
   Ненавижу 1С
 
39 - 22.06.12 - 15:26
(36) нумерация позволяет делать красивое распределение
   ssh2006
 
40 - 22.06.12 - 15:28
ВЫБРАТЬ
    "Вася" КАК Поле1
ПОМЕСТИТЬ Таб

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Вася"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Вася"
;

 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ
    1 КАК Номер
ПОМЕСТИТЬ ТабНомера

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   3
;
 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ РАЗЛИЧНЫЕ
    Таб.Поле1,
    ТабНомера.Номер
ИЗ
    Таб КАК Таб,
    ТабНомера КАК ТабНомера
   Nikitos
 
41 - 22.06.12 - 15:29
(39) ну не понимаю я как. Ступор какой-то
   m-serg74
 
42 - 22.06.12 - 15:29
(40) ты Гений)))
   m-serg74
 
43 - 22.06.12 - 15:29
(39) мне тоже интересно может пригодится...
   andrewks
 
44 - 22.06.12 - 15:30
(31) если у идентичных строк будет одинаковый номер - это не скажется на распределении
   andrewks
 
45 - 22.06.12 - 15:32
(40) бугага
   Ненавижу 1С
 
46 - 22.06.12 - 15:33
(44) отмазался ))
   Ненавижу 1С
 
47 - 22.06.12 - 15:33
(40) бред какой-то
   ssh2006
 
48 - 22.06.12 - 15:34
(47) Вася пронумерован))
   andrewks
 
49 - 22.06.12 - 15:34
(46) ага )
(47) почему?  решение частного случая. результат-то налицо :)
   Nikitos
 
50 - 22.06.12 - 15:46
круче всех выступил (8), но никто так ничего и не смог сказать внятного
   shuhard
 
51 - 22.06.12 - 15:48
(50) топик закрыт,
накопишь  денег - заходи
   andrewks
 
55 - 22.06.12 - 16:00
(50) неужели ты так и ничего не понял?
   Nikitos
 
56 - 22.06.12 - 16:03
(55) да. Это так
   ptiz
 
57 - 22.06.12 - 16:04
ВЫБРАТЬ
    "А" КАК Поле1,
    1 КАК К
ПОМЕСТИТЬ ТЗКоэффициентов

ОБЪЕДИНИТЬ

ВЫБРАТЬ
   "Б",
   1

ОБЪЕДИНИТЬ

ВЫБРАТЬ
   "В",
   1
;
 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ
    СУММА(ТЗКоэффициентов.К) КАК СуммаК
ПОМЕСТИТЬ ТЗПолнаяСуммаК
ИЗ
    ТЗКоэффициентов КАК ТЗКоэффициентов
;

 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ
    ТЗКоэффициентов.Поле1,
    ВЫРАЗИТЬ(ТЗКоэффициентов.К / ТЗПолнаяСумма.СуммаК * &РаспределяемаяСумма КАК ЧИСЛО(10, 1)) КАК Распределено
ПОМЕСТИТЬ РаспределеноПредварительно
ИЗ
    ТЗКоэффициентов КАК ТЗКоэффициентов
        ЛЕВОЕ СОЕДИНЕНИЕ ТЗПолнаяСуммаК КАК ТЗПолнаяСумма
        ПО (ИСТИНА)
;

 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ
    Подзапрос.Поле1,
    СУММА(Подзапрос.Распределено) КАК Распределено
ИЗ
    (ВЫБРАТЬ
        РаспределеноПредварительно.Поле1 КАК Поле1,
        РаспределеноПредварительно.Распределено КАК Распределено
    ИЗ
        РаспределеноПредварительно КАК РаспределеноПредварительно
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        МАКСИМУМ(РаспределеноПредварительно.Поле1),
        МАКСИМУМ(Остатки.Остаток)
    ИЗ
        РаспределеноПредварительно КАК РаспределеноПредварительно
            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                &РаспределяемаяСумма - СУММА(РаспределеноПредварительно.Распределено) КАК Остаток
            ИЗ
                РаспределеноПредварительно КАК РаспределеноПредварительно) КАК Остатки
            ПО (ИСТИНА)) КАК Подзапрос

СГРУППИРОВАТЬ ПО
    Подзапрос.Поле1
   Ненавижу 1С
 
58 - 22.06.12 - 16:08
ВЫБРАТЬ
    "А" КАК Объект,
    1 КАК База
ПОМЕСТИТЬ Данные

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   "Б",
   2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   "В",
   3
;
 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ
    СУММА(Данные.База) КАК СуммаБазы,
    &Сумма / СУММА(Данные.База) КАК Коэффициент
ПОМЕСТИТЬ Итог
ИЗ
    Данные КАК Данные
;

 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ
   Данные1.Объект,
    Данные1.База,
    ЕСТЬNULL(СУММА(Данные2.База), 0) КАК БазаНакопления
ПОМЕСТИТЬ ДанныеСНакоплением
ИЗ
    Данные КАК Данные1
        ЛЕВОЕ СОЕДИНЕНИЕ Данные КАК Данные2
        ПО Данные1.Объект > Данные2.Объект

СГРУППИРОВАТЬ ПО
    Данные1.Объект,
    Данные1.База
;

 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ
   ДанныеСНакоплением.Объект,
    ДанныеСНакоплением.База,
    ВЫРАЗИТЬ((&Сумма - (ВЫРАЗИТЬ((ДанныеСНакоплением.БазаНакопления) * Итог.Коэффициент КАК ЧИСЛО(15, 2))))*ДанныеСНакоплением.База/(Итог.СуммаБазы-ДанныеСНакоплением.БазаНакопления) КАК ЧИСЛО(15,2)) КАК Результат
ИЗ
    ДанныеСНакоплением КАК ДанныеСНакоплением,
    Итог КАК Итог
   andrewks
 
59 - 22.06.12 - 16:26
(58) накопительную ошибку округления не учитываешь
   andrewks
 
60 - 22.06.12 - 16:30
на скорую руку так получается (типовые не смотрел)

select 
 Товары.Ссылка as Ссылка
into
 ВремТабТовары 
from 
 Справочник.Номенклатура as Товары
where
 (НЕ Товары.ЭтоГруппа)  
index by
 Ссылка
 ;
 
 select
  Товары1.Ссылка
 ,count(Товары2.Ссылка) as НомерСтроки
 into
  ВремТабТоварыНумер
 from
  ВремТабТовары as Товары1
 inner join 
  ВремТабТовары as Товары2
 on (Товары1.Ссылка>=Товары2.Ссылка) 
 group by
  Товары1.Ссылка
 index by
  НомерСтроки
 
 ;
 
 select
  sum(1) as Сумма// пусть база распределения = 1, т.е. равномерно, на алгоритм ниже это не влияет
 
 into
  ВремТабОбщСумма
 from
  ВремТабТоварыНумер as Товары
  
 ;
 
 select top 1
  Товары.Ссылка
 ,Товары.НомерСтроки
 ,0 as РаспредСумма
into
 ВремТабПервыйТовар
from
  ВремТабТоварыНумер as Товары
;
  
select
 Товары.Ссылка
,Товары.НомерСтроки
,cast(&СуммаКРаспред/ОбщСумма.Сумма as number(17,5)) as РаспредСумма
into
 ВремТабОстальнойТовар 
from
 ВремТабТоварыНумер as Товары
,ВремТабОбщСумма as ОбщСумма
where (Товары.Ссылка not in (select ВремТабПервыйТовар.Ссылка from ВремТабПервыйТовар))

;

 select
  sum(Товары.РаспредСумма) as Сумма
 into
  ВремТабОбщСумма2
 from
  ВремТабОстальнойТовар as Товары

;

select
 Товары1.Ссылка
,cast(&СуммаКРаспред-ОбщСумма2.Сумма as number(17,5)) as РаспредСумма
from
 ВремТабПервыйТовар as Товары1
,ВремТабОбщСумма as ОбщСумма
,ВремТабОбщСумма2 as ОбщСумма2

union all

select
  Товары2.Ссылка
 ,Товары2.РаспредСумма 
from
  ВремТабОстальнойТовар as Товары2

 
 Рекламное место пустует
   Ненавижу 1С
 
61 - 22.06.12 - 16:32
(59) пример данных, где не верно
   andrewks
 
62 - 22.06.12 - 16:34
(61) сумма = 150,250
   shuhard
 
63 - 22.06.12 - 16:47
(60) ВТ убивают искусство подзапросов =)
   Ненавижу 1С
 
64 - 22.06.12 - 16:49
(62)    ВЫРАЗИТЬ((&Сумма - (ВЫРАЗИТЬ(ДанныеСНакоплением.БазаНакопления * Итог.Коэффициент КАК ЧИСЛО(15, 3)))) * ДанныеСНакоплением.База / (Итог.СуммаБазы - ДанныеСНакоплением.БазаНакопления) КАК ЧИСЛО(15, 2)) КАК Результат
   Ненавижу 1С
 
65 - 22.06.12 - 16:50
(63) да уж искусство ))
   andrewks
 
66 - 22.06.12 - 16:54
(64) это называется "подгон"
   Ненавижу 1С
 
67 - 22.06.12 - 16:54
(66) да, оно тоже не верно
   Ненавижу 1С
 
68 - 22.06.12 - 16:55
но, имхо, в (60) тоже наверное нарваться на неприятности можно
если предельно считать что база у первого 0, то толку от его исключения в отдельную таблицу?
хотя хз
   Ненавижу 1С
 
69 - 22.06.12 - 16:56
+(68) и что-то мне говорит, что задача запросом 1С 8 не решается в общем случае
   Coldboy
 
70 - 22.06.12 - 16:58
а нельзя, обработать табличную часть, типа 10 руб, есть процоциональн овсем, 10 \ количество строк, и в каждую строку записать в нужную колонку эту строчку и все?
   andrewks
 
71 - 22.06.12 - 16:59
(68) select top 1 ... where Base>0
   Coldboy
 
72 - 22.06.12 - 16:59
а если в запросе, то использовать, вложенные запросы?
   Coldboy
 
73 - 22.06.12 - 17:00
(0) я эт тебе
   Ненавижу 1С
 
74 - 22.06.12 - 17:03
(71) ну может и так, а может и нет
   shuhard
 
75 - 22.06.12 - 17:03
(68) ни кто же не мешает распределить, найти максимум и выделить его
и на выделенную запись зафигачить расхождение, которое может быть и отрицательным
   Ненавижу 1С
 
76 - 22.06.12 - 17:05
(75) фишка в том, чтобы ошибка округления была размазана более менее равномерно по всем, а у тебя на максимальный все вешается
   andrewks
 
77 - 22.06.12 - 17:06
(76) ошибка округления не может быть размазана более менее равномерно по всем, на то она и ошибка округления
   Ненавижу 1С
 
78 - 22.06.12 - 17:08
(77) имел ввиду, чтобы сделать как можно меньше величину

(РасчетныйРезультат[1]-ТочныйРезультат[1])^2+...+(РасчетныйРезультат[N]-ТочныйРезультат[N])^2
   Coldboy
 
79 - 22.06.12 - 17:09
(78) а вы щас о чем говорите?
   andrewks
 
80 - 22.06.12 - 17:10
(78) оптимизацией решил заняться? это уже явно не на языке запросов 1с
   shuhard
 
81 - 22.06.12 - 17:10
(76) в типовых вешается на максимальный
и я не вижу в этом минусов



(78)
ты корень извлечь забыл =)
   andrewks
 
82 - 22.06.12 - 17:12
(79) о дисперсии
   anddro
 
83 - 22.06.12 - 17:33
Вот пример функции для распределения без остатка и равномерным распределением погрешности.
И как это сделать запросом в 1С?


Функция РаспределитьЗначениеПоТаблице(Таблица, ИмяКолонкиБазы, ИмяКолонкиРезультат, Знач РаспределяемаяВеличина, Точность)
    БазаРаспределения = Таблица.Итог(ИмяКолонкиБазы);
    Для Каждого СтрокаТаблицы Из Таблица Цикл
        Если РаспределяемаяВеличина = 0 Тогда
            Прервать;
        КонецЕсли;
        Если СтрокаТаблицы[ИмяКолонкиБазы] <> 0 Тогда
            Распределить = Окр(РаспределяемаяВеличина / БазаРаспределения * СтрокаТаблицы[ИмяКолонкиБазы], Точность);
            СтрокаТаблицы[ИмяКолонкиРезультат] = Распределить;
            РаспределяемаяВеличина = РаспределяемаяВеличина - Распределить;
            БазаРаспределения = БазаРаспределения - СтрокаТаблицы[ИмяКолонкиБазы];
        КонецЕсли;
    КонецЦикла;
КонецФункции
   shuhard
 
84 - 22.06.12 - 17:36
(83) что - то в (57) не понятно ?
   andrewks
 
85 - 22.06.12 - 17:37
(83) " и равномерным распределением погрешности"  шо це таке?
   anddro
 
86 - 22.06.12 - 17:39
(84) да, вся погрешность падает на первый по сортировке показатель, даже если в той строке сумма нулевая или минимальная.
(85) ты где-то там видишь вычисление погрешности? нет, но и в итоге ее не будет.
   shuhard
 
87 - 22.06.12 - 17:40
(86) нам это известно, вопрос о чём ?
   andrewks
 
88 - 22.06.12 - 17:43
(86) 2. распределение погрешности не равномерное, просто дисперсия будет меньше. чтобы минимизировать, нужно отсортировать по базе в начале. и здесь чисто итеративный алгоритм
   anddro
 
89 - 22.06.12 - 17:47
(87) о том, что так ли надо извращаться в данном случае с запросами, если у задачи есть простое решение. Или это просто пятница?
(88) да понятно, что не декларативный. Но в языке запросов это сделать гораздо сложнее и те варианты, что приведены - они более ресурсоемкие.
   shuhard
 
90 - 22.06.12 - 17:50
(89) это типовая задача, решаемая во множестве отчётов
и выносить её в программный цикл бессмысленно
   Speshuric
 
91 - 22.06.12 - 18:45
(69) Всё можно:

ВЫБРАТЬ
    "А" КАК Объект,
    1 КАК База
ПОМЕСТИТЬ Данные

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   "Б",
   1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   "В",
   1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   "Г",
   1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   "Д",
   1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   "Е",
   1
;
 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ
    СУММА(Данные.База) КАК СуммаБазы
ПОМЕСТИТЬ Итог
ИЗ
    Данные КАК Данные
;

 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ
    Данные1.Объект КАК Объект,
    ВЫРАЗИТЬ(Данные1.База КАК ЧИСЛО(15, 2)) КАК База,
    ВЫРАЗИТЬ(ЕСТЬNULL(СУММА(Данные2.База), 0) КАК ЧИСЛО(15, 2)) КАК БазаНакопленная
ПОМЕСТИТЬ ДанныеСНакоплением
ИЗ
    Данные КАК Данные1
        ЛЕВОЕ СОЕДИНЕНИЕ Данные КАК Данные2
        ПО Данные1.Объект > Данные2.Объект

СГРУППИРОВАТЬ ПО
    Данные1.Объект,
    Данные1.База
;

 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ
   Данные.Объект,
    Данные.База,
    (ВЫРАЗИТЬ(&Сумма * (Данные.БазаНакопленная + Данные.База) / Итог.СуммаБазы КАК ЧИСЛО(15, 2))) 
    - (ВЫРАЗИТЬ(&Сумма * Данные.БазаНакопленная / Итог.СуммаБазы КАК ЧИСЛО(15, 2))) КАК РаспределеноПоБазе
ИЗ
    Итог КАК Итог,
    ДанныеСНакоплением КАК Данные
   anddro
 
92 - 22.06.12 - 18:59
а вот это (91) уже значительно красивее, чем (57)
   andrewks
 
93 - 22.06.12 - 21:19
(91) браво!
   Ненавижу 1С
 
94 - 22.06.12 - 21:55
(91) точно, точно, а я все вспоминал как-же получалось то...
   artbear
 
95 - 23.06.12 - 14:32
закладка1


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