Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
У меня было где-то логическое выражение, которое проверяло год на високосность, за основу взял признаки из википедии. Я его ещё сократил по карте Карно... Красота!
А что будет, если кто-то системное время передвинет назад, чтобы совершить «коррупцию»? Потом скажут, что это ты оставил бэкдор для злоумышленников, то есть был соучастником.
хм)
во-первых зачем бы оно им?
во-вторых я конечно не настоящий сварщик, но мне птички напели, что 1С всё чаще клиент-серверный в наше время, и если это выполняется в районе сервера, то там у бухов точно нет никаких прав
Перевести часы (да еще и отключить их синхронизацию с NTP) может только админ, или питух со спец привилегией SE_SYSTEMTIME_NAME.
Если ты не хочешь иметь много вирусов-вымогателей, шифровальщиков и яндекс-браузеоров, то ты обычно не даешь много прав бухам на их тачках: пусть седят под обычными пользователями
Альзо, сбитые часы сломают тебе керберос, а это в домене страшнее сломанного HTTPS.
Если же у тебя клиент 1С связанный с 1С сервером, и код выполняется на сервере, то тамошнее время ты вообще никак не поменяешь: я не знаю, есть ли RPC или WS для смены времени, а по RDP буха на сервер никто не пустит
Я знаю, конечно, про эту секунду. Но исходный код просто неверен (скорее всего, из какой-нибудь лабораторной работы).
К _День сначала прибавляется единица, а потом идут условия. Т.е. для последнего дня любого месяца - всегда будет исключение.
+ Октябрь вообще пропал, а для 31.12 - год потерялся.
guest # 0
gost # 0 ⇈
oaoaoammm # 0 ⇈
Fike # 0 ⇈
Я БЛЯДЬ САМ
ЛИЧНО
ПРИДУ УЕБУ ЭТОГО ИДИОТА ЕГО ЖЕ КЛАВИАТУРОЙ
gost # 0 ⇈
Rooster # 0 ⇈
Rooster # 0
gost # 0 ⇈
Rooster # 0 ⇈
ShilkovNikolay # 0
guest # 0 ⇈
gost # 0 ⇈
P. S. В универе с високосными годами не ебался — не мужик.
oaoaoammm # 0 ⇈
Fike # 0 ⇈
bormand # 0 ⇈
Когда это было препятствием для опытного бухгалтера?
ShilkovNikolay # 0
ShilkovNikolay # 0
Но не могу удержаться!
Функция РазрешеноМенятьЗаявкуПоПравилу9Утра()
ОДИН_ЧАС = 60 * 60;
ОДИН_ДЕНЬ = 24 * ОДИН_ЧАС;
Возврат ТекущаяДата() < (НачалоДня(Объект.Дата) + ОДИН_ДЕНЬ + 9 * ОДИН_ЧАС);
КонецФункции
oaoaoammm # 0 ⇈
guest # 0 ⇈
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
во-первых зачем бы оно им?
во-вторых я конечно не настоящий сварщик, но мне птички напели, что 1С всё чаще клиент-серверный в наше время, и если это выполняется в районе сервера, то там у бухов точно нет никаких прав
bormand # 0 ⇈
Как показывает практика, их даже https не останавливал от перевода часов... Ну разве что сломанным сертификатом.
> зачем бы оно им
Чтобы проводить что-нибудь задним числом.
MAPTbIwKA # 0 ⇈
Перевести часы (да еще и отключить их синхронизацию с NTP) может только админ, или питух со спец привилегией SE_SYSTEMTIME_NAME.
Если ты не хочешь иметь много вирусов-вымогателей, шифровальщиков и яндекс-браузеоров, то ты обычно не даешь много прав бухам на их тачках: пусть седят под обычными пользователями
Альзо, сбитые часы сломают тебе керберос, а это в домене страшнее сломанного HTTPS.
Если же у тебя клиент 1С связанный с 1С сервером, и код выполняется на сервере, то тамошнее время ты вообще никак не поменяешь: я не знаю, есть ли RPC или WS для смены времени, а по RDP буха на сервер никто не пустит
bormand # 0 ⇈
И да, клиент-сервер их не остановит, они попробуют перевести время. Вдруг время берётся с клиента и всё прокатит. Ну не прокатит - значит нет.
MAPTbIwKA # 0 ⇈
1C:Теневая бухгалтерия
>А я про обычную мелочь, где админ один на десяток контор.
Ты хочешь сказать, что у таких админок бухи админы на своих машинах?
oaoaoammm # 0 ⇈
Вроде бы даже были истории про то, как кто-то таким образом охуел.
guest # 0 ⇈
MAPTbIwKA # 0 ⇈
А если ты мелкий, то они ноутбуки домой забирают, и всё
guest # 0 ⇈
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
Очень популярна схема, когда питухи ходят по RDP на какой-то сервер, и там запускают клиент.
Во-первых это может оказаться быстрее (протокол может быть жирнее RDP) во-вторых проще и безопаснее: таких петухов из дома пускают прямо по RDP.
Но это конечно в конторах средних размеров, где админ это всё осилил
guest # 0 ⇈
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
guest # 0 ⇈
MAPTbIwKA # 0 ⇈
CHayT # 0 ⇈
guest # 0 ⇈
homo # 0 ⇈
ОДИН_ЧАС = 60 * 60;
Возврат ТекущаяДата() < (КонецДня(Объект.Дата) + 9 * ОДИН_ЧАС);
ShilkovNikolay # 0 ⇈
ОДИН_ЧАС = 60 * 60;
Возврат ТекущаяДата() < ((КонецДня(Объект.Дата) + 1) + 9 * ОДИН_ЧАС);
В Вашем варианте получится не 09:00 следующего дня, а 08:59!
homo # 0 ⇈
К _День сначала прибавляется единица, а потом идут условия. Т.е. для последнего дня любого месяца - всегда будет исключение.
+ Октябрь вообще пропал, а для 31.12 - год потерялся.