1. 1C / Говнокод #20033

    −100

    1. 1
    ТекТаблицаСвойств = СсылкаНаОбьект.Свойства.Выгрузить().Скопировать(СсылкаНаОбьект.Свойства.НайтиСтроки(ТекОтбор));

    Выгружаем строки из табличной части, используя отбор.

    Запостил: CMblCL, 18 Мая 2016

    Комментарии (8) RSS

    • Это же пездец, СМЫСЛ
      Ответить
      • Да ладно тебе! Ведь прикольно! Да и по фиг, что 1С-овцы не рекомендуют обращение к данным и функциям более чем через 2-3 точки.
        Зато крутяк, ООП в действии!
        На С++ в данном случае все найденные строки были бы положены в стек, а вот 1С куда их кладет?
        Ответить
    • Все нормально. Если вы, умники присвоите таблицу значения, то эта дурацкая таблица ведь присвоится ссылочно. А надо скопировать и отобрать
      Ответить
      • ТекТаблицаСвойств = СсылкаНаОбьект.Свойства.Выгрузить(ТекОтб ор);

        Чувствуешь разницу? А теперь умножь ее на 100 примерно, столько раз было встречено данное писательство.
        Ответить
    • В очередной раз убеждаюсь в ущербности местной аудитории. С приведенной конструкцией все нормально - так делают чтобы получить таблицу значений найденных строк, т.к. метод НайтиСтроки() возвращает ссаный массив, а не ТЗ. Школие, мля.
      Ответить
      • Все нормально? Тут обращение к исходной таблице идет целых 3 раза, когда достаточно одного и в итоге все равно в ТекТаблицаСвойств получается копия ТЗ, а не массив строк.

        ТекТаблицаСвойств = СсылкаНаОбьект.Свойства.Выгрузить(ТекОтб ор);

        Вот так следовало написать.
        Ответить

    Добавить комментарий