Форум программистов, компьютерный форум, киберфорум
1С: Типовые и стандартные решения
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/40: Рейтинг темы: голосов - 40, средняя оценка - 4.68
3 / 3 / 3
Регистрация: 27.04.2014
Сообщений: 230
1
1C 8.x (тонкий)

УТ 11 - печать ценников

03.05.2014, 13:45. Показов 8342. Ответов 28
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. помогите пож-та решить проблему:
есть обработка ПечатьЦенников (встроенная в конфигурацию), в ней есть 4 макета (Большой, Средний, Маленький, МаленькийБезХарактеристик), есть форма, в которой при выборе нужного вида ценника (Вид ценника - это перечисления) (при выборе которого должен выбираться правильный макет и выводиться на печать). вот, что написал в модуле менеджера обработки:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        ВидЦенника = Перечисления.ВидыЦенников;
        
        Если ВидЦенника = Перечисления.ВидыЦенников.Большой Тогда
            Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Большой");
        ИначеЕсли 
            ВидЦенника = Перечисления.ВидыЦенников.Средний Тогда
            Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Средний");
        ИначеЕсли 
            ВидЦенника = Перечисления.ВидыЦенников.Маленький Тогда
            Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Маленький");
        ИначеЕсли 
            ВидЦенника = Перечисления.ВидыЦенников.МаленькийБезХарактеристик Тогда   
            Макет = Обработки.ПечатьЦенников.ПолучитьМакет("МаленькийБезХарактеристик");
        КонецЕсли;
но, при этом коде у меня выводятся все 4 макета сразу

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Макет = ПолучитьМакет("Большой");
        ОбластьМакета = Макет.ПолучитьОбласть("Ценник");
        ОбластьМакета.Параметры.КЗ = КЗ;
        ОбластьМакета.Параметры.Цена = "Цена: "+Строка(Цена)+" руб.";
        ОбластьМакета.Параметры.Номенклатура = Номенклатура;
        ОбластьМакета.Параметры.Производитель = Производитель;
        ОбластьМакета.Параметры.Описание = Описание;
        ТабДокумент.Вывести(ОбластьМакета);
        
        
        Макет = ПолучитьМакет("Средний");
        ОбластьМакета = Макет.ПолучитьОбласть("Ценник");
        ОбластьМакета.Параметры.КЗ = КЗ;
        ОбластьМакета.Параметры.Цена = "Цена: "+Строка(Цена)+" руб.";
        ОбластьМакета.Параметры.Номенклатура = Номенклатура;
        ОбластьМакета.Параметры.Производитель = Производитель;
        ОбластьМакета.Параметры.Описание = Описание;
        ТабДокумент.Вывести(ОбластьМакета);
        
        
        Макет = ПолучитьМакет("Маленький");
        ОбластьМакета = Макет.ПолучитьОбласть("Ценник");
        ОбластьМакета.Параметры.КЗ = КЗ;
        ОбластьМакета.Параметры.Цена = "Цена: "+Строка(Цена)+" руб.";
        ОбластьМакета.Параметры.Номенклатура = Номенклатура;
        ОбластьМакета.Параметры.Производитель = Производитель;
        ОбластьМакета.Параметры.Описание = Описание;
        ТабДокумент.Вывести(ОбластьМакета);
        
 
        Макет = ПолучитьМакет("МаленькийБезХарактеристик");
        ОбластьМакета = Макет.ПолучитьОбласть("Ценник");
        ОбластьМакета.Параметры.КЗ = КЗ;
        ОбластьМакета.Параметры.Цена = "Цена: "+Строка(Цена)+" руб.";
        ОбластьМакета.Параметры.Номенклатура = Номенклатура;
        ОбластьМакета.Параметры.Производитель = Производитель;
        ОбластьМакета.Параметры.Описание = Описание;
        ТабДокумент.Вывести(ОбластьМакета);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2014, 13:45
Ответы с готовыми решениями:

Печать этикеток и ценников из поступления
Люди добрые, подскажите пожалуйста, как в УТ11,3 (проф) сделать печать этикеток и ценников из...

Не работает/отсутствует Печать Ценников 1с7.7
всем здрасти нужна помощь специалистов 1с7.7 не работает/отсутствует печать ценников товара...

Внешняя обработка Печать ценников: ошибка при попытке получения реквизита табличной части документа.
Хочу получить табличную часть товары документа установка цен номенклатуры. &НаКлиенте...

УТ 10,3 "Печать ценников"
Я только начинаю, не смог найти похожую тему. Подскажите в УТ 10,3 в Обработке "Печать ценников"...

28
Эксперт 1С
476 / 413 / 93
Регистрация: 26.09.2012
Сообщений: 1,917
03.05.2014, 13:49 2
не понятна проблема, выводите что нужно, выложите обработку наглядно мб станет понятно в чем дело
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
03.05.2014, 14:01 3
1C
1
ВидЦенника = Перечисления.ВидыЦенников;
этой строчкой вы убиваете ВидЦенника как значение. А ВидЦенника - реквизит формы, обработки?

Добавлено через 1 минуту
Ну и Joker_vad прав: надо говорить, что не получается.

Добавлено через 2 минуты
Цитата Сообщение от start_kmv Посмотреть сообщение
при этом коде у меня выводятся все 4 макета сразу
раз так написано. Вы макет по виду ценника уже получили. Хватит.
0
Эксперт 1С
3057 / 2004 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
03.05.2014, 14:06 4
Цитата Сообщение от start_kmv Посмотреть сообщение
но, при этом коде у меня выводятся все 4 макета сразу
вы и выводите все 4-ре макета сразу.
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  
        Если ВидЦенника = Перечисления.ВидыЦенников.Большой Тогда
            Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Большой");
        ИначеЕсли 
            ВидЦенника = Перечисления.ВидыЦенников.Средний Тогда
            Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Средний");
        ИначеЕсли 
            ВидЦенника = Перечисления.ВидыЦенников.Маленький Тогда
            Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Маленький");
        ИначеЕсли 
            ВидЦенника = Перечисления.ВидыЦенников.МаленькийБезХарактеристик Тогда   
            Макет = Обработки.ПечатьЦенников.ПолучитьМакет("МаленькийБезХарактеристик");
        КонецЕсли;
        ОбластьМакета = Макет.ПолучитьОбласть("Ценник");
        ОбластьМакета.Параметры.КЗ = КЗ;
        ОбластьМакета.Параметры.Цена = "Цена: "+Строка(Цена)+" руб.";
        ОбластьМакета.Параметры.Номенклатура = Номенклатура;
        ОбластьМакета.Параметры.Производитель = Производитель;
        ОбластьМакета.Параметры.Описание = Описание;
        ТабДокумент.Вывести(ОбластьМакета);
думаю, этого достаточно.
0
3 / 3 / 3
Регистрация: 27.04.2014
Сообщений: 230
03.05.2014, 14:08  [ТС] 5
Проблема в том, что я не знаю, как обработка должна понять, какой макет в ней выбран? обработку приложил.
Вложения
Тип файла: 7z ПечатьЦенников.7z (26.4 Кб, 19 просмотров)
0
3 / 3 / 3
Регистрация: 27.04.2014
Сообщений: 230
03.05.2014, 14:27  [ТС] 6
при выборе из формы Вида ценника, обработка "не понимает", что выбран именно этот макет и нужно выводить на печать именно его, она выводит все макеты. как выводить тот макет, который выбран?
0
Эксперт 1С
3057 / 2004 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
03.05.2014, 14:36 7
start_kmv, почему-то лично я не смогла даже скачать вашу обработку
Вы вышеприведенный код смотрели? и был вопрос: ВидЦенника - это реквизит формы или обработки?
Строка
1C
1
ВидЦенника = Перечисления.ВидыЦенников;
явно лишняя.
0
3 / 3 / 3
Регистрация: 27.04.2014
Сообщений: 230
03.05.2014, 14:41  [ТС] 8
GreenkO, ВидЦенника - это реквизиты обработки.
если
Код 1C
1
ВидЦенника = Перечисления.ВидыЦенников;
явно лишняя.
тогда как обработка должна выбрать выбранную в форме печатную форму?

start_kmv, почему-то лично я не смогла даже скачать вашу обработку
могу отправить на e-mail
0
Эксперт 1С
3057 / 2004 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
03.05.2014, 14:45 9
Цитата Сообщение от start_kmv Посмотреть сообщение
ВидЦенника - это реквизиты обработки.
реквизитЫ?

Цитата Сообщение от start_kmv Посмотреть сообщение
тогда как обработка должна выбрать выбранную в форме печатную форму?
ну у вас же реквизит обработки и так типа ПеречислениеСсылка.ВидыЦенников (надеюсь?)
0
3 / 3 / 3
Регистрация: 27.04.2014
Сообщений: 230
03.05.2014, 14:52  [ТС] 10
GreenkO, ну у вас же реквизит обработки и так типа ПеречислениеСсылка.ВидыЦенников (надеюсь?)
конечно, тип ПеречислениеСсылка.ВидыЦенников
0
Эксперт 1С
3057 / 2004 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
03.05.2014, 14:53 11
start_kmv, можно скрин формы и полный текст модуля?
0
3 / 3 / 3
Регистрация: 27.04.2014
Сообщений: 230
03.05.2014, 16:34  [ТС] 12
duk337, Код 1C
1
ВидЦенника = Перечисления.ВидыЦенников;
этой строчкой вы убиваете ВидЦенника как значение. А ВидЦенника - реквизит формы, обработки?

это реквизит обработки.
подскажите, а чему тогда должен быть равен ВидЦенника??

Добавлено через 20 минут
GreenkO, конечно
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Процедура Печать(ТабДокумент, Ном, Дата) Экспорт
     
    //-------------- ВЫВОД печатной формы --------------------
    Для каждого Строка ИЗ Ном Цикл
        Номенклатура = "("+Строка.Номенклатура.Артикул + ")" + " " + Строка.Номенклатура;
        КЗ = Строка.Номенклатура.КоэффициентЗначимости;
        Производитель = Строка.Номенклатура.Производитель;
        Описание = Строка.Номенклатура.Описание;
        Отбор = Новый Структура;
        Отбор.Вставить("Номенклатура", Номенклатура);
        Попытка
            Цена= РегистрыСведений.ЦеныНоменклатуры.СрезПоследних(ТекущаяДата(),Отбор)[0].Цена;
        Исключение
            Цена = "";
        КонецПопытки;
        
        ВидЦенника = Перечисления.ВидыЦенников;
        
        Если ВидЦенника = Перечисления.ВидыЦенников.Большой Тогда
            Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Большой");
        ИначеЕсли 
            ВидЦенника = Перечисления.ВидыЦенников.Средний Тогда
            Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Средний");
        ИначеЕсли 
            ВидЦенника = Перечисления.ВидыЦенников.Маленький Тогда
            Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Маленький");
        ИначеЕсли 
            ВидЦенника = Перечисления.ВидыЦенников.МаленькийБезХарактеристик Тогда   
            Макет = Обработки.ПечатьЦенников.ПолучитьМакет("МаленькийБезХарактеристик");
        КонецЕсли;
         
        Если ВидЦенника = Перечисления.ВидыЦенников.Большой Тогда
        Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Большой");
        ОбластьМакета = Макет.ПолучитьОбласть("Ценник");
        ОбластьМакета.Параметры.КЗ = КЗ;
        ОбластьМакета.Параметры.Цена = "Цена: "+Строка(Цена)+" руб.";
        ОбластьМакета.Параметры.Номенклатура = Номенклатура;
        ОбластьМакета.Параметры.Производитель = Производитель;
        ОбластьМакета.Параметры.Описание = Описание;
        ТабДокумент.Вывести(ОбластьМакета);
        ИначеЕсли
        ВидЦенника = Перечисления.ВидыЦенников.Средний Тогда
        Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Средний");
        ОбластьМакета = Макет.ПолучитьОбласть("Ценник");
        ОбластьМакета.Параметры.КЗ = КЗ;
        ОбластьМакета.Параметры.Цена = "Цена: "+Строка(Цена)+" руб.";
        ОбластьМакета.Параметры.Номенклатура = Номенклатура;
        ОбластьМакета.Параметры.Производитель = Производитель;
        ОбластьМакета.Параметры.Описание = Описание;
        ТабДокумент.Вывести(ОбластьМакета);
        ИначеЕсли 
        ВидЦенника = Перечисления.ВидыЦенников.Маленький Тогда
        Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Маленький");
        ОбластьМакета = Макет.ПолучитьОбласть("Ценник");
        ОбластьМакета.Параметры.КЗ = КЗ;
        ОбластьМакета.Параметры.Цена = "Цена: "+Строка(Цена)+" руб.";
        ОбластьМакета.Параметры.Номенклатура = Номенклатура;
        ОбластьМакета.Параметры.Производитель = Производитель;
        ОбластьМакета.Параметры.Описание = Описание;
        ТабДокумент.Вывести(ОбластьМакета);
        ИначеЕсли 
        ВидЦенника = Перечисления.ВидыЦенников.МаленькийБезХарактеристик Тогда
        Макет = Обработки.ПечатьЦенников.ПолучитьМакет("МаленькийБезХарактеристик");
        ОбластьМакета = Макет.ПолучитьОбласть("Ценник");
        ОбластьМакета.Параметры.КЗ = КЗ;
        ОбластьМакета.Параметры.Цена = "Цена: "+Строка(Цена)+" руб.";
        ОбластьМакета.Параметры.Номенклатура = Номенклатура;
        ОбластьМакета.Параметры.Производитель = Производитель;
        ОбластьМакета.Параметры.Описание = Описание;
        ТабДокумент.Вывести(ОбластьМакета);
        КонецЕсли;
        
        
        
        
    КонецЦикла;
    
КонецПроцедуры
0
3 / 3 / 3
Регистрация: 27.04.2014
Сообщений: 230
03.05.2014, 16:35  [ТС] 13
а вот изображение
Миниатюры
УТ 11 - печать ценников  
0
3 / 3 / 3
Регистрация: 27.04.2014
Сообщений: 230
03.05.2014, 16:36  [ТС] 14
так нагляднее
Миниатюры
УТ 11 - печать ценников  
0
Эксперт 1С
3057 / 2004 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
03.05.2014, 16:43 15
start_kmv, ВидЦенника - у вас значение с формы, которое выбирается пользователем.
Меняем код:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Процедура Печать(ТабДокумент, Ном, Дата) Экспорт
 
//-------------- ВЫВОД печатной формы --------------------
Для каждого Строка ИЗ Ном Цикл
Номенклатура = "("+Строка.Номенклатура.Артикул + ")" + " " + Строка.Номенклатура;
КЗ = Строка.Номенклатура.КоэффициентЗначимости;
Производитель = Строка.Номенклатура.Производитель;
Описание = Строка.Номенклатура.Описание;
Отбор = Новый Структура;
Отбор.Вставить("Номенклатура", Номенклатура);
Попытка
Цена= РегистрыСведений.ЦеныНоменклатуры.СрезПоследних(ТекущаяДата( ),Отбор)[0].Цена;
Исключение
Цена = "";
КонецПопытки;
 
Если ВидЦенника = Перечисления.ВидыЦенников.Большой Тогда
Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Большой");
ИначеЕсли 
ВидЦенника = Перечисления.ВидыЦенников.Средний Тогда
Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Средний");
ИначеЕсли 
ВидЦенника = Перечисления.ВидыЦенников.Маленький Тогда
Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Маленький");
ИначеЕсли 
ВидЦенника = Перечисления.ВидыЦенников.МаленькийБезХарактеристик Тогда  
Макет = Обработки.ПечатьЦенников.ПолучитьМакет("МаленькийБезХарактер истик");
КонецЕсли;
 
//много лишнего, у вас дублируется код
 
ОбластьМакета = Макет.ПолучитьОбласть("Ценник");
ОбластьМакета.Параметры.КЗ = КЗ;
ОбластьМакета.Параметры.Цена = "Цена: "+Строка(Цена)+" руб.";
ОбластьМакета.Параметры.Номенклатура = Номенклатура;
ОбластьМакета.Параметры.Производитель = Производитель;
ОбластьМакета.Параметры.Описание = Описание;
ТабДокумент.Вывести(ОбластьМакета);
 
КонецЦикла;
 
КонецПроцедуры
0
3 / 3 / 3
Регистрация: 27.04.2014
Сообщений: 230
03.05.2014, 16:45  [ТС] 16
GreenkO,
тогда вылазиет куча ошибок

{Обработка.ПечатьЦенников.МодульМенеджера(97,6)}: Переменная не определена (ВидЦенника)
Если <<?>>ВидЦенника = Перечисления.ВидыЦенников.Большой Тогда (Проверка: Сервер)
{Обработка.ПечатьЦенников.МодульМенеджера(100,1)}: Переменная не определена (ВидЦенника)
<<?>>ВидЦенника = Перечисления.ВидыЦенников.Средний Тогда (Проверка: Сервер)
{Обработка.ПечатьЦенников.МодульМенеджера(103,1)}: Переменная не определена (ВидЦенника)
<<?>>ВидЦенника = Перечисления.ВидыЦенников.Маленький Тогда (Проверка: Сервер)
{Обработка.ПечатьЦенников.МодульМенеджера(106,1)}: Переменная не определена (ВидЦенника)
<<?>>ВидЦенника = Перечисления.ВидыЦенников.МаленькийБезХарактеристик Тогда (Проверка: Сервер)


как определить ВидЦенника???
0
Эксперт 1С
3057 / 2004 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
03.05.2014, 16:54 17
Лучший ответ Сообщение было отмечено start_kmv как решение

Решение

start_kmv, ах модуль менеджера... и где вызывается процедура печати? Передавай при вызове ВидЦенника, тогда
1C
1
Процедура Печать(ТабДокумент, Ном, Дата, ВидЦенника) Экспорт
1
Эксперт 1С
476 / 413 / 93
Регистрация: 26.09.2012
Сообщений: 1,917
03.05.2014, 17:21 18
видЦенника заменить на Объект.ВидЦенника
1
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
03.05.2014, 19:24 19
Лучший ответ Сообщение было отмечено start_kmv как решение

Решение

Цитата Сообщение от GreenkO Посмотреть сообщение
почему-то лично я не смогла даже скачать вашу обработк
а незачем. Тип перечисления конвертнётся в строку, а текст в конфе, в модуле менеджера . Но самое главное:
ВСЁ УЖЕ ПОДСКАЗАНО!

Не по теме:

Не верите - не надо.



Добавлено через 1 минуту
Joker_vad, так ведь он опять присвоит ПеречислениеМенеджер, Хоть Объект, Хоть Элемент...

Добавлено через 2 минуты
Так, щас...
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Процедура Печать(Команда)//ПараметрКоманды, ПараметрыВыполненияКоманды)
    //Вставить содержимое обработчика.
    //ПараметрыФормы = Новый Структура("", );
    //ОткрытьФорму("Обработка.ПечатьЦенников.Форма", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);   
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.ОтображатьСетку = Ложь;
    ТабДок.Защита = Ложь;
    ТабДок.ТолькоПросмотр = Ложь;
    ТабДок.ОтображатьЗаголовки = Ложь;
    ТабДок.РазмерСтраницы = "A4";
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
    //ТабДок.ПолеСверху = 10;
    //ТабДок.ПолеСлева = 10;
    //ТабДок.ПолеСнизу = 10;
    //ТабДок.ПолеСправа = 10;
    Печать_(ТабДок);
    ТабДок.Показать();    
КонецПроцедуры
 
&НаСервере
Процедура Печать_(ТабДок)
    
    Обработки.ПечатьЦенников.Печать(ТабДок, Объект.Номенклатура, Объект.Дата);
    
КонецПроцедуры
Действительно, передаётся только ТЧ. ВидЦенника тоже надо. НО НЕ ПЕРЕПРИСВАИВАТЬ!

Добавлено через 6 минут
GreenkO, а че ты получение макета в цикл запихала?

Добавлено через 7 минут

Не по теме:

По-моему, размещение процедуры в модуле менеджера обработки - это троллинг. :D Блин! А мы-то тупо повелись на косяки, а там даже параметров не хватало! :black_eye.: Привыкли из объекта всё фигачить

1
3 / 3 / 3
Регистрация: 27.04.2014
Сообщений: 230
03.05.2014, 23:12  [ТС] 20
duk337, извините за назойливость, но..

Цитата Сообщение от duk337 Посмотреть сообщение
а незачем. Тип перечисления конвертнётся в строку, а текст в конфе, в модуле менеджера . Но самое главное:
ВСЁ УЖЕ ПОДСКАЗАНО!
не пойму - где подсказано?
очень прошу вашей помощи.
0
03.05.2014, 23:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2014, 23:12
Помогаю со студенческими работами здесь

Не Работает/отсутствует Печать Ценников 1с7.7
всем здрасти нужна помощь специалистов 1с7.7 не работает/отсутствует печать ценников товара...

Печать ценников Access
Здравствуйте. Я знаю, что существует программы для печати ценников. Но сейчас пишу курсовую работу...

Печать нескольких одинаковых ценников
В продолжение темы https://www.cyberforum.ru/ms-access/thread2000368.html: в таблице BillsDetails,...

Печать ценников всего справочника
Ребята, помогите, пожалуйста, нужно вывести на печать все ценники справочника номенклатура, в 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru