- 1
ideone.com/LfENd1
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
ideone.com/LfENd1
Вот мне всегда говорили, что NaN не равен ничему включая себя, но PHP перевернул мой мир
+1
ДействующиеПостановления = Новый Структура;
ДействующиеПостановления.Вставить("Постановление914", ДанныеПечати.Дата < ДатаНачалаПримененияПостановления1137);
ДействующиеПостановления.Вставить("Постановление1137", НЕ (ДанныеПечати.Дата < ДатаНачалаПримененияПостановления1137));
ДействующиеПостановления.Вставить("Постановление1137_625", ВедетсяУчетНДСПоФЗ56(ДанныеПечати.Дата,ДанныеПечати.ДатаИсправления));
ДействующиеПостановления.Вставить("Постановление981", ДействуетПостановление981(ДанныеПечати.Дата,ДанныеПечати.ДатаИсправления));
ОпцииПечатиСчетаФактуры.Вставить("ДействующиеПостановления", ДействующиеПостановления);
Если ДанныеПечати.КорректировочныйСчетФактура Тогда
Если ДействующиеПостановления.Постановление981 Тогда
Макет = МакетКорр_981;
ЕстьПостановление981 = Истина;
ИначеЕсли ДействующиеПостановления.Постановление1137_625 Тогда
Макет = МакетКорр_625;
ЕстьПостановление1137_625 = Истина;
Иначе
Макет = МакетКорр;
ЕстьПостановление1137 = Истина;
КонецЕсли;
ИначеЕсли ДействующиеПостановления.Постановление914 Тогда
Макет = Макет451;
ЕстьПостановление914 = Истина;
ИначеЕсли ДействующиеПостановления.Постановление981 Тогда
Макет = Макет981;
ЕстьПостановление981 = Истина;
ИначеЕсли ДействующиеПостановления.Постановление1137_625 Тогда
Макет = Макет1137_625;
ЕстьПостановление1137_625 = Истина;
Иначе
Макет = Макет1137;
ЕстьПостановление1137 = Истина;
КонецЕсли;
Если (ЕстьПостановление914 И ЕстьПостановление1137)
ИЛИ (ЕстьПостановление914 И ЕстьПостановление981)
ИЛИ ((ЕстьПостановление1137 ИЛИ ЕстьПостановление1137_625) И ЕстьПостановление981) Тогда
Текст = НСтр("ru = 'Недоступна одновременная печать счетов-фактур, сформированных по разным постановлениям Правительства РФ'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
Текст,
ДанныеПечати.Ссылка);
ТабличныйДокумент.Очистить();
Прервать;
КонецЕсли;
Типовая УТ 11.3.4.93, ПечатьОбщихФорм, модуль менеджера
Что проверяют эти "Если"? Не ошибся ли программист?
Постановление определяется по дате счета-фактуры. Интересно, как можно сформировать счет-фактуру одновременно "по разным постановлениям Правительства РФ"?
И мало того, что вторая и третья строки всегда дают противоположный результат. Нет, на всякий случай проверим "Если (ЕстьПостановление914 И ЕстьПостановление1137)".
Интересно также, как после ИначеЕсли ожидали получить сочетание разных "постановлений"? И почему проверяется всего три неправильных сочетания? Надо больше кода!
Еще понравилась оригинальная идея завести на каждый элемент структуры отдельную переменную, потом присвоить этой переменной то же, что и в структуре, а потом проверить сочетание этих переменных. Надо заметить, что переменные ЕстьПостановлениеYYYY больше нигде не используются.
+1
Поцаны, шестой уровень вложенности - это ок или говнокод?
У вас обычно сколько?
+1
// https://github.com/telegramdesktop/tdesktop/blob/5f5770dd46491133b135a71fc2d4f92d13107ade/Telegram/SourceFiles/history.cpp#L1455
int History::countUnread(MsgId upTo) {
int result = 0;
for (auto i = blocks.cend(), e = blocks.cbegin(); i != e;) {
--i;
for (auto j = (*i)->items.cend(), en = (*i)->items.cbegin(); j != en;) {
--j;
if ((*j)->id > 0 && (*j)->id <= upTo) {
break;
} else if (!(*j)->out() && (*j)->unread() && (*j)->id > upTo) {
++result;
}
}
}
return result;
}
void History::updateShowFrom() {
if (showFrom) return;
for (auto i = blocks.cend(); i != blocks.cbegin();) {
--i;
for (auto j = (*i)->items.cend(); j != (*i)->items.cbegin();) {
--j;
if ((*j)->id > 0 && (!(*j)->out() || !showFrom)) {
if ((*j)->id >= inboxReadBefore) {
showFrom = *j;
} else {
return;
}
}
}
}
}
очередная порция говнеца из телесрамного клиента
+1
$probabilities=array();
$get_items=mysql_query("SELECT * FROM `items` WHERE `iid` IN(".mysql_real_escape_string($case['items']).") AND `status`='1' AND `count`>'0' ORDER BY `probability` DESC;");
while($item=mysql_fetch_assoc($get_items)){
$probabilities[$item['probability']]=0;
}
$dices=$probabilities;
for($pi=100;$pi>=0;$pi--){
foreach($probabilities as $probability=>$pstate){
if(rand(1, 2)==2){
if($pi<=$probability){
$dices[$probability]=$dices[$probability]+1;
}
}
}
}
arsort($dices, SORT_NUMERIC);
$probability=reset(array_keys($dices));
$get_prize=mysql_query("SELECT * FROM `items` WHERE `iid` IN(".mysql_real_escape_string($case['items']).") AND `status`='1' AND `count`>'0' AND `probability`='".$probability."' ORDER BY RAND() LIMIT 1;");
Написал с нуля на заказ движок для очередного детского говноказино (розыгрыш пикселей для игр в "Steam").
Заказчик умолял сделать возможность управления вероятностью выпадения того или иного предмета (в процентах), что я и сделал. Вышеприведённый алгоритм как раз отвечает за выбор приза в соответствии с прописанными в настройках вероятностями. Сейчас кажется, что решение не самое "изящное".
Есть, что заметить по поводу алгоритма?
+1
Кегдан вернулся, давайте радоваться вместе!
+1
function CountBack_slider(secs,iid,j_timer) {
if (secs < 0) {
document.getElementById(iid).innerHTML = FinishMessage;
document.getElementById('caption'+j_timer).style.display = "none";
document.getElementById('heading'+j_timer).style.display = "none";
return;
}
DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000));
DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24));
DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));
DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));
var elems = document.getElementsByTagName('*'), i;
for (i in elems) {
if((' ' + elems[i].className + ' ').indexOf(' ' + iid + ' ')
> -1) {
elems[i].innerHTML = DisplayStr;
}
}
jQuery('.'+iid).innerHTML = DisplayStr;
if (CountActive)
setTimeout(function(){CountBack_slider((secs+CountStepper),iid,j_timer)}, SetTimeOutPeriod);
}
Работаю с купленным html5-шаблоном.
В шаблоне jq (и еще куча всякого хлама) подключен.
Кодили с мыслью "работает и *уй с ним".
+1
https://s1.postimg.org/9ay7hrf7fj/js-love-forever.png
heart, heart, JavaScript!
+1
while (1):
for iterator in range(len(posts)):
# Для прозрачности вычислений
time_post_a = datetime.now()
time_post_a = int(time.mktime(time_post_a.timetuple()))
time_post_b = posts[iterator]['time']
time_post_b = int(time.mktime(time_post_b.timetuple()))
# Выполнить действие, в случае, если "время пришло" по массиву posts
if ((time_post_a - time_post_b) == 0):
print ('Итератор: ' + str(iterator) + ', Новая публикация: ' + str(posts[iterator]['time']))
time.sleep(1) # Если его убрать, то начинаются дикие пляски
break
Планировщик постов
+1
#if ( clang_major==7 && clang_minor==3 )
public std::enable_shared_from_this<CryptoContainer>
#else
public std::enable_shared_from_this<CryptoContainerInterface>
#endif
Во первых непонятно зачем, а во вторых clang > 6 на момент написания даже в проекте не было.