- 1
https://github.com/kagami-ryuuji/kuroneko
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−4
https://github.com/kagami-ryuuji/kuroneko
По просьбам пользователей
−94
ВыборкаПоПроектам = ВзаиморасчетыСКонтрагентами.ПолучитьЗаполженностьКонтрагентовНаДату(МассивОрганизаций, КонецДня(ДатаОтчета), Истина, Истина, Истина);
Если ВыборкаПоПроектам <> Неопределено Тогда
ТаблицаВзаиморасчетов = Новый ТаблицаЗначений;
ДополнитьТаблицуКолонками(ТаблицаВзаиморасчетов);
Пока ВыборкаПоПроектам.Следующий() Цикл /// Проект
Если ВыборкаПоПроектам.СуммаОстаток <> 0 Тогда
ВыборкаПоКонтрагентам = ВыборкаПоПроектам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоКонтрагентам.Следующий() Цикл /// Контрагент
Если ВыборкаПоКонтрагентам.СуммаОстаток <> 0 Тогда
ВыборкаПоПлательщикам = ВыборкаПоКонтрагентам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоПлательщикам.Следующий() Цикл // плательщик
Если (ВыборкаПоПлательщикам.СуммаОстаток <> 0) Тогда
ВыборкаПоДоговорам = ВыборкаПоПлательщикам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоДоговорам.Следующий() Цикл // договор
Если ВыборкаПоДоговорам.СуммаОстаток <> 0 Тогда
ВыборкаПоДокументам = ВыборкаПоДоговорам.Выбрать();
Пока ВыборкаПоДокументам.Следующий() Цикл // документ
СтрокаВзаиморасчетов = ТаблицаВзаиморасчетов.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаВзаиморасчетов, ВыборкаПоДокументам);
А потом вот такая таблица помещается в СКД, на неё накладывается отбор... и даже по 1 контрагенту отчёт формируется минут 5. Научили дурака Богу молиться...
0
breakPar :: (Token -> Bool) -> [Token] -> Either String ([Token], [Token])
breakPar _ [] = Right ([], [])
breakPar p xs@(x:xs')
| x == TLPar = let t = takePar xs'
in case t of
Left err -> t
Right r -> let tt = breakPar p b
(a,b) = r
in case tt of
Left err -> t
Right rr -> let (y, z) = rr
in Right ([x] ++ a ++ y, z)
| p x = Right ([],xs)
| otherwise = checkEither (breakPar p xs') (first ((:) x))
+2
Searching 43077 files for "PROPERTY_96"
D:\OpenServer\domains\aproject.local\public_html\bitrix\templates\aproject\components\aproject\catalog.section\list\template.php:
19 // говнокод, говнокодом не испортить :)
20 $itSitno = 0;
21: if ($arElement['PROPERTY_96'] > 0)
22 {
23 $itSitno = 1;
замечательный проект.. Искал тут свойство в интернет магазине (типа макдака), которое отвечает за тип добавки к заказу (соус, мясо, и т.п.).
Называется это свойство вот так: PROPERTY_96 встречается в нескольких местах, в самом проекте 43077 файлов.
вообщем у меня бомбануло через 30 минут когда я его таки смог найти.
да это битрикс :(
−98
Перем ОписаниеФормы;
ОписаниеФормы = Новый Структура;
ОписаниеФормы.Вставить("ТипОбъектаФормы", Неопределено);
ОписаниеФормы.Вставить("ТипФормы", Неопределено);
ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", Неопределено);
ОписаниеФормы.Вставить("СсылкаНаФорму", ФормаКлиента);
Попытка
ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.ОбработкаОбъект)).Имя);
ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", ФормаКлиента.ОбработкаОбъект.Ссылка);
ОписаниеФормы.Вставить("ТипФормы", "Обработка");
Исключение
КонецПопытки;
Попытка
ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.ДокументСписок)).Имя);
ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", Неопределено);
ОписаниеФормы.Вставить("ТипФормы", " ДокументСписок");
Исключение
КонецПопытки;
Попытка
ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.ДокументОбъект)).Имя);
ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", ФормаКлиента.ДокументОбъект.Ссылка);
ОписаниеФормы.Вставить("ТипФормы", "Документ");
Исключение
КонецПопытки;
Попытка
ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.СправочникСписок)).Имя);
ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", Неопределено);
ОписаниеФормы.Вставить("ТипФормы", "СправочникСписок");
Исключение
КонецПопытки;
Попытка
ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.СправочникОбъект)).Имя);
ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", ФормаКлиента.СправочникОбъект.Ссылка);
ОписаниеФормы.Вставить("ТипФормы", "Справочник");
Исключение
КонецПопытки;
Попытка //если в самой форме описан её тип...
ОписаниеФормы.Вставить("ТипОбъектаФормы", ФормаКлиента.ТипОбъектаФормы);
ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", ФормаКлиента.СсылкаНаОбъектФормы);
ОписаниеФормы.Вставить("ТипФормы", ФормаКлиента.ТипФормы);
Исключение
КонецПопытки;
Возврат ОписаниеФормы;
Более "эвристического" метода чем N попыток аффтар видимо придумать не смог. Всё бы ничего, пытайся на здоровье, просто есть люди которые иногда включают режим отладки "остановка по ошибке"... бесит...
+2
if(itemsCount <= 2)
{
if(iteration == 1)
{
dragItemPos = new Vector3(-20, -55, 0);
}else if(iteration == 2){
dragItemPos = new Vector3(145, 75, 0);
}
}else if(itemsCount == 3){
if(iteration == 1)
{
dragItemPos = new Vector3(60, -170, 0);
}else if(iteration == 2){
dragItemPos = new Vector3(245, -45, 0);
}else if(iteration == 3){
dragItemPos = new Vector3(20, 90, 0);
}
}else if(itemsCount == 4){
if(iteration == 1)
{
dragItemPos = new Vector3(60, -170, 0);
}else if(iteration == 2){
dragItemPos = new Vector3(245, -45, 0);
}else if(iteration == 3){
dragItemPos = new Vector3(-80, 2, 0);
}else if(iteration == 4){
dragItemPos = new Vector3(140, 160, 0);
}
}
else{
if(iteration == 1)
{
dragItemPos = new Vector3(60, -170, 0);
}else if(iteration == 2){
dragItemPos = new Vector3(245, -45, 0);
}else if(iteration == 3){
dragItemPos = new Vector3(-100, -45, 0);
}else if(iteration == 4){
dragItemPos = new Vector3(25, 95, 0);
}else if(iteration == 5){
dragItemPos = new Vector3(190, 180, 0);
}
}
Определяем позиции объекта по их количеству и по номеру итерации. Массивы? не не слышал.
−37
ФормаВыбора = Справочники.СпецификацииНоменклатуры.ПолучитьФормуВыбораГруппы();
Родитель = ФормаВыбора.ОткрытьМодально();
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Родитель",Сред(Справочники.СпецификацииНоменклатуры.НайтиПоНаименованию(Родитель),1,50));
Запрос.УстановитьПараметр("Материалы",Справочники.Номенклатура.НайтиПоНаименованию("Материалы"));
Запрос.УстановитьПараметр("Активная",Истина);
Запрос.УстановитьПараметр("КодВерсии","00001");
Запрос.Текст = "ВЫБРАТЬ
| СпецификацииНоменклатурыИсходныеКомплектующие.Количество / СпецификацииНоменклатурыВыходныеИзделия.Количество * 1000 КАК Количество,
| СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.ВидНоменклатуры.Ссылка КАК ВидНоменклатуры,
| СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Артикул КАК Обозначение,
| ВЫБОР
| КОГДА (НЕ ПОДСТРОКА(СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.НаименованиеВКД, 1, 10) = "" "")
| ТОГДА СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.НаименованиеВКД
| ИНАЧЕ СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Наименование
| КОНЕЦ КАК Наименование,
| СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Комментарий КАК Комментарий,
| СпецификацииНоменклатурыВыходныеИзделия.Номенклатура.Наименование КАК ВыходнаяНоменклатура1,
| СпецификацииНоменклатурыВыходныеИзделия.Номенклатура.НаименованиеПолное КАК ВыходнаяНоменклатура,
| СпецификацииНоменклатурыВыходныеИзделия.Номенклатура.Родитель.Родитель КАК Родитель,
| СпецификацииНоменклатурыВыходныеИзделия.Номенклатура.Артикул КАК ВыходнаяНоменклатура1Артикул,
| СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка.Родитель КАК Родитель1,
| СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Родитель КАК Родитель2,
| СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.НаименованиеВКД КАК НаименованиеВКД,
| СпецификацииНоменклатурыВыходныеИзделия.Количество КАК Количество1
|ИЗ
| Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК СпецификацииНоменклатурыВыходныеИзделия
| ПО СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка.Ссылка = СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Ссылка
|ГДЕ
| (СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Родитель.Ссылка = &Материалы
| ИЛИ СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Родитель.Родитель.Ссылка = &Материалы
| ИЛИ СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Родитель.Родитель.Родитель.Ссылка = &Материалы
| ИЛИ СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Родитель.Родитель.Родитель.Родитель.Ссылка = &Материалы)
| И ПОДСТРОКА(СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка.Родитель.Наименование, 1, 50) = &Родитель
| И ПОДСТРОКА(СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Родитель.Наименование, 1, 50) = &Родитель
| И СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Активная = &Активная
| И СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка.КодВерсии = &КодВерсии";
//Отладка для таблицы
//Результат1 = Запрос.Выполнить().Выгрузить();
//Результат1.ВыбратьСтроку();
//Возврат;
Результат = Запрос.Выполнить();
Возврат Результат;
Судя по коду "разработчик" был не сильно много знаком с программированием в 1С.
+2
url = Ext.String.format('<a href="https://www.mql5.com/en/signals/' + record.get('foreign_id') + '" target="_blank" class="value_bill type_link">{0}</a>', record.get('foreign_id'))
+7
public static bool CheckBoxValue(bool Checked)
{
return Conversions.ToBoolean(Interaction.IIf(Checked, true, false));
}
+6
//Добавление/удаление товара в корзину, вывод содержиого
function itemInCart(id, price, count) {
...........
Вот такой он, универсальный JavaScript )