- 1
- 2
- 3
- 4
- 5
Если Стрк.Контрагент.ИНН = "7702691545" Тогда
ТекДок.Грузополучатель = Справочники.Контрагенты.НайтиПоКоду("000401789");
ИначеЕсли ПоХенкелю Тогда
ТекДок.Грузополучатель = Заявка.Контрагент;
КонецЕсли;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−97
Если Стрк.Контрагент.ИНН = "7702691545" Тогда
ТекДок.Грузополучатель = Справочники.Контрагенты.НайтиПоКоду("000401789");
ИначеЕсли ПоХенкелю Тогда
ТекДок.Грузополучатель = Заявка.Контрагент;
КонецЕсли;
Навряд ли конечно кто-то из тех кто пишет такой код, читает этот сайт, но всё же обращаюсь к ним. Вот скажите, есть какой-то негласный принцип так писать? У вас какой-то орден масонский, где вас так учат делать? Расскажите же про свой негласный кодекс хорошего программиста! Просто я много где поработал, и постоянно в коде такое говно, написанное разными людьми. Генезис такого говна понятен: приходит тупорылый менеджер и приносит не менее тупорылую хотелку, но ведь вы программист, а значит вы должны видеть за деревьями лес.
В каждой задаче нужно видеть за деревьями лес - вот принцип хорошего кода. Если менеджер пришёл 1 раз, он 100% придёт ещё раз, и принесёт подобную задачу. Не лучше ли сейчас немножко посидеть, написать ХОРОШО а в следующий раз решить подобную задачу за 1 минуту и дальше сидеть и пинать говно? Не лучше?!
Что значит хорошо? Хорошо, это когда ваше решение шире задачи, а задача которую вам дали всего лишь частный случай того функционала, который вы реализовали. 1 - Мыслить нужно шире.
Так же надо чётко разделять ту информацию которая хранится в базе, и имена переменных. Если наименование контрагента "Хенкель" то какого члена в тексте делает переменная "КонтрагентХенкель"?! Предопределенные элементы - это максимум хардкода, который приемлем. Вы вообще слышали про компиляцию? Компиляция процесс необратимый, и часто её делать нежелательно, поэтому максимум параметров надо выносить во всевозможные настройки и параметры, чтобы можно было их поменять на ходу. Ладно. Вы всё равно нифига не поймёте.
+5
$temp = $this->user->get($value['user_id']);
foreach ($temp as $var) {
$temp = $var;
break;
}
Просматривал код курсвых по web-программированию, нашел новейший метод извлечения первого элемента массива
−98
Перем ОписаниеФормы;
ОписаниеФормы = Новый Структура;
ОписаниеФормы.Вставить("ТипОбъектаФормы", Неопределено);
ОписаниеФормы.Вставить("ТипФормы", Неопределено);
ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", Неопределено);
ОписаниеФормы.Вставить("СсылкаНаФорму", ФормаКлиента);
Попытка
ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.ОбработкаОбъект)).Имя);
ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", ФормаКлиента.ОбработкаОбъект.Ссылка);
ОписаниеФормы.Вставить("ТипФормы", "Обработка");
Исключение
КонецПопытки;
Попытка
ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.ДокументСписок)).Имя);
ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", Неопределено);
ОписаниеФормы.Вставить("ТипФормы", " ДокументСписок");
Исключение
КонецПопытки;
Попытка
ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.ДокументОбъект)).Имя);
ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", ФормаКлиента.ДокументОбъект.Ссылка);
ОписаниеФормы.Вставить("ТипФормы", "Документ");
Исключение
КонецПопытки;
Попытка
ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.СправочникСписок)).Имя);
ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", Неопределено);
ОписаниеФормы.Вставить("ТипФормы", "СправочникСписок");
Исключение
КонецПопытки;
Попытка
ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.СправочникОбъект)).Имя);
ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", ФормаКлиента.СправочникОбъект.Ссылка);
ОписаниеФормы.Вставить("ТипФормы", "Справочник");
Исключение
КонецПопытки;
Попытка //если в самой форме описан её тип...
ОписаниеФормы.Вставить("ТипОбъектаФормы", ФормаКлиента.ТипОбъектаФормы);
ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", ФормаКлиента.СсылкаНаОбъектФормы);
ОписаниеФормы.Вставить("ТипФормы", ФормаКлиента.ТипФормы);
Исключение
КонецПопытки;
Возврат ОписаниеФормы;
Более "эвристического" метода чем N попыток аффтар видимо придумать не смог. Всё бы ничего, пытайся на здоровье, просто есть люди которые иногда включают режим отладки "остановка по ошибке"... бесит...
−96
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) КАК Контрагент,
| ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) КАК ТорговаяТочка,
| 0 КАК ЛимитСумма,
| 0 КАК ЛимитСрок,
| 0 КАК ПросроченаСумма,
| 0 КАК ПросроченоДней,
| 0 КАК ОтгрузкаРазрешена,
| Значение(Документ.РеализацияТоваровУслуг.ПустаяСсылка) КАК Документ,
| 0 КАК Сумма
|";
РезультатЗапроса = Запрос.Выполнить();
ТаблицаДЗ = РезультатЗапроса.Выгрузить();
Результаты.Вставить("АктуальнаяДЗСумма", ТаблицаДЗ);
Кто может объяснить мне сакральный смысл этого запроса?
+1010
$obj = new Task(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null);
Когда аргументов не осталось :(
P.S: Когда конструктор хочет слишком многого (нужно установить всего одно свойство - извещение об ошибке).
+142
http://habrahabr.ru/post/72959/
Сразу прошу извинить...
1. за хабр ;(
1. за баянизм - ссылка на этот пост уже была на гк.
Знаю по опыту, что объекты в делфи инициализируются мусором.
"В Delphi это не представляет никаких трудностей, так как любой объект еще до передачи управления конструктору инициализируется нулями." - выебать бы маму автора сего пёрла.
−105
Г = 0;
Пока Г = 0 Цикл
ПОПЫТКА
Док.РазрешитьОтгрузку = Перечисление.Булево.Да;
Док.Записать();
ИСКЛЮЧЕНИЕ
Сообщить("" + Г + " : Документ " + Док.НомерДок + " заблокирован. Пробую еще раз ...");
Если Г > 20 Тогда
Сообщить("Неудачка...");
Прервать;
КонецЕсли;
КОНЕЦПОПЫТКИ;
Г = Г + 1;
КонецЦикла;
+144
/* Convert IP address to unsigned long int. */
function ip2ulong($ip) {
return sprintf("%u", ip2long32($ip));
}
https://github.com/pfsense/pfsense/blob/master/etc/inc/util.inc#L414-L417
Продолжаем осторожно идти дальше. Это нормально вообще? Да, я видел всякие смехуёчки с магическим приведением типов в PHP и JS, так что наверняка оно где-то правильно конвертится и все работает несмотря ни на что и вопреки. Может, это даже нормальная практика в мире PHP, но мне страшно.
+144
function order_to() {
jQuery.ajax({
type: "POST",
url: url+'/saveMethod/',
data: {
"method": "guest"
},
success: function(success) {
console.log(success);
jQuery.ajax({
type: "POST",
url: url+'/saveBilling/',
data: {
"billing[address_id]": "",
"billing[firstname]": "Test",
"billing[lastname]": "Query",
"billing[company]": "",
"billing[email]": "[email protected]",
"billing[street][]": "Street",
"billing[city]": "City",
"billing[region_id]": "",
"billing[region]": "",
"billing[postcode]": "50",
"billing[country_id]": "UA",
"billing[telephone]": "+100500",
"billing[fax]": "",
"billing[customer_password]": "",
"billing[confirm_password]": "",
"billing[save_in_address_book]": "1",
"billing[use_for_shipping]": "1"
},
success: function(success) {
console.log(success);
jQuery.ajax({
type: "POST",
url: url+'/saveShippingMethod/',
data: {
"shipping_method": "flatrate_flatrate"
},
success: function(success) {
console.log(success);
jQuery.ajax({
type: "POST",
url: url+'/savePayment/',
data: {
"payment[method]": "checkmo"
},
success: function(success) {
console.log(success);
var reg = /\/form_key\/(.*?)\/\'\)/;
var raw = jQuery('button.button.btn-cart').attr('onclick');
if (raw == undefined) {
key_form = jQuery('form input[name=form_key]').val();
} else {
var key_form = reg.exec(raw)[1];
};
console.log(key_form);
jQuery.ajax({
type: "POST",
url: url+'/saveOrder/form_key/' + key_form + '/',
data: {
"payment[method]": "checkmo"
},
success: function(success) {
console.log(success);
}
});
}
});
}
});
}
});
}
});
}
order_to();
order_to();
Каскадный запрос на jQuery на подтверждение заказа в Magento загнан в функцию и вызывается два раза, потому что с первого не проходит. А еще в одном блоке токен получается из артибута узла через регулярку...
+154
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
</html>
<script>
var text = "adsdmdlmf 34vfvf";
var regex = /\s /
if (regex != 0){
alert("Тут два слова")
}
else {
alert("Тут одно слово")
}
</script>
Первый говнопост (задача проверить является ли текст одним словом)