|
v7. Как реализовать диалог распределения заказов между складами | ☑ | ||
---|---|---|---|---|
0
Джордж1
21.12.23
✎
11:25
|
Задача - сделать распределение заказов между складами с возможностью ручной корректировки
Варианты 1. Таблица в режиме ввода данных - чего то вообще этот вариант не советуют 2. ТЗ на форме - работать не шибко удобно, поедут колонки 3. Сделать документ заказ - и там уже колонки под каждый склад. Благо складов всего 5 и больше не планируется |
|||
1
АгентБезопасной Нацио
21.12.23
✎
11:35
|
третий вариант - самый дурной.
если не устраивают 1 и 2 - сделай на табличном поле. Заодно сможешь Drag'n'drop использовать (делал нечто подобное для распределения платежей). |
|||
2
Джордж1
21.12.23
✎
11:36
|
(1) 7-ка у меня, а не 8-ка!!!
|
|||
3
АгентБезопасной Нацио
21.12.23
✎
11:37
|
(2) у всех приличных людей в 7.7 есть табличное поле...
|
|||
4
Джордж1
21.12.23
✎
11:38
|
Драг энд дроп не нужен
Нужно ручная правка в отдельных местах - когда не с 2-х складов по 1шт тащить, а с одного 2шт. |
|||
5
Lazy Stranger
21.12.23
✎
11:38
|
Если нет необходимости в универсальности решения и изменение количества складов маловероятно, я бы, скорее всего, выбрал вариант 3.
|
|||
6
Джордж1
21.12.23
✎
11:39
|
(3)Что вашем понимании табличное поле в 7-ке
|
|||
7
Джордж1
21.12.23
✎
11:40
|
(21)последний склад (магазин на самом деле) добавился в 2012 году.
Больше просто некуда |
|||
8
Андрей_Андреич
naïve
21.12.23
✎
11:41
|
(5) Только про запас под 10 складов ))
|
|||
9
ikea
21.12.23
✎
11:41
|
(0) Можно сделать обработку с количеством закладок = количеству складов. И распределяйте себе на здоровье.
|
|||
10
Fedor-1971
21.12.23
✎
11:41
|
(0) А сам то к какому варианту склоняешься?
вар.1 первоначальный вывод данных не проблема, а вот с обработкой результата ввода будут сложности (придётся соотносить номера колонок и склады) вар.2 самый адекватный - наиболее универсален и не зависит от количества складов, при программном создании колонок можно указать их ширину и всех делов-то вар.3 в постановке максимально привязан к текущему моменту, но при добавлении в строку поля Склад становится максимально универсальным (т.е. делим изначальную строку на несколько с указанием склада и сколько на него положить ТМЦ) Есть ещё один вариант реализации: модернизировать исходный документ Заказ - добавляем ему статус строки, например, так: - Заказано (строка которая выводится в печатную форму заказа для поставщика) - Распределено (это строки с указанием ТМЦ, количества и склада используются для отнесения кусочка на конкретный склад) |
|||
11
Kigo_Kigo
21.12.23
✎
11:43
|
Или я нехера не понял или что мешает перенести склад в табличную часть?
При проведении, двигать регистры по складам из ТЧ? |
|||
12
Джордж1
21.12.23
✎
11:44
|
(10)
"А сам то к какому варианту склоняешься?" - к 3-му "модернизировать исходный документ Заказ" - а вот нет такого документа, был счет, потом к нему прикрутили создание перемещений... "но при добавлении в строку поля Склад становится максимально универсальным (т.е. делим изначальную строку на несколько с указанием склада и сколько на него положить ТМЦ)" ДА можно, только в таком варианте диалог ввода неудобный Видится все же шахматка |
|||
13
Джордж1
21.12.23
✎
11:45
|
(11)
"Или я нехера не понял или что мешает перенести склад в табличную часть?" Проблема в диалоге ввода. как с несколькими строками работать то толком |
|||
14
Fedor-1971
21.12.23
✎
11:46
|
(11) как я понял, нужно сохранить целиком исходный заказ и каким-то образом построить распределение на разные склады
|
|||
15
АгентБезопасной Нацио
21.12.23
✎
11:46
|
(6) https://www.1cpp.ru/docum/html/TableField.html
Ну или ПоставщикДанных.ИндексированнаяТаблица (5) весьма часто как только делаемс условием "склады не добавятся" ("не убавятся") - они обязательно добавляются или убавляются... Хотя может это у меня пунктик - пытаться решить любую задачу "в общем виде", но он срабатывает почти постоянно... |
|||
16
Джордж1
21.12.23
✎
11:47
|
(14)сейчас заказ это счет, потом на основание счета реализация делается.
Задача заказа - собрать заказ (сделать перемещения) на основной склад. |
|||
17
Андрей_Андреич
naïve
21.12.23
✎
11:48
|
Ну или Йокселем
|
|||
18
Kigo_Kigo
21.12.23
✎
11:48
|
можно склады сделать колонками в которые проставлять количество
|
|||
19
Джордж1
21.12.23
✎
11:49
|
(15)Я 1cpp не помню когда и работал то последний раз. В этой конфигурации не буду что-то внешнее задействовать
Эта конфигурации уже 17 лет - все равно костыль на костыле уже |
|||
20
Джордж1
21.12.23
✎
11:49
|
(18)Вот я к этому и пришел
|
|||
21
ikea
21.12.23
✎
11:49
|
(13) В (1) же написали. Делаешь обработку. Верхняя половина экрана - это ТЗ с заказами. Нижняя половина - это табличное поле с количеством закладок = количеству складов. И потом просто берешь из верхнего списка заказов тащишь в нужную закладку с необходимым складом в нижнюю часть экрана. Так понятно?.
|
|||
22
trad
21.12.23
✎
11:50
|
(6) это из ВК 1с++
Довольно мощный инструмент. Там и прямой ввод в ячейки есть и оформление прокачано. Но придется много кода писать |
|||
23
Джордж1
21.12.23
✎
11:51
|
(21)это же неудобно жуть
Есть алгоритм распределения между складами, но его результат надо ручками в некоторых случаях подкорректировать Какие тянешь мышкой нафиг, может еще пальцем перетаскивать |
|||
24
Джордж1
21.12.23
✎
11:52
|
(22)да уж понял, не того уровня тут задача
|
|||
25
АгентБезопасной Нацио
21.12.23
✎
11:53
|
(22) если ПоставщикДанных - то значительно меньше. Но там, емнип, с драгндропом сложновато...
|
|||
26
Fedor-1971
21.12.23
✎
11:55
|
(12) т.е., по сути, нужен интерфейс раздачи счёта по магазинам?
Тогда вариант 2 (обработка с программно созданной таблицей значений) Только это получится "Одноразовая акция" перераспределение нужно? т.е. раздали, потом передумали (для этого нужно реализовать связь Счета и Перемещения) |
|||
27
Джордж1
21.12.23
✎
11:57
|
(26)
"Только это получится "Одноразовая акция" перераспределение нужно? т.е. раздали, потом передумали (для этого нужно реализовать связь Счета и Перемещения)" - этого не требуется Распределение и сейчас одноразовое в ТЗ на форме смущает - кривое отображение самой ТЗ |
|||
28
Fedor-1971
21.12.23
✎
11:57
|
(19) Для программного создания и заполнения ТЗ достаточно стандартных средств
|
|||
29
Fedor-1971
21.12.23
✎
11:58
|
(27) Если она одна на форме, то гнутиков не должно быть
По сути вар.1 и вар.2 примерно равнозначны по сложности |
|||
30
Джордж1
21.12.23
✎
12:01
|
(28)а вот не помню - можно там в одной строке ячейки одна под другой располагать?
|
|||
31
Fedor-1971
21.12.23
✎
12:21
|
(30) Стандартными средствами, вроде как, нет, только можно определять порядок следования колонок на форме
|
|||
32
zavsom
21.12.23
✎
13:53
|
что мешает пять табличных полей в документ засунуть? рассказать как это на 77 делается?
|
|||
33
uno-group
21.12.23
✎
13:56
|
Табличная часть документа и интерфейс не обязательно связывать между собой физически это все делается программно. Таблица в режиме ввода данных.
Товар, Склад1, Склад2,Склад.. Итого. Цена Сумма Физически в документе Товар, Склад, Кво, Цена, Сумма. При открытии документа заполняешь Таблицу. При закрытии из таблицы заполняешь табличную часть. Можно через ТЗ сделать но заполнять хуже. |
|||
34
Fedor-1971
21.12.23
✎
14:02
|
(32) Есть вопросы при отображении нескольких ТЗ на форме (без 1С++ не обойдёшься для красивой формы)
(33) Таблица в режиме ввода шикарно заполняется начальными данными, гемор появляется при попытке записать изменения, чисто на мой взгляд, с ТЗ работать несколько проще (вар.1 и вар.2 у ТС по вопросам реализации примерно одинаковы) |
|||
35
uno-group
21.12.23
✎
14:02
|
(26) Тут появляются риски появления просрочки. Много товара на складе где больше всего движения, а на другом висит 1 штучка и срок на нее капает. Сотню товара продали за все время, а она так провалялась и испортилась.
|
|||
36
zavsom
21.12.23
✎
14:06
|
Процедура ВводНового(Копирование,Документ)
глДокументПриСоздании(Контекст); ЧерезФорму=0; Если Копирование = 1 Тогда ЗаполнитьТабличныеЧасти( Документ ); КонецЕсли; КонецПроцедуры // ВводНового Процедура ЗаполнитьТабличныеЧасти( ДокОснование ) Если ДокОснование.Выбран() = 1 Тогда док = СоздатьОбъект( "Документ" ); док.ВыбратьПодчиненныеДокументы(,, ДокОснование.ТекущийДокумент() ); Пока док.ПолучитьДокумент() = 1 Цикл Если док.Вид() = "тчУчетПроцентов" Тогда док.ВыгрузитьТабличнуюЧасть( Действия ); КонецЕсли; КонецЦикла; КонецЕсли; УстановитьПараметрыТаблиц(); КонецПроцедуры вот пример с одной дополнительной табличной частью , Используем документ тчУчетПроцентов , в котором в шапке единственный реквизит ДокументОснование, а в табличной части наша вторая табличная часть |
|||
37
uno-group
21.12.23
✎
14:11
|
(34) А какой там гемор идешь по строкам и по столбцам.
При смене строки таб.область(Текстрока,1); ТекТовар=Обл.Значение;таб.область(Текстрока,квоСкладов+2); ТекЦена=Обл.Значение; Для Н=1 по КвоСкладов Цикл таб.область(Текстрока,Н+1); ТекКво=Обл.Значение; Если ТекКво>0 Тогда НоваяСтрока() Товар=Тектовар;.... В текущем документе добавляешь 2 процедуры ЗаполнитьТаблицу();ПрочитатьИзТаблицы(); И дописываш ПриВыбореЯчейкиТаблицы(). Остальная логика документа не трогается ктоме того что склад с шапки в табличную часть переехал. В зависимости от пользователя или еще чего то можно показывать разный интерфейс. |
|||
38
zavsom
21.12.23
✎
14:15
|
(37) во во :
//------------------------------------------------------------------------------------------------------ Процедура ДействияДобавить() Действия.НоваяСтрока(); ТекСтрока = Действия.КоличествоСтрок(); Действия.УстановитьЗначение( ТекСтрока, "ДатаПлатежаТЧ", ДатаПлатежа ); Действия.УстановитьЗначение( ТекСтрока, "СуммаПлатежаТЧ", СуммаПлатежа ); ПриИзмененииРеквизита(); КонецПроцедуры //------------------------------------------------------------------------- Процедура УдалитьСтроку( т ) ТекСтрока = т.ТекущаяСтрока(); Если ТекСтрока <> 0 Тогда т.УдалитьСтроку( ТекСтрока ); ПриИзмененииРеквизита(); КонецЕсли; КонецПроцедуры //------------------------------------------------------------------------- // Очистить Процедура УдалитьСтроки( т ) т.УдалитьСтроки(); ПриИзмененииРеквизита(); КонецПроцедуры |
|||
39
uno-group
21.12.23
✎
14:28
|
+ таблицы в режиме ввода данных можно Остатки товара на каждом складе построчно отображать
другим шрифтом, выравниванием и т.п. считывая данные через 1 строку или столбец. |
|||
40
Джордж1
21.12.23
✎
15:11
|
(32)Задача как раз наоборот стоит - не выбирать остатки из магазина под 0.
|
|||
41
Джордж1
21.12.23
✎
15:14
|
(21)вот погуглил - даже тут на форуме в старых темах от этого отговаривают. Я так понимаю Таблица в режиме ввода данных - там все ручками и отрисоыывать в таблице и пересчитывать тоже
(32)у меня нет задачи - Несколько табличных полей в документе (34)Данные таблицы не нужно сохранять и куда-то передавать. Прямо из обработки сформируются Перемещения и все |
|||
42
uno-group
21.12.23
✎
15:25
|
(41) Можно как печатную форму нарисовать и потом заполнять нужные поля через обл.значение=1;
А рамки цвета и прочее возьмутся из нарисованного шаблона. Можно программно все отрисовыват практически управляемые формы 8. |
|||
43
Джордж1
21.12.23
✎
15:30
|
(42)Вроде как Таблица в режиме ввода данных должна лучше для этого подходить.
И ведь наверное делал такое когда-нибудь, но вспомнить не могу |
|||
44
Fedor-1971
21.12.23
✎
15:44
|
(43) Больше на вкус
с Таблицей - можно удобно отрисовать и покрасить с ТаблицейЗначений - проще реализовать контроль ввода в рамках работы с одной строкой |
|||
45
Джордж1
21.12.23
✎
15:54
|
Вообщем пока решили несколько изменить алгоритм распределения - выбирать до 50% остатка магазина
+ отчетик как что распределилось а дальше уже ручная правка перемещений |
|||
46
Djelf
21.12.23
✎
16:02
|
(22) Я бы это описал немного по другому: в ТП кода больше, но из-за всяких выкрутасов с ТЗ на форме (а при таких хотелок как хочет (0)), кода по факту в ТП будет значительно меньше и он будет и понятнее и быстрее.
P.S. ТЗ уже давно не использую, лет 10 как... ТП проще, когда освоишь. |
|||
47
Djelf
21.12.23
✎
16:12
|
А вот размещение - вертикально, горизонтально или перпендикулярно тут ответа нет, это зависит от объема информации, в развозках у меня разделено по вертикали.
Фиксирую развозку снизу дабл кликом или табом и Enter, дальше или enter или таскание сверху, где заявки. Можно и горизонтально, но имхо, помещается меньше информации. Перпендикулярно не знаю как сделать, но наверное это тоже возможно... |
|||
48
Гена
21.12.23
✎
16:13
|
Я бы как всегда разбил монстру на две части. Добавил бы шестой виртуальный склад Заказ и с ним бы работал. Отдельно док "Распределение заказов по складам", в котором по мере надобности уже обнулял бы это шестой склад по реальным с возможностью ручной правки.
|
|||
49
Джордж1
21.12.23
✎
16:24
|
(48)Не понял каким тут боком шестой склад - они есть но какое отношение они имеют к вопросу
Гена, чем у вас ЕНС дело кончилось? Все сошлось? |
|||
50
Гена
21.12.23
✎
16:28
|
(49) К тому, чтобы продажники не раскидывали бы каждый свой заказ на конкретные склады, да ещё и вручную. Чтобы они на автомате шарашили свои заказы, только всплывало бы предупреждение, если хотели бы проставить количество, большее, чем на всех реальных складах.
Дык... ЕНС давно прёт копейка в копейку с данными ИФНС ещё с лета ) |
|||
51
АгентБезопасной Нацио
21.12.23
✎
16:47
|
(34) не обязательно иметь 5 ТЗ на форме - можно просто перезаполнять табчасть соответствующими данными.
Привязки ТЗ соотвествующим классом тоже делается легко и красиво. |
|||
52
AAA
21.12.23
✎
18:09
|
1cpp -> ТабличноеПоле -> прямой ввод в ячейку
|
|||
54
AAA
21.12.23
✎
18:10
|
Можно для каждой ячейки сделать стрелочки +/-
|
|||
55
Джордж1
21.12.23
✎
18:18
|
(49)Дак продажники и не раскидывают ничего на склады.
Система заказов (не моя зона ответственности) как-то учитывает фактические остатки, но не идеально. И система сейчас предупреждает если не удается собрать заказ. Что бы она оптимально собралась с разных складов "Дык... ЕНС давно прёт копейка в копейку с данными ИФНС ещё с лета )" - у меня по юрлицам тоже копейка в копейку все сошлось. с ИП несколько сложнее |
|||
56
Garykom
21.12.23
✎
18:25
|
1. Таблица в режиме ввода данных - дает объединенные ячейки - самый гибкий вариант
|
|||
57
Джордж1
21.12.23
✎
18:54
|
(56)объединенные ячейки. И? Чем это удобно?
|
|||
58
Garykom
21.12.23
✎
19:16
|
(57) Наглядно
Можно слева колонка Номенклатура, справа две колонки Склад и Количество И по номенклатуре одна ячейка, которая соответствует нужному числу ячеек склад/количество |
|||
59
Джордж1
21.12.23
✎
19:53
|
(58)я все же вижу это как одна колонка на склад
А вот для склада уже можно 2 строки, а может и 3 даже: Остаток Заказ со склада Остаток после заказа В объединении смысла и нет особого - достаточно просто рамку не рисовать. Почему в архивах форума я нашел только отрицательное мнение по поводу Таблица в режиме ввода данных. Предлагают ТЗ использовать Пока остановился на варианте в (45), без интерактивной правки заказов до создания перемещений |
|||
60
Волшебник
21.12.23
✎
19:54
|
v7 ещё жива?
|
|||
61
Джордж1
21.12.23
✎
19:58
|
(60)Еще как.
А вы у КиБ не заходите что ли? |
|||
62
Волшебник
21.12.23
✎
19:59
|
(61) КиБ - что это?
|
|||
63
Джордж1
21.12.23
✎
20:29
|
(62)
Красное&Белое |
|||
64
Злопчинский
21.12.23
✎
22:37
|
Йоксель.
. Делал раскидку заказов по машинам доставки. Добавление рейсов на одну машину, перемещение заказов между рейсами, отмена рейса итд. - все тупо жмаканием в нужные места мышкой (без режима ввода данных, табличный документ йокселя). . если делать по уму: определить алгоритм "оптимального" распределения заказа клиента по складам. В терминах ТиС формируется неподтвержденная заявка, по "кнопке" раскидывается по складам "оптимально" в виде "заявка на склад" . все что будут "дорабатывать" руками - все будет (_._) - проходил уже, относительно недавно у одного их клиентов подобная задача. . Послеготовности - стали вопросы - а почему неправильно? ответ: правильно! в соответсвии с "Оптимальным" алгоритмом. - А ну вот же неправильно! - Почему? здесь вот так... - а нифига подобного, вы не учли вот это условию и вот это условие - по ним распредление получается такое какое получается.. А, ну да, да... |
|||
65
Волшебник
21.12.23
✎
22:41
|
(63) Нет, не захожу.
|
|||
66
Злопчинский
21.12.23
✎
23:38
|
(65) А я захожу ;-) Там ставят сопутствующие товары (я их беру) обычного ассортимента и цена бывает ощутимо ниже чем в продуктовых магазинах, видимо в расчете что по пути захватят и основной ассортимент ;-)
|
|||
67
Джордж1
22.12.23
✎
08:50
|
(65)В сети на 13000 магазинов на кассах стоит фронт на 1С v7
|
|||
68
Злопчинский
22.12.23
✎
23:19
|
(67) ага, когда увидел - немного удивился...
|
|||
69
MWWRuza
23.12.23
✎
00:39
|
(68) Ага, я тоже. Но факт.
Тут только напрашивается анекдот: "Вам шашечки, или ехать?" Назовите хоть одну задачу, которую нельзя на 7.7 решить? Только не надуманную, "из области фантастики", а реальную, которая необходима в торговой точке или сети торговых точек, на текущий момент, по текущему законодательству(ФФД-1.2, ЕГАИС, маркировка, и т.п.)? |
|||
70
Garykom
23.12.23
✎
03:12
|
(69) Все что перечислил для типовых конф 1С 7.7 из коробки нет, в отличие от типовых конф на 8-ке
И даже HTTPСоединения нет (а оно постоянно требуется), только разные костыли |
|||
71
АгентБезопасной Нацио
23.12.23
✎
06:56
|
(70) в типовые из коробки это не добавляют умышленно и целенаправленно. И тем не менее, всё это реализовано в "нетиповых". И зачастую - реализовано лучше и удобнее, чем в типовых восьмерочных.
|
|||
72
Джордж1
23.12.23
✎
08:11
|
(69)несколько табличных частей в документах
отборы по нескольким реквизитам |
|||
73
АгентБезопасной Нацио
23.12.23
✎
08:26
|
(72)
1. решается аж тремя путями 1.1 Единая табчасть, и заполнение из нее видимой при переключении (емнип, это читал как раз у WildHare еще примерно в 2003) 1.2 служебный документ на каждую табчасть 1.3 справочник как дополнительная табчасть 2. 1с++, и любые отборы в твоем распоряжении. |
|||
74
Джордж1
23.12.23
✎
08:57
|
(72)костыли же. там еще и куча других проблем повылазит - типа определения модифицированности документа
hare_kb.chm - как то так файлик назывался? еще можно и составной реквизит с отбором вспомнить |
|||
75
АгентБезопасной Нацио
23.12.23
✎
09:05
|
(74) да, некоторые сложности будут - ибо "не из коробки" - но все они решаемые. У Садовникова, емнип, для этого вообще был сделан свой класс - т.е. один раз сделал, и пользуйся...
имхо, единственное преимущество снеговика - СКД (да и то, кто-то начинал делать аналог, но дальше беты дело не ушло - ибо был уже примерно 2010-й). |
|||
76
Джордж1
23.12.23
✎
09:11
|
(75)как минимум был универсальный (бухгалтерский?) отчет - еще с начала 200х
|
|||
77
DirectorGora
23.12.23
✎
09:14
|
(0) Могу подсказать как это сделать в Pascalе
|
|||
78
АгентБезопасной Нацио
23.12.23
✎
09:28
|
(76) если я правильно помню, то универсальный отчет - это было нечто вроде вчерашнего "Гени[т]ального импорта из экселя" - монстрик, принципиально работающий, но весьма неудобный (да и имеющий очень мало общего с СКД, скорее близок к "универсальному отчету" из УПП/КА)
|
|||
79
Джордж1
23.12.23
✎
09:41
|
(78)ну тогда это вполне прорыв был.
На ИТС лежал, и никто про него не знал |
|||
80
АгентБезопасной Нацио
23.12.23
✎
09:52
|
(79) на ИТС было только и исключительно УГ
|
|||
81
Злопчинский
23.12.23
✎
13:16
|
В большущем количестве случаев хватает "Универсальный отчет по ТЗ" - с группировоками, шахматкой, для себя еще докрутил:
https://infostart.ru/1c/tools/14794/ вот более продвинутая версия https://infostart.ru/1c/tools/121675/ |
|||
82
АгентБезопасной Нацио
23.12.23
✎
14:17
|
(81) ну, у меня всё это заменялось квериконсолью - там и нормальный запрос, и совершенно любой вывод. но кодить немного надо.
|
|||
83
Злопчинский
23.12.23
✎
15:02
|
(82) ну, квекриконсоль клиенту не поставишь ;-)
|
|||
84
АгентБезопасной Нацио
23.12.23
✎
16:48
|
(83) почему нет? по сути, это готовое решение было - главное, чтоб эксель стоял с OWC. Была даже отдельная утилита, чтоб кубы напрямую смотреть
|
|||
85
Злопчинский
23.12.23
✎
16:49
|
В моем мире таких пользователей нет...
|
|||
86
andrewalexk
26.12.23
✎
12:31
|
(77) :) хорошо хоть не в basice, и откуда эти некропрограммеры берутся
|
|||
87
Андрей_Андреич
naïve
26.12.23
✎
12:37
|
(86) В ветке по 7.7 обозвать некропрограммером это в аанлы
|
|||
88
andrewalexk
26.12.23
✎
12:42
|
(87) :) 7.7 в 1998 вышла, мы тогда переходили в с 7.5, а pascal в СССР массового пошел в школы в середине 1980-х
|
|||
89
Андрей_Андреич
naïve
26.12.23
✎
12:48
|
(88) Ну да - цератопс диплодока динозавром обозвал
|
|||
90
andrewalexk
26.12.23
✎
12:49
|
:)
скорее некое дистанционирование от принципа бинарной логики |
|||
91
АгентБезопасной Нацио
26.12.23
✎
13:09
|
(85) есть. Только они не знали о наличии таких возможностей, а ты не знаешь о наличии таких пользователей...
|
|||
92
Злопчинский
26.12.23
✎
14:36
|
понятно что они есть, я по "своим" пользователям сужу. Какая, нафиг, консоль? там пользователи максимум на операторов тянут...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |