Search
Write a publication
Pull to refresh
0
0
Михаил Григорьевич Табарданов @Acciduccu

User

Send message
Нет, лямбдам я не противился. А если бы и противился, кому это интересно? :-)
Да и вообще функциональный подход мне нравится. И после прочтения книжки Антона Холомьёва про Haskell появилась непреодолимая тяга писать чистые функции. Кстати, тогда я оценил такое свойство общих модулей 1С, как «Повторное использование возвращаемых значений».
Я про «Для каждого» написал лишь к тому, что для вашего «ВыполнитьПострочно» есть относительно компактный аналог. И я не вижу, за счет чего компилятор мог бы дополнительно оптимизировать байт-код по сравнению с имеющимся перебором коллекций в цикле.
ЗаполнитьЗначенияСвойств() использую, конечно. Т.к. это именно то, что позволяет писать более компактный код.
Но уж если мечтать о компактности, то более насущными, как мне кажется, являются не лямбды, а нормальные способы инициализации массивов, структур и соответствий. Т.к. сейчас заполнение массива и соответствия производится только через унылое и многословное Вставить(), а структура, хотя и может быть инициализирована одним оператором, но делается это крайне неудобно: сначала перечисляем ключи, потом значения. А не парами, как в нормальных языках.
Ну и да, хотелось бы функции первого класса. И возможность вынести обработчик события формы в общий модуль. Хотя там, по всей видимости, есть проблемы с передачей контекста.
Много чего хотелось бы. Однако приходится пользоваться девизом Филеаса Фогга: «Используй то, что под рукою, и не ищи себе другое.»
Список сотрудников нужно отсортировать при СОЗДАНИИ или при заполнении документа? Если при заполнении, и если заполнение выполняется запросом, то это тот самый момент, когда хорошо бы результат запроса отсортировать. Например, по табельному номеру.
Цикл по элементам с получением табельного номера для каждого — порочная практика. За каждым таким обращением — отдельный запрос к БД. Вот так вот понапишут тормозной код, а потом 1С ругают.
Что касается однострочника с занулением, то ведь можно так и написать:
Для каждого Строка Из МояКоллекция Цикл Если Строка.Остаток < 0 Тогда Строка.Остаток = 0 КонецЕсли КонецЦикла;


А так-то ещё Юрий Крижанич про 1С писал: «Язык наш очень беден, преубог и ни на что не годен. Историй и разных преданий мы не знаем. Никаких достойных политических разговоров вести не можем. По этим причинам [другие] народы нас ни во что не ставят.»
Учитывая наличие в вашем коде subZero, это должен быть fatality checker.

Information

Rating
Does not participate
Location
Ульяновск, Ульяновская обл., Россия
Date of birth
Registered
Activity