October 18th, 2017

свин

Поработаю саппортом ЖЖ для Фрица.

Фриц жалуется, что поддержка ЖЖ не работает. Не знаю, как сейчас с поддержкой, не обращался. Но раньше в абуз можно было отправлять сообщение через ЖЖ-форму, ей присваивался трек-номер, а теперь - только через почту. Непонятно, как верифицируется почтовый адрес как адрес владельца журнала?

Ну да ладн, суть не в этом.

Печально что Фриц Моисеевич, бывший программист 1С, не смог самостоятельно догадаться, в чем проблема и как ее обходить. Видимо, извилин не хватило.

Ну что же, попонтуюсь на фоне несообразительного писаки.

Collapse )

promo fixin december 31, 2037 16:57 1420
Buy for 30 tokens
UPD: Друзья, в августе 2019 года блог переехал на http://fixinchik.ru. Welcome! Добро пожаловать в журнал Осипова Сергея Александровича, известного также как Fixin и Гений 1С. Рекомендую ознакомиться с Часто Задаваемыми Вопросами обо мне. Что я хочу в подарок - список. Мой проект "…
свин

Дедуля воспитал быдло-даму

Дело было в Новогиреево на трамвайной остановке.

В ожидании трамвая столпились люди.

Одна дама лет 40 с дочкой лет 20 стоит и курит. Потом бросает бычок прямо на рельсы.

Дедок видит это, и делает замечание – чего бросаешь на землю, урна вон, рядом.

Дама огрызнулась, типа не твое дело. Но видно, что смутилась.

А дедок решил добивать и начал бухтеть: это редко, чтобы женщина мусорила, наверное сама внутри помойка, потому и гадит вокруг. И еще периодически вставлял фразы на эту тему.

Дама не глядя на дедулю, огрызалась иногда, но больше молчала.


Collapse )

свин

Парадокс: Читаемость кода за счет лишних прогонов

У меня был вот такой код, где выполнялось по выбору пользователя N обработок.

И в конце нужно было выдать пользователю подтверждение, какие обработки выполнены.

Сначала я написал код так, но это было неправильно:


Сообщение = "";
Для Каждого
Эл Из МассивОбрабатываемыхЭлементов
 Если НужнаОбработка1 Тогда
 
Сообщение = Сообщение + "Обработка 1" + Символы.ПС;
 
ВыполнитьОбработку1();
 КонецЕсли;
 Если
НужнаОбработка2 Тогда
 
Сообщение = Сообщение + "Обработка 2" + Символы.ПС;
 
ВыполнитьОбработку2();
 КонецЕсли;
 ...
 Если
НужнаОбработкаN Тогда
 
Сообщение = Сообщение + "Обработка N" + Символы.ПС;
 
ВыполнитьОбработкуN();
 КонецЕсли;
КонецЦикла;

Предупреждение("Над " + МассивОбрабатываемыхЭлементов.Количество() + " объектов выполнены обработки:" + Символы.ПС + Сообщение);

Потому что список выполненных обработок повторялся столько раз, сколько в массиве элементов.

Я решил не переписывать код, а вставить в начало цикла строку:


Сообщение = "";

Как вариант, облагородить код можно было бы и по другому:

Добавлять в сообщение строки только на первом прогоне цикла.

Сформировать строку сообщения отдельно от цикла.

Но тогда бы это было более громоздким, вот в чем парадокс. А как бы вы решили эту задачу?

Только не предлагайте все условия и ссылки на обработки загнать в массив. Это очевидное решение, но читается тоже так себе, потому что в 1с нет ссылки на функцию, есть только метод EVAL, выполняющий строку кода. Хотя вариант, конечно.