|
Коллега-Чудотворец(маг в 1 поколении) | ☑ | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0
cawokru
25.07.12
✎
13:57
|
&НаКлиенте
Процедура тзТабЧастьДекларацииПриАктивизацииСтроки(Элемент) //... НомерацияСтрок(); //... КонецПроцедуры Процедура НомерацияСтрок() Счетчик=1; Для каждого ВводДекларация Из тзТабЧастьДекларации Цикл //Нумерация табличной части Декларации ВводДекларация.НомерСтроки=Счетчик; Счетчик=Счетчик+1; КонецЦикла; КонецПроцедуры |
|||||||||||||
1
Maxus43
25.07.12
✎
14:01
|
Коллега-Чудотворец(маг в 1 поколении, незнающий русского языка)
|
|||||||||||||
2
Stim
25.07.12
✎
14:01
|
сильно
|
|||||||||||||
3
rs_trade
25.07.12
✎
14:02
|
(0) хвастаешься?
|
|||||||||||||
4
zender
25.07.12
✎
14:02
|
тут govnokod.ru/1c много такого
|
|||||||||||||
5
cawokru
25.07.12
✎
14:02
|
забыл написать, что номер декларации сканируется и добавляется строка в тч. в тч может быть около 1к строк.
|
|||||||||||||
6
SherifSP
25.07.12
✎
14:02
|
(0) оО
|
|||||||||||||
7
cawokru
25.07.12
✎
14:03
|
(3)да вот думаю взять уроков
|
|||||||||||||
8
aleks-id
25.07.12
✎
14:03
|
(0) допиши ему запрос туда
|
|||||||||||||
9
Maxus43
25.07.12
✎
14:03
|
(5) какую часть тела прострелили автору кода?
|
|||||||||||||
10
Armando
25.07.12
✎
14:04
|
(0) И че? Возьми да объясни ему в чем он не прав.
|
|||||||||||||
11
pumbaEO
25.07.12
✎
14:04
|
(1) вот для такого я использую http://screencast.com/t/2ZhJNy390R
|
|||||||||||||
12
myk0lka
25.07.12
✎
14:04
|
(0)Работает? ))))
|
|||||||||||||
13
Анцеранана
25.07.12
✎
14:04
|
(0) алгоритм непонятен
(1) НеУчавствуетВРаспределении, ЗарпалатаСотрудников, Расшивфровка - и это только за сегодня))) |
|||||||||||||
14
stix2010
25.07.12
✎
14:05
|
жестоко? он узбек?
|
|||||||||||||
15
Анцеранана
25.07.12
✎
14:06
|
;) ежечастно
Гадаю ежеменутно |
|||||||||||||
16
H A D G E H O G s
25.07.12
✎
14:07
|
1С Совместимо плачет крокодиловыми слезами, мечтая слиться с вашей конфигурацией в экстазе проверки и тысяч -пятьсот ошибок.
|
|||||||||||||
17
cawokru
25.07.12
✎
14:08
|
(10)если я выложу весь модуль... то пожалуй, ты как и я начнешь думать, что не прав именно ты:)))
|
|||||||||||||
18
cawokru
25.07.12
✎
14:08
|
(12)летает
|
|||||||||||||
19
BoCh
25.07.12
✎
14:09
|
(0) Раджешу (или как его там) привет передавай)
|
|||||||||||||
20
pumbaEO
25.07.12
✎
14:10
|
ибо без магии никак.
Я сам себе маг |
|||||||||||||
21
БалбесВ1с
25.07.12
✎
14:14
|
(20)нОмерация крутое слово надо запомнить) и главное правильное
|
|||||||||||||
22
myk0lka
25.07.12
✎
14:15
|
(18)Ну и не трогай! )))) Это особая, уличная магия....
|
|||||||||||||
23
cawokru
25.07.12
✎
14:15
|
(21)ага, скоро будем в документах видеть 5000 руб.(5 тыщ рублей).
|
|||||||||||||
24
Stepa86
25.07.12
✎
14:17
|
Если б магия существовала, то заклинания создавали бы программисты...
Я сам себе маг |
|||||||||||||
25
Classic
25.07.12
✎
14:17
|
(0)
Что не так? Гадаю ежеменутно |
|||||||||||||
26
1Сергей
25.07.12
✎
14:19
|
(4) не открывается
|
|||||||||||||
27
cawokru
25.07.12
✎
14:19
|
(25) Счетчик=Счетчик+1; без пробелов смотрится некрасиво:(
|
|||||||||||||
28
Stepa86
25.07.12
✎
14:21
|
(27) я правильно понимаю что табличная часть называется "тзТабЧастьДекларации"?
|
|||||||||||||
29
EasyRider
25.07.12
✎
14:22
|
(21)номерация - для чотких посонов
|
|||||||||||||
30
Vladal
25.07.12
✎
14:23
|
и чо? не неграмотно пишет. чо тут такова?
|
|||||||||||||
31
Vladal
25.07.12
✎
14:23
|
*ниграматна пешет
|
|||||||||||||
32
1Сергей
25.07.12
✎
14:23
|
слово "номер" есть, а "номерации" нету?
|
|||||||||||||
33
1Сергей
25.07.12
✎
14:24
|
(31) палишься :)
|
|||||||||||||
34
cawokru
25.07.12
✎
14:24
|
(19) столько раз в день здороваться некультурно
|
|||||||||||||
35
Stepa86
25.07.12
✎
14:24
|
(32) да
|
|||||||||||||
36
hhhh
25.07.12
✎
14:26
|
(34) не томи уже, давай процедуры тзТабЧастьДекларацииПриВыводеСтроки и тзТабЧастьДекларацииПриПолученииДанных
|
|||||||||||||
37
Vladal
25.07.12
✎
14:27
|
У меня аналогичное в наследстве:
http://s52.radikal.ru/i137/1207/77/6ea15989e208.png Гадаю ежеменутно |
|||||||||||||
38
cawokru
25.07.12
✎
14:27
|
(36)для новых веток берегу;)
|
|||||||||||||
39
1Сергей
25.07.12
✎
14:28
|
(37) зато компактно :)
|
|||||||||||||
40
Vladal
25.07.12
✎
14:28
|
(38) А что, такие там тоже есть???
|
|||||||||||||
41
Vladal
25.07.12
✎
14:28
|
(39) это фимоз головного мозга. или что там было... ганглий, наверно.
|
|||||||||||||
42
Stepa86
25.07.12
✎
14:29
|
(37) после аимпа в панели задач там 1С9???
|
|||||||||||||
43
Vladal
25.07.12
✎
14:29
|
(42) Да, это аимпа.
|
|||||||||||||
44
hhhh
25.07.12
✎
14:30
|
(38) ведь понятно: если нОмеровали, значит в ПолученииДанных тоже какие-нибудь номера.
Я сам себе маг |
|||||||||||||
45
Vladal
25.07.12
✎
14:30
|
(44) Номер, номеровали ))), ноль, нуль, нумерация номеров.
|
|||||||||||||
46
cawokru
25.07.12
✎
14:32
|
(45)нолировали, нолировали и недовынанолировали
|
|||||||||||||
47
БалбесВ1с
25.07.12
✎
14:32
|
(30)(32)Вообще слово номерация есть,просто его не использует никто,только (20)видимо воспитан при коммунистах)
|
|||||||||||||
48
cawokru
25.07.12
✎
14:37
|
просто человек получил высшее образование в сфере IT, моя есть недофизик-теоретик. и даже в первую свою неделю работы, когда я тупил нереально, мне в голову подобные мысли не лезли...
|
|||||||||||||
49
1Сергей
25.07.12
✎
14:38
|
(46) и тут без нано-технологий не обошлось...
|
|||||||||||||
50
pumbaEO
25.07.12
✎
14:38
|
(47) хм мы говорим про govnoкод или про орфографические ошибки?
Кто ни разу не писал govnoкод пускай первым кинет в меня камень. а для проверки орфографических ошибок пользуюсь (11) , очень даже помогает при переключенной раскладке. |
|||||||||||||
51
palpetrovich
25.07.12
✎
14:40
|
(37) пипец у тебя всякого г. на работе запущено :)
|
|||||||||||||
52
bushd
25.07.12
✎
14:41
|
Раньше, я в наименование функций матюги вставлял нормально, весело. И в сообщения юзверям поговорки, типа - работа не волк в лес не убежит...
|
|||||||||||||
53
Vladal
25.07.12
✎
14:43
|
(51) Ты не прав, месье.
Это мой личный ноут с 3 гигами оперативы, против фирменного системника с 1 гигом. Это поцтому, что у нас порезали аренду в 2 раза и все кабинеты совместили. Мы вот в кабинете СБ сидим, на столах-тумбах, тут мой ноут и пригодился |
|||||||||||||
54
Vladal
25.07.12
✎
14:44
|
(51) кстати, больше всего памяти жрёт 1С
|
|||||||||||||
55
stix2010
25.07.12
✎
14:47
|
чародей 80 лвл
|
|||||||||||||
56
palpetrovich
25.07.12
✎
14:53
|
(53) понятненько :)
|
|||||||||||||
57
zender
25.07.12
✎
14:55
|
(26) да, перестал открываться чего-то, но в кэше гугла остался
http://webcache.googleusercontent.com/search?q=cache:govnokod.ru/1c |
|||||||||||||
58
Vladal
25.07.12
✎
14:58
|
(57) АД и в кеше Тындекса есть )))
|
|||||||||||||
59
cawokru
25.07.12
✎
15:01
|
(26)(57)они просто использовали посты для доработки своего сайта:)))
|
|||||||||||||
60
Vladal
25.07.12
✎
15:06
|
(59) Из раздела WEB?
|
|||||||||||||
61
cawokru
25.07.12
✎
15:09
|
php
|
|||||||||||||
62
cawokru
25.07.12
✎
15:13
|
продолжение банкета:
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) //Обработка заполнения и отображения документа ПолучитьПрефиксыДеклараций(); Заполнение = Новый Запрос; Заполнение.Текст=" | Выбрать НомерДекларации, НомерЗаказа, Декларация, Добавлено | ,Сумма(сумма) как сумма, Сумма(Количество) как количество | Из Документ.ведомостьВыдачиТМЦ.ТаблицаЗаказы | Где ссылка=&ссылка | СГРУППИРОВАТЬ ПО | НомерДекларации, НомерЗаказа, Декларация, Добавлено |"; Заполнение.УстановитьПараметр("Ссылка",Объект.Ссылка); Результат=Заполнение.Выполнить(); Декларация = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Счетчик=1; Пока Декларация.Следующий() Цикл //заполнение табличной части Декларации ВводДекларация=тзТабЧастьДекларации.Добавить(); ВводДекларация.Декларация=Декларация.Декларация; ВводДекларация.Добавлено=Декларация.Добавлено; ВводДекларация.НомерЗаказа=Декларация.НомерЗаказа; ВводДекларация.НомерДекларации=Декларация.НомерДекларации; ВводДекларация.Количество=Декларация.Количество; ВводДекларация.НомерСтроки=Счетчик; Счетчик=Счетчик+1; КонецЦикла; тзТабЧастьНоменклатура.Очистить(); КонецПроцедуры |
|||||||||||||
63
rphosts
26.07.12
✎
10:50
|
(37) сильно....
|
|||||||||||||
64
n koretsky
26.07.12
✎
11:02
|
страшный человек...
|
|||||||||||||
65
n koretsky
26.07.12
✎
11:02
|
ну, и голоснуть, понятное дело
Гадаю ежеменутно |
|||||||||||||
66
cawokru
26.07.12
✎
18:59
|
ааа, я не могу... второй день правлю, а оно все лезет...
Если ВыборкаНоменклатура.Количество=Null Тогда НоваяСтрокаТабличнаяЧасть.Количество=1; Иначе НоваяСтрокаТабличнаяЧасть.Количество=ВыборкаНоменклатура.Количество; КонецЕсли; придется в день сисадмина пить сгоря... У меня тоже есть маги 1 поколения |
|||||||||||||
67
Steel_Wheel
26.07.12
✎
19:03
|
xxx: дурщальбе мегельме!
yyy: чо??? xxx: гарбалар малардар? гурдабар? yyy: чо происходит с тобой? xxx: зильмалах абд рашамал бурмалаг. Гирмедель аль мазарад yyy: бл*ть!!!! Миша, втф?! xxx: что сц*ко, не понимаешь меня да?! xxx: вот и мы тут твой код не понимаем, еще раз так напишешь, я только так с тобой общаться буду |
|||||||||||||
68
Sakura
26.07.12
✎
19:16
|
(67) ага =)
Я сам себе маг |
|||||||||||||
69
GROOVY
26.07.12
✎
19:38
|
Вот из недавнего (пишу по памяти):
Процедура ПриЗаписи() Переменная = ПользователиИнформационнойБазы.ТекущийПользователь(); Автор = Справочники.Пользователи.найтиПонаименованию(Переменная.Имя); Переменная.Записать(); |
|||||||||||||
70
VladZ
26.07.12
✎
19:49
|
Вот эти три срочки преследуют меня:
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда сообщить("Увы!"); КонецЕсли; |
|||||||||||||
71
Smallrat
26.07.12
✎
20:54
|
В типовой ЗУПе (2.5.18.3) такой перл встретился:
еще и в 2010 году валилось Я сам себе маг |
|||||||||||||
72
hohol
26.07.12
✎
21:01
|
(0) та это вообще милый бред.
У нас один товарищ любил писать условия вида ?(?(?(,?(,)),),) - как то так А еще мне про одного рассказывали, лично не видел, потому как его быстро списали. Так ему задачу дадут, он сделает вообще не то. У него спрашивает -wtf? А он отвечает, что у него или видение было или сновидение, что ему сказали - "ты умножаешь зло! не делай так, делай по другому". Правильно, что списали. Такой и завалить может. |
|||||||||||||
73
Denyk
26.07.12
✎
23:47
|
Вот с такими чудесами встретился. Это украинская бухия 7.7. К ней приделали оперативый учет на регистрах. Одна из процедурок (все в таком же стиле):
Function CostFin(doc,Stor) export res=CreateObject("ValueTable"); res.NewColumn("tmc","Reference.ТМЦ"); res.NewColumn("Part","Reference.Партии"); res.NewColumn("Line","Number",10); res.NewColumn("kol","Number",15,3); res.NewColumn("СуммаБезНДС","Number",15,2); res.NewColumn("СуммаГРН","Number",15,3); res.NewColumn("СуммаОсн","Number",15,2); res.NewColumn("Наценка","Number",15,2); if Stor.СуммовойУчет=1 then return res; endif; tb=CreateObject("ValueTable"); tb.NewColumn("tmc","Reference.ТМЦ"); tb.NewColumn("Part","Reference.Партии"); tb.NewColumn("Line","Number",10); tb.NewColumn("kol","Number",15,3); doc.SelectLines(); v=CreateObject("ValueList"); while doc.GetLine()>0 do if doc.ТМЦ.Kind()<>"ТМЦ" then continue; endif; if doc.ТМЦ.ВидТМЦ=Enum.ВидыТМЦ.Услуга then continue; endif; tb.NewLine(); tb.tmc=doc.ТМЦ; if Const.МетодПартионногоУчета.GetValue(doc.DocDate)=Enum.МетодыПартионногоУчета.ПоПартиям then tb.Part=doc.Партия; endif; tb.line=doc.LineNum; if Metadata.Document(doc.Kind()).TableAttribute("Коэффициент").Selected()=1 then tb.kol=doc.Кво*?(doc.Коэффициент=0,1,doc.Коэффициент); else tb.kol=doc.Кво; endif; v.AddValue(doc.ТМЦ); enddo; rs=CreateObject("Registers"); r=rs.Остатки; r.SetFilterValue("Склад",Stor,1); r.SetFilterValue("ТМЦ",v,2); r.TempCalc(1); if doc.CompareWithAP()<=0 then rs.CalcRegsOnBeg(doc); else rs.CalcRegsOnEnd(GetApPosition()); endif; rt=CreateObject("ValueTable"); r.RetrieveTotals(rt,1); rt.NewColumn("data","Date"); rt.NewColumn("doc","Document"); rt.SelectLines(); while rt.GetLine()>0 do rt.data=rt.Партия.Дата_прих; rt.doc=rt.Партия.Док; enddo; if Const.МетодПартионногоУчета.GetValue(doc.DocDate)=Enum.МетодыПартионногоУчета.LIFO then rt.Sort("ТМЦ,data-,doc-",1); else rt.Sort("ТМЦ,data,doc",1); endif; tb.Sort("tmc,part,line"); tmc=0; tb.SelectLines(); while tb.GetLine()>0 do def=0; глПолучитьПартиюПоУмолчанию(def,tb.tmc); l=0; if rt.FindValue(tb.tmc,l,"ТМЦ")=1 then rt.GetLineByNumber(l); while (rt.ТМЦ=tb.tmc) and (tb.kol<>0) do if rt.Кво<=0 then Goto ~E; endif; if (tb.part.Selected()=1) and (tb.part<>rt.Партия) then Goto ~E; endif; kl=min(rt.Кво,tb.kol); res.NewLine(); res.tmc=tb.tmc; res.part=rt.Партия; res.line=tb.Line; res.kol=kl; res.СуммаБезНДС=div(rt.СуммаБезНДС*kl,rt.Кво); res.СуммаГРН=div(rt.СуммаГРН*kl,rt.Кво); res.СуммаОсн=div(rt.СуммаОсн*kl,rt.Кво); res.Наценка=div(rt.Наценка*kl,rt.Кво); tb.kol=tb.kol-kl; rt.Кво=rt.Кво-kl; rt.СуммаБезНДС=rt.СуммаБезНДС-res.СуммаБезНДС; rt.СуммаГРН=rt.СуммаГРН-res.СуммаГРН; rt.СуммаОсн=rt.СуммаОсн-res.СуммаОсн; rt.Наценка=rt.Наценка-res.Наценка; ~E: l=l+1; if l>rt.LinesCnt() then break; endif; rt.GetLineByNumber(l); enddo; endif; if tb.kol<>0 then Message("По торговым остаткам недостаточно "+tb.tmc+" в строке "+tb.line,"!"); Message("Нужно еще "+tb.kol); if Const.РазрешитьОтрицОстатки=Нет then ReturnStatus(0); return res; endif; res.NewLine(); res.tmc=tb.tmc; res.line=tb.Line; if tb.part.Selected()=1 then res.part=tb.part; else res.part=def; endif; res.kol=tb.kol; if res.part=def then cen=res.tmc.Цена_прих; else cen=res.part.Цена_прих; endif; cen=cen+cen*res.tmc.СтавкаНДС.Ставка.GetValue(doc.DocDate); res.СуммаБезНДС=res.kol*cen; res.СуммаГРН=res.kol*cen; res.СуммаОсн=res.kol*cen; res.Наценка=0; tb.kol=0; endif; l=rt.LinesCnt(); while l>0 do rt.GetLineByNumber(l); if rt.Кво<=0 then rt.DeleteLine(l); endif; l=l-1; enddo; enddo; res.Sort("Line,tmc,part"); return res; EndFunction |
|||||||||||||
74
hohol
27.07.12
✎
21:37
|
(73) Ничего ты не понимаешь, это писал true programmer.
|
|||||||||||||
75
zak555
27.07.12
✎
21:39
|
(70) и чего тут ?
|
|||||||||||||
76
le_
27.07.12
✎
22:14
|
(0) Святой инквизиции на вас нет.
|
|||||||||||||
77
Steel_Wheel
27.07.12
✎
22:22
|
Мне как-то Заказчик ноут с немецкой клавой выдал: хреначил на латинице слепым методом
|
|||||||||||||
78
cawokru
16.08.12
✎
14:41
|
Если ВводСпособ = "Сканер" Тогда
//ввод сканером но комментс |
|||||||||||||
79
MMF
16.08.12
✎
15:00
|
(37, 73) Ну это еще приличный код.... хуже, если, как у меня в филиале 50%/50% англорусский ховнокод с замечательными идеями и чудными идентификаторами смешанной англолатиницы
ИначеЕсли Лев(ИсхТабл,5)="Налог" Тогда Таб.КоличествоЭкземпляров(1); ПечатьНН(); If пар_<>0 then Таб.ПараметрыСтраницы(1,,1,10,5,5,0,5,0); q=Таб.ВысотаТаблицы()/2; q2=?(q-62<11,q-11,62); If q>64 then Таб.Записать("c:\111.mxl"); Таб.ОбластьПечати(1,1,62,11); Таб.Напечатать(0); Предупреждение("Вставьте первую страницу налоговой накладной (оригинал)"); Таб.Открыть("c:\111.mxl"); Таб.ОбластьПечати(63,1,q+62,11); Таб.Напечатать(0); Таб.Открыть("c:\111.mxl"); У меня тоже есть маги 1 поколения |
|||||||||||||
80
Mafoni
17.08.12
✎
18:21
|
встретился мне тут недавно код (хотя кодом назвать это трудно)
Функция ПолучитьЗначениеКонстИ(КЦ, АК, ПР, НПоказатель) ВрмнЗ = 0; Для каждого СК из мКонстИ цикл Если СК.КЦ = КЦ И СК.АК = АК И СК.ПР = ПР И СК.Показатель=НПоказатель тогда ВрмнЗ = СК.Значение; Прервать; КонецЕсли; КонецЦикла; Возврат ВрмнЗ; КонецФункции |
|||||||||||||
81
Mafoni
17.08.12
✎
18:22
|
(80) + мКонстИ - тз с колонками "КЦ", "АК", "ПР" , "Показатель"
количество строк в этой тз - больше 5000. |
|||||||||||||
82
Steel_Wheel
17.08.12
✎
18:23
|
(79) Мне как-то заказчик дал ноут с немецкой клавиатурой. Так у него появился отчет на латинице. Во вполне русской конфигурации. И пришлось фиксы еще делать, так появились куски англокода в русских документах...
|
|||||||||||||
83
Mafoni
17.08.12
✎
18:24
|
Ну и еще один перл из тойже конфы
Процедура УстановитьЗначениеКонстИ(КЦ, АК, ПР, НПоказатель, НЗначение) Для каждого СК из мКонстИ цикл Если СК.КЦ = КЦ И СК.АК = АК И СК.ПР = ПР И СК.Показатель=НПоказатель тогда СК.Значение = НЗначение; Найдено = Истина; Прервать; КонецЕсли; КонецЦикла; Если НЕ Найдено тогда НС = мКонстИ.Добавить(); НС.КЦ = КЦ; НС.АК = АК; НС.ПР = ПР; НС.Показатель = НПоказатель; НС.Значение = НЗначение; КонецЕсли; КонецПроцедуры |
|||||||||||||
84
Mafoni
17.08.12
✎
18:33
|
А вообще конфа просто кишит такми перлами !
|
|||||||||||||
85
Sh1ko
17.08.12
✎
18:38
|
(0) Надо добавлять свой реквизит в ТЧ, для православной нумерации строк.
|
|||||||||||||
86
myk0lka
29.08.12
✎
15:20
|
Сори за некропост, но новую тему создавать как то впадлу, а не поделиться не могу....
От предшественника досталась конфа со 140 с лишним "доработок" (!!!!), содержащих метод НайтиПоНаименованию... Организации, валюты, склады, подразделения, пользователи... Сёдня пивка вечером нужно вдарить, стресс снять..... |
|||||||||||||
87
Птица
29.08.12
✎
16:03
|
(66)и что в этом коде странного?
|
|||||||||||||
88
Mafoni
29.08.12
✎
16:05
|
(86) - смотри не спейся а то так можно стресс лечить долго.
|
|||||||||||||
89
Mafoni
29.08.12
✎
16:07
|
(87) - а чего в коде из (66) - не странного ?
|
|||||||||||||
90
DSSS
29.08.12
✎
16:27
|
(87), (89) отсутствие конструкции ?(,,), йопт!
|
|||||||||||||
91
Mafoni
29.08.12
✎
16:43
|
(90) КЭП это ты ? :)
|
|||||||||||||
92
ILM
гуру
29.08.12
✎
19:46
|
(89) Примите глубочайшие соболезнования... Чтобы такой код править нужны стальные шары...
|
|||||||||||||
93
Изучаю1С8
29.08.12
✎
20:06
|
(37) Жесть..
|
|||||||||||||
94
Armando
29.08.12
✎
20:45
|
Щас работаю на проекте, где все отчеты олдскульные - на построителе. Ручной вывод полей, группировок, итогов. С присоединением секций. Любое вмешательство в отчет требует переписать несколько блоков кода. Это просто пистес. После 8 часов работы хочется убивать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |