Имя: Пароль:
1C
1С v8
Заполнение документа на основании нескольких других
, ,
0 Валидатор
 
19.02.14
13:45
самописная конфа на упр. приложении. Есть документ - заказ в карьер, в нем реквизиты и ТЧ, на основании этого документа можно сформировать ТТН. В чем собственно вопрос, как сделать заполнение одной ТТН на основании 2х, например заказов в карьер? выделить их шифтом, а как перенести потом данные из 2х тч в одну?
1 Euguln
 
19.02.14
13:46
1. Вылить в ТЗ, свернуть, залить.
2. Запросом.
2 Валидатор
 
19.02.14
13:48
(1) так а как вылить данные из 2х выбранных одновремененно документов?
3 Дмитрий666
 
19.02.14
13:50
добавить обработку, в которой нужно выбрать несколько документов заказ в карьер. затем в обработке создать док. ТТН и заполнить его тч данными из тч выбранных доков. может так?
4 Euguln
 
19.02.14
13:50
(3) Смотри, что приходит в процедуру заполнения.
5 Валидатор
 
19.02.14
13:51
(4) в обработку заполнения?
6 Euguln
 
19.02.14
13:52
(5) ну да
7 Валидатор
 
19.02.14
13:53
(6)
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказВКарьер") Тогда
Договор                     = ДанныеЗаполнения.Договор;
        Контрагент                 = ДанныеЗаполнения.Контрагент;
        Менеджер                 = ДанныеЗаполнения.Менеджер;
        Организация             = ДанныеЗаполнения.Организация;
        ЗаказВКарьер             = ДанныеЗаполнения.Ссылка;
        ТранспортноеСредство     = ДанныеЗаполнения.ТранспортноеСредство;
        ДокументОснование         = ДанныеЗаполнения.Ссылка;
        НалогообложениеНДС         = ДанныеЗаполнения.НалогообложениеНДС;
        Менеджер                = ДанныеЗаполнения.Менеджер;
        ЦенаВключаетНДС         = ДанныеЗаполнения.ЦенаВключаетНДС;
        ДоверенностьВыдана      = ДанныеЗаполнения.Контрагент;

Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ЗаказыКлиентовОстатки.Номенклатура,
        |    ЗаказыКлиентовОстатки.ЗаказаноОстаток,
        |    ЗаказыКлиентовОстатки.СуммаОстаток,
        |    ЗаказыКлиентовОстатки.ЗаказКлиента
        |ПОМЕСТИТЬ втЗаказКлиентаОстаток
        |ИЗ
        |    РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки
        |ГДЕ
        |    ЗаказыКлиентовОстатки.ЗаказКлиента.Ссылка = &Ссылка
        |    И ЗаказыКлиентовОстатки.ЗаказаноОстаток > 0
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    втЗаказКлиентаОстаток.Номенклатура,
        |    ЗаказВКарьерТовары.Цена,
        |    ЗаказВКарьерТовары.СтавкаНДС,
        |    ЗаказВКарьерТовары.ЕдиницаИзмерения,
        |    ЗаказВКарьерТовары.Ссылка,
        |    втЗаказКлиентаОстаток.ЗаказаноОстаток КАК Количество,
        |    втЗаказКлиентаОстаток.СуммаОстаток КАК СуммаСНДС,
        |    втЗаказКлиентаОстаток.ЗаказаноОстаток * ЗаказВКарьерТовары.Цена КАК Сумма,
        |    ВЫБОР
        |        КОГДА втЗаказКлиентаОстаток.ЗаказаноОстаток = 0
        |            ТОГДА 0
        |        ИНАЧЕ ЗаказВКарьерТовары.СуммаНДС / ЗаказВКарьерТовары.Количество * втЗаказКлиентаОстаток.ЗаказаноОстаток
        |    КОНЕЦ КАК СуммаНДС
        |ИЗ
        |    втЗаказКлиентаОстаток КАК втЗаказКлиентаОстаток
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказВКарьер.Товары КАК ЗаказВКарьерТовары
        |        ПО втЗаказКлиентаОстаток.Номенклатура = ЗаказВКарьерТовары.Номенклатура
        |            И втЗаказКлиентаОстаток.ЗаказКлиента.Ссылка = ЗаказВКарьерТовары.Ссылка
        |ГДЕ
        |    ЗаказВКарьерТовары.Ссылка = &Ссылка";
        
    Запрос.УстановитьПараметр("Ссылка", ДанныеЗаполнения.Ссылка);    

    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        
        НоваяСтрока = Товары.Добавить();
        
        Если ВыборкаДетальныеЗаписи.Количество = 0 Тогда
            Продолжить;
        КонецЕсли;    
            
            НоваяСтрока.ЕдиницаИзмерения     = ВыборкаДетальныеЗаписи.ЕдиницаИзмерения;
            //НоваяСтрока.Количество                 = ВыборкаДетальныеЗаписи.Количество;
            НоваяСтрока.Номенклатура             = ВыборкаДетальныеЗаписи.Номенклатура;
            НоваяСтрока.СтавкаНДС                 = ВыборкаДетальныеЗаписи.СтавкаНДС;
            НоваяСтрока.Сумма                     = ВыборкаДетальныеЗаписи.Сумма;
            НоваяСтрока.СуммаНДС                 = ВыборкаДетальныеЗаписи.СуммаНДС;
            НоваяСтрока.СуммаСНДС                 = ВыборкаДетальныеЗаписи.СуммаСНДС;
            НоваяСтрока.Цена                     = ВыборкаДетальныеЗаписи.Цена;
            НоваяСтрока.ЗаказВКарьер             = ВыборкаДетальныеЗаписи.Ссылка;
            
        КонецЦикла;
КонецЕсли;
    
    ИнициализироватьДокумент();
    Отпустил = Менеджер.ФизическоеЛицо;
8 Euguln
 
19.02.14
13:55
При выборе двух документов что приходит в ДанныеЗаполнения?
9 Дмитрий666
 
19.02.14
13:55
или ТТН это не документ?
10 Валидатор
 
19.02.14
13:56
(8) берется первый документ из выбранных
11 Валидатор
 
19.02.14
13:56
(9) документ
12 Euguln
 
19.02.14
13:58
(11) Ну значит надо перехватывать ввод на основании и передавать выбранные документы.
13 Валидатор
 
19.02.14
13:58
(12) можно подробнее? упр приложение тяжко идет)
14 Дмитрий666
 
19.02.14
13:59
добавь обработку, в тч с реквизитом типа документссылка.заказвкарьер и кнопку ОК
в ней выбираешь нужные документы и нажимаешь ОК. в процедуре ОК создаешь программно новый ТТН, запросом получаешь данные из таб частей заказа, выборкой запроса заполняешь таб часть ТТН
15 Валидатор
 
19.02.14
14:01
(14) давай по пунктам
1. создал обработку
2. добавил ей только ТЧ, в которой 1 реквизит документыссылка.заказ в карьер, вывел все на форму, как потом выбирать несколько доков в ней?
16 Дмитрий666
 
19.02.14
14:02
кнопкой добавить над таб частью. потом нажимаешь на ... и выбираешь нужный док. неужели не сможешь заполнить таб часть???
17 Валидатор
 
19.02.14
14:03
и как в управляемом приложении на форму списка добавить обработку?
18 Валидатор
 
19.02.14
14:05
точнее на форму объекта?
19 Дмитрий666
 
19.02.14
14:05
в форме списка добавить команду которая будет открывать обработку
20 Дмитрий666
 
19.02.14
14:07
тебе не обязательно привязывать эту команду к формам заказавкарьер, можно просто вызывать обработку из панели действий, все равно ты в обработке будешь выбирать документы
21 Валидатор
 
19.02.14
14:08
(20) да тут не понятно из за этих на клиенте  на сервере, что где. Как в панель действий в документе добавить эту обработку?
22 Дмитрий666
 
19.02.14
14:13
я имел ввиду панель действий конфигурации - сервис.
хотя лучше так - в обработке на закладке команды добавь команду, укажи группу командная панель формы: создать на основании, тип параметра - документ заказвкарьер
23 Валидатор
 
19.02.14
14:16
(22) не вижу там такого, доабвил на закладе команды в кофанды формы кнопку, перенес ее в командную панель (слева столбик с реквизитами формы), а где создать на основании и тип параметра?
24 EugeniaK
 
19.02.14
14:17
(0) В обработках заполнения табличных частей часто выделяют режимы "Заполнить- удаление текущих данных и заполнение новыми" и "Дополнить - добавить новые данные"
Я бы просто оставила стандартный ввод на основании и добавила кнопку "Дополнить ТЧ по данным еще одного документа"
25 Дмитрий666
 
19.02.14
14:18
не так.
открой в конфигураторе обработку. там где основные,подсистемы, итд выбери вкладку команды. там добавь новую команду укажи группу и параметр см. выше какие. команда автоматически добавится в форме дока заказвкарьер
26 Валидатор
 
19.02.14
14:21
(25) только в ТТН наверное тип параметра надо указать?
27 Валидатор
 
19.02.14
14:21
мне ведь нужно в ТТН выбирать открытие обработки, чтобы туда потом подбирать заказы в карьер?
28 Валидатор
 
19.02.14
14:24
хотя нет, в заказе в карьер, ясно, а потом тогда как?
29 Дмитрий666
 
19.02.14
14:24
вообщем тебе надо в уже созданном доке ТТН дать возвожность заполнить таб часть таб частями из нескольких заказомвкарьер?
не создавать док ТТН на основании заказа, а заполнять табчасть ТТН из открытого ТТН?
30 Валидатор
 
19.02.14
14:26
(29) да, то есть создали на основании 1 заказа в карьер допустим документ, по документу 25 кубов можно отгрузить, а машина только на 20, в итоге остается 5 кубов, мы тогда берем, открываем потом обработку, подбираем от туда другой заказ, и в итоге имеет количество 5 со старого заказа, и количество с нового заказа, котоырй мы выбрали
31 Валидатор
 
19.02.14
14:31
Поэтому я так понимаю следующие пункты:
1. Как добавить кнопку на форму в самой ТТН, для того, чтобы подбирать документы можно было
2. Когда мы выбрали наши доки, нам нужно перенести их ТЧ в нашу ТТН
так?
32 Дмитрий666
 
19.02.14
14:32
или например есть 2 заказа. 1 на 5 т. другой на 15. машина их берет оба, тогда мы эти 2 заказа суем в 1 ТТН. так?
33 Filin
 
19.02.14
14:32
Создай команду с множественным параметром. Назови - "Создать ТТН". Создавай в ней ТТН.
34 Валидатор
 
19.02.14
14:32
(32) да
35 Валидатор
 
19.02.14
14:34
(33) тогда придется переделывать ведь гораздо больше, чем просто открывать в ТТН обработку по выбору документов и их заполнеию ТЧ ?
36 Дмитрий666
 
19.02.14
14:37
то что я до этого писал это про 2 заказа в 1 ТТН. можно сделать так, например - создал ТТН на основании одного заказа(пусть на 5т). затем в форме ТТН нажал кнопку добавить заказ - выбрал другой заказ, но не более 15т.

А вот когда заказ превышает 20 т, тут можно создавать 2 ТТН на основании одного заказа, и затем второй ТТН дозаполнить той кнопкой добавитьзаказ в форме ТТН
37 Валидатор
 
19.02.14
14:38
(36) Вот кнопку я на форму смог добавить, как теперь заставить ее открываться при нажатии?
38 Дмитрий666
 
19.02.14
14:38
ты сначала писал как создать ТТН на основании 2-х заказов, а оказалось нужно наоборот создававать 2 ТТН на основании одного заказа. и кнопку по заполнению таб части ТТН  =)))))
39 Валидатор
 
19.02.14
14:38
(38) так первый вариант так и остался, заполнять ТТН на основании нескольких заказов
40 Дмитрий666
 
19.02.14
14:39
(37) открытьформу("Обработка.Обработка1.Форма");
41 Дмитрий666
 
19.02.14
14:40
(39) лучше сделать как в (38) я писал. я так думаю
42 Валидатор
 
19.02.14
14:41
(41) просили просто сделать, что если приехал человек, забрал там 20т, а у него заказ на 15, он не может просто 5 забрать, а у него есть другой заказ, еще на 15, в итоге он в одной ТТНке имеет 2 заказа, и может их забрать
43 Валидатор
 
19.02.14
14:42
(40) а когда открыли обработку, мы же в обработке самой правильно код пишем для получения данных, которые выбрали в нее?
44 Дмитрий666
 
19.02.14
14:47
(43) да, там в принципе можно через параметр передать ссылку на заказ, но я сейчас не могу вспомнить как это сделать.
Запросом выбираешь данные таб частей заказов, кот выбрал в табчасти обработки, создаешь новый ттн, заполняешь его таб часть выборкой запроса, и открываешь ТТН
45 Валидатор
 
19.02.14
14:49
(43) я не могу понять, как отследить момент выбора документов и нажатия ОК, я обработке привязал кнопку ОК, захожу в команды, ставлю туда точку останова, и туда она не попадает, а в самой ТТН прописал код:
&НаКлиенте
Процедура ВводНесколькихТТН(Команда)
    ПараметрыФормы = Новый Структура("Контрагент", Объект.Контрагент);
    ОткрытьФормуМодально("Обработка.ОбработкаЗагрузкиТТН.Форма.Форма", ПараметрыФормы, ЭтаФорма);
КонецПроцедуры

При нажатии на кнопку ТТН открывается, но как вот потом отследить момент нажатия кнопки ОК?
46 Дмитрий666
 
19.02.14
14:49
что такое ТТН?
47 Валидатор
 
19.02.14
14:49
(46) Документ - товарно транспортная накладная с ТЧ и реквзитами
48 Валидатор
 
19.02.14
14:50
кнопка ТТН - это кнопка вызова обработки в документе ТТН
49 Дмитрий666
 
19.02.14
14:52
(45) не совсем понял, ты открыл форму обработки,затем выбрал в табчасти заказы и затем нажал ОК. когда нажмешь ок тогда и отследишь
50 Валидатор
 
19.02.14
14:53
(49) когда я нажимаю ОК, у меня попадает на конец процедуры  ВводНесколькихТТН(Команда), какой запрос тогда и параметры в него мне использовать, чтобы отследить, какие доки я выбрал?
51 Дмитрий666
 
19.02.14
14:54
так ты пропиши процедуру кнопки ок
52 Валидатор
 
19.02.14
14:55
(51) она в модуле обработки пишется или модуле документа?
53 Валидатор
 
19.02.14
14:56
в модуле обработки есть только такая процедура:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
    
    //Вставить содержимое обработчика.
    //ПараметрыФормы = Новый Структура("", );
    //ОткрытьФорму("ОбщаяФорма.", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);
КонецПроцедуры

это она и есть?
54 Дмитрий666
 
19.02.14
14:58
а ты программист?
создай в форме обработки новую команду, перетащи ее в форму. будет что-то типа
&НаКлиенте
Процедура Команда1(Команда)
    // Вставить содержимое обработчика.
КонецПроцедуры
55 Валидатор
 
19.02.14
15:00
(54) и можно еще при открытии формы сразу задать отбор по контрагенту, чтобы не выбирали документов других контрагентов
56 Валидатор
 
19.02.14
15:01
(54) добавил
Процедура Команда1(Команда)
    ТекущаяСтрока = Элементы.ЗаказВКарьер.ТекущиеДанные;
    
    ЗаполнитьЗначенияСвойств(ВладелецФормы.Объект, ТекущаяСтрока);
КонецПроцедуры

в итоге при нажатии на ОК ничего не происходит
57 Валидатор
 
19.02.14
15:01
а не, происходит
58 Дмитрий666
 
19.02.14
15:02
так ты в запрос передашь параметр, ты ведь выберешь в табчасти доки, вот ты только из этих доков таб части и будешь брать
59 Валидатор
 
19.02.14
15:03
(58) в запрос я передаю типа источник, правильно? который формироваться должен при нажатии на кнопку ОК при открыти обработки?
60 Валидатор
 
19.02.14
15:04
(58) запрос отрабатывает же уже после выбора документов, где нет еще отбора
61 Дмитрий666
 
19.02.14
15:05
а мне оплата будет за подробные консультации?? =)
62 Валидатор
 
19.02.14
15:06
(61) напиши аську
63 Дмитрий666
 
19.02.14
15:10
нету ни аськи, ни скайпа. кстати, более чем 2 заказа можно засунуть в один ТТН, или только 1 или 2?
64 Валидатор
 
19.02.14
15:11
(63) пока только 1 или 2
65 Валидатор
 
19.02.14
15:11
(63) у меня при нажатии на ок, попадает только последний документ из двух выбранных, вот код кнопки в обработке:
&НаКлиенте
Процедура Команда1(Команда)
    ТекущаяСтрока = Элементы.ЗаказВКарьер.ТекущиеДанные;
    
    ЗаполнитьЗначенияСвойств(ВладелецФормы.Объект, ТекущаяСтрока);
    ВладелецФормы.Объект.ЗаказВКарьер     = ТекущаяСтрока.ЗаказВКарьерКлиента;
    Закрыть();
КонецПроцедуры
66 Дмитрий666
 
19.02.14
15:17
в модуле формы обработки должно быть чтото типа этого

&НаКлиенте
Процедура Команда1(Команда)
насервере();    
КонецПроцедуры

&Насервере
Процедура насервере()
    массив=новый массив;
    для каждого стр из заказы цикл
        массив.добавить(стр);
    конеццикла;
    запрос=новый запрос;
    запрос.Текст="ВЫБРАТЬ
                 |    заказ.рек1,
                 |    заказ.рек2,
                 |    заказ.рек3,
                 |ИЗ
                 |    Документ.заказ КАК заказ
                 |ГДЕ
                 |    заказ.Ссылка В (&Ссылка)";
    
    запрос.УстановитьПараметр("Ссылка",массив);
    рез=запрос.Выполнить().Выбрать();
    ТТН=Документы.Документ1.СоздатьДокумент();
    ...       // заполнение реквизитов, таб частей
    ТТН.записать;
    ТТн.ПолучитьФорму();
    ТТн.открыть();
КонецПроцедуры
67 Валидатор
 
19.02.14
15:22
(66) получается мы закрываем старый документ и создаем новый или как? не понятно
68 Дмитрий666
 
19.02.14
15:27
это создание ТТН на основании 2-х заказов. Например ты вызвал обработку, выбрал в ней 2 заказа: 1-5т, 2-10т. нажал в обработке ОК у тебя создался ТТН на 15т и открылся сразу. Ты ведь так хотел?
69 Валидатор
 
19.02.14
15:28
(66) а данные заполнения это что?
70 Валидатор
 
19.02.14
15:29
(68) я хотел так: у меня есть ТТН введеный на основании 1 заказа, я хочу к нему добавить еще один заказ, в тот же ТТн чтобы, открываю обработку, беру от туда заказ, и данные ТЧ этого заказа пишутся в ТТН
71 Валидатор
 
19.02.14
15:30
Или просто сразу на основании 2х заказов нажимаем кнопку, вылезает обработка, мы выбираем 2 заказа, нажимаем ок, и создается ТТН
72 Дмитрий666
 
19.02.14
15:32
(71) да.
я тебе писал в (38) про кнопку добавить ты отказался
73 Валидатор
 
19.02.14
15:34
(72) два варианта нужно и тот и другой
74 Валидатор
 
19.02.14
15:36
(72) что такое в запросе данные заполнения?
75 Валидатор
 
19.02.14
15:37
точнее это как я понял те данные, которые мы выбираем при открытии обработки?
76 Дмитрий666
 
19.02.14
15:37
я думаю тебе надо кнопку добавить в ТТН, чтобы добавить заказ в уже существующий ТТН. А еще тебе надо кнопку для заказа "разбить заказ на 2 ТТН", чтобы если заказ более 25т его разбить на 2 ТТН: 1 - 20т, 2 - 5т.  Тебе нужно создавать 2 ТТН на основании одного заказа, а не 1 ТТН на основании 2-х заказов. Так?
77 Валидатор
 
19.02.14
15:39
(76) нееет, у меня всегда создается 1 ТТН! она просто создается или по 1 заказу, или по нескольким
78 Дмитрий666
 
19.02.14
15:39
(74) в обработке нет данныхзаполнения, они есть В ТТН, это при создании одного дока на основании другого. В твоем случае данныезаполнения это данные из дока заказ
79 Валидатор
 
19.02.14
15:40
(76) просто если заказ более 25т, то 20 списывается, а 5 на остатках остается, и другую ТТН, сформированную по заказу на 15т, например, можно дополнить эту на 5, получится 2 заказа в 1 ТТН
80 Валидатор
 
19.02.14
15:40
(78) передавать параметр в &Насервере
Процедура НаСервере()
    
так что ли? как иначе я получу данные выбора, че то я вообще не врубаюсь, дурацкое упр прилож
81 Валидатор
 
19.02.14
15:50
ошибка летит((
{Обработка.ОбработкаЗагрузкиТТН.Форма.Форма.Форма(54)}: Ошибка при вызове метода контекста (Выполнить)
    рез=запрос.Выполнить().Выбрать();
по причине:
{(10, 44)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
ЗаказыКлиентовОстатки.ЗаказКлиента.Ссылка <<?>>= &Ссылка

вот запрос:
запрос.Текст= "ВЫБРАТЬ
        |    ЗаказыКлиентовОстатки.Номенклатура,
        |    ЗаказыКлиентовОстатки.ЗаказаноОстаток,
        |    ЗаказыКлиентовОстатки.СуммаОстаток,
        |    ЗаказыКлиентовОстатки.ЗаказКлиента
        |ПОМЕСТИТЬ втЗаказКлиентаОстаток
        |ИЗ
        |    РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки
        |ГДЕ
        |    ЗаказыКлиентовОстатки.ЗаказКлиента.Ссылка = &Ссылка
        |    И ЗаказыКлиентовОстатки.ЗаказаноОстаток > 0
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    втЗаказКлиентаОстаток.Номенклатура,
        |    ЗаказВКарьерТовары.Цена,
        |    ЗаказВКарьерТовары.СтавкаНДС,
        |    ЗаказВКарьерТовары.ЕдиницаИзмерения,
        |    ЗаказВКарьерТовары.Ссылка,
        |    втЗаказКлиентаОстаток.ЗаказаноОстаток КАК Количество,
        |    втЗаказКлиентаОстаток.СуммаОстаток КАК СуммаСНДС,
        |    втЗаказКлиентаОстаток.ЗаказаноОстаток * ЗаказВКарьерТовары.Цена КАК Сумма,
        |    ВЫБОР
        |        КОГДА втЗаказКлиентаОстаток.ЗаказаноОстаток = 0
        |            ТОГДА 0
        |        ИНАЧЕ ЗаказВКарьерТовары.СуммаНДС / ЗаказВКарьерТовары.Количество * втЗаказКлиентаОстаток.ЗаказаноОстаток
        |    КОНЕЦ КАК СуммаНДС
        |ИЗ
        |    втЗаказКлиентаОстаток КАК втЗаказКлиентаОстаток
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказВКарьер.Товары КАК ЗаказВКарьерТовары
        |        ПО втЗаказКлиентаОстаток.Номенклатура = ЗаказВКарьерТовары.Номенклатура
        |            И втЗаказКлиентаОстаток.ЗаказКлиента.Ссылка = ЗаказВКарьерТовары.Ссылка
        |ГДЕ
        |    ЗаказВКарьерТовары.Ссылка = &Ссылка";


хочу отбирать сразу отстаток документов, чтобы потом их подгружать в имеющуюся ТТнку или создавая новую
82 Валидатор
 
19.02.14
16:19
соответственно массив в параметр не передать еще(
83 Валидатор
 
19.02.14
16:29
ап ап