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

    −109.8

    1. 1
    2. 2
    3. 3
    4. 4
    Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    	ДанныеСтроки.Осталось = ДанныеСтроки.Поступление - СуммаСтроки;
    	Элемент.Колонки.Объем.ТекстПодвала = Товары.Итог("Объем");
    КонецПроцедуры

    Всё тот же Самоделкин. Обработка события при выводе строки.
    Догодайтесь, в чём изюминка этой процедуры?

    Запостил: Kopchuga, 12 Октября 2009

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

    • СуммаСтроки - глобальная переменная?
      Оформление строки не используется?
      Ответить
      • Про СуммуСтроки не знаю (писал со слов друга), скорее всего тоже косяк.
        Главная прелесть в том, что меняются данные строки и это событие возникает снова. Получается цикл, который грузит процессор на 50% всё время, пока открыта форма. :-)
        Ответить
    • показать все, что скрыто>Догодайтесь, в чём изюминка этой процедуры?
      в том, что на 1С что не пиши, а выходит говнокод?
      Ответить
      • Если у вас выходит говнокод на 1С, то вероятно и на других языках то же.
        Потому что говнокод - это продукт говнокодера, а не языка.
        Ответить
        • Не ссорьтесь, оба правы. Человек пишет на 1С => говнокодер => продукт его на любом языке - говнокод.
          Ответить
    • в том, что подвал рассчитывается столько раз, сколько строк на экране
      Ответить
      • Да нет, это всё мелочи по сравнению с тем, что процедура вызывается бесконечно по каждой строке.
        Ответить
    • однозначно к мемориз
      Ответить
    • Изюминка в отсутствие латинских символов
      Ответить
    • Конструкция "ДанныеСтроки.Осталось =" вызовет ошибку :
      "ОформлениеСтроки (RowAppearance)
      ДанныеСтроки (RowData)
      Использование:

      Только чтение. "

      Цитата стопроцентного ГовноКодера (он может обосрать любой язык) "Человек пишет на 1С => говнокодер => продукт его на любом языке - говнокод" -
      Ответить
      • Конструкция "ДанныеСтроки.Осталось =" вызовет ошибку :
        ДанныеСтроки (RowData)
        Только чтение. "

        Не вызовет. Из ДанныеСтроки=только чтение не следует ДанныеСтроки.КакоеТоСвойство=только чтение. Это вам не С++, где константность объекта влечет за собой невозможность изменять его свойства :)
        ДанныеСтроки = Блаблабла вызовет ошибку
        Ответить
      • Ну, или если проводить аналогии:
        const RowDataType * RowData;
        RowDataType * const RowData;
        RowData = something; // error
        RowData->Property = something; // ok
        Ответить

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