Имя: Пароль:
LIFE
Жизнь прекрасна
OFF: Перлы в коде
,
0 Rebelx
 
19.11.13
13:36
Я понимаю, что не пятница. В пятницу то вообще грех работать.
А в остальные дни - главное не перетрудиться :)

это я шутю.

не работал бы - подобных перлов не увидел:

...
    Исключение
        Предупреждение("Нет желания работать!!! Где программист?");
    КонецПопытки;


Предлагаю делиться перлами из кода 1С
1 zak555
 
19.11.13
13:37
на Perl пишешь ?
2 1dvd
 
19.11.13
13:38
(1) а можно в коде 1С вставки на перле делать?
3 zak555
 
19.11.13
13:38
(2) разумеется
4 Господин ПЖ
 
19.11.13
13:38
//позовем общую функцию ...

любая типовая
5 NcSteel
 
19.11.13
16:08
(4) Общая функция не найдена!
6 Maxus43
 
19.11.13
16:10
ОбработкаПроведения()

     ЭтотОбъект.Записать();
7 Ненавижу 1С
 
гуру
19.11.13
16:13
8 Piraties
 
19.11.13
16:20
http://govnokod.ru/13951

а что тут не так?

мож при первом проведении блокировки все дела, если всё таки не провёл, то записать, чтобы тётя Маша не рыдала о потере документа, который она 2 часа  набивала.
9 Жан Пердежон
 
19.11.13
16:23
(8) все не так: документ записывается, даже если провелся (пусть и со второго раза)
10 Piraties
 
19.11.13
16:23
(9)а если оба раза не провёлся?

а пардон я думал он записывается после 2-й неудачной попытки.
11 Посторонний
 
19.11.13
16:34
"Аксиома 2: Код любой нетривиальной программы можно сократить хотя бы на одну строку"
Следствие:  любой код - *овнокод.
12 DJ Anthon
 
19.11.13
16:35
(8) судя по всему, сайт писали *овнокодеры. при попытке добавить коммент -
Ошибка компиляции комментария:
Неверно введен проверочный код!
csrf verification error
13 GROOVY
 
19.11.13
16:37
(8) Исключение вызванное в любом месте транзакции откатит ее.
14 Rebelx
 
19.11.13
16:38
(10) зачем-то запись документа после проведения
15 Ненавижу 1С
 
гуру
19.11.13
16:40
(8) а в том ошибка, что если всё это в единой транзакции, то после первой неудачи, хотя вторая попытка и может сработать, но в целом транзакция откатится
16 Piraties
 
19.11.13
16:42
убило

function IPP (var i: integer): integer;
begin
  Result := i;
  Inc(i);
end;

hui = IPP(hui)
операция поддёргивания
17 Посторонний
 
19.11.13
16:49
(13), (15) А где там видно что это транзакция ?
18 Ненавижу 1С
 
гуру
19.11.13
16:51
(17) нигде, но вдруг, но и в этом случае Марь Ивановна не потеряет данные, если программист не идиот
19 Maxus43
 
19.11.13
16:56
вобще то если там явная транзакция - может быть ошибка "в этой транзакции уже происходили ошибки"
20 Жан Пердежон
 
19.11.13
17:02
(17) тише, телепаты 80 уровня в треде
21 GROOVY
 
19.11.13
17:25
Так Попытка вроде как и есть транзакция неявная.
22 Maxus43
 
19.11.13
17:30
(21) она же не откатывает изменения, только в исключение уходит
23 Castlevania
 
19.11.13
17:31
Знакомая девочка смайлики ставила в сообщениях и в коде
24 Maxus43
 
19.11.13
17:31
Попытка
записатьЭлемент1безошибок();
записатьЭлемент2СОшибкой();
исключение
КонецПопытки;

Элемент1 в базу с песней и танцами запишется и не откатится никуда
25 МойКодУныл
 
19.11.13
17:39
В каком-то древнем отчете по мотивации. Достался в наследство:).

Если мГруппыСклад.Получить(СтрокаДанных.Группа) <> Неопределено Тогда
                СтрокаДанных.ОтработаноМинут = СтрокаДанных.ОтработаноМинут - Обед - Перекуры; // люмпены
            Иначе
                СтрокаДанных.ОтработаноМинут = СтрокаДанных.ОтработаноМинут - 60; // планктон
            КонецЕсли;

находил в базе код типа "Если Документ.Код = ХХХХ Тогда".
26 User_Agronom
 
19.11.13
17:42
(16) Это на Pascal?
Работать не будет. На третьем точно не будет.
27 Жан Пердежон
 
19.11.13
17:43
(21) прямо в лужу!
28 Михаил Козлов
 
19.11.13
17:50
(11) А как же результат Колмогорова, что сложность программы опреляется мин. длинной программы?
29 Сниф
 
19.11.13
18:45
В конфигурации для учета арендаторов:

//
Если Арендатор.Задолженность > 0 Тогда
глНаморщить(Арендатор);
КонецЕсли;
30 be-may
 
19.11.13
20:39
(29)да, глНаморщитьПользователя, это ж любимое наше.. ;)