7.7 Обновление и настройка отчетов

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем abaz, 16 май 2007.

  1. TopicStarter Overlay
    abaz
    Offline

    abaz Опытный в 1С

    Регистрация:
    13 май 2007
    Сообщения:
    96
    Симпатии:
    0
    Баллы:
    26
    Кто-нибудь знает как создаются кнопки "Обновить" и "Настройка"? (наподобие тех, что в стандартных отчетах)
    Интересует именно техническая сторона :unsure:
  2. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Посмотри в Конфигураторе любой отчет, где эти кнопки присутствуют. Запусти поиск по слову "кнопки" (или так, как называется секция, к которой указанные кнопки относятся) - дальше, надеюсь, будет понятно.
  3. TopicStarter Overlay
    abaz
    Offline

    abaz Опытный в 1С

    Регистрация:
    13 май 2007
    Сообщения:
    96
    Симпатии:
    0
    Баллы:
    26
    Vlad, в том-то и все дело, что в стандартных модулях очень закручено это все происходит. Я хотел бы услышать несколько дельных советов по этому поводу от того, кто в этом разобрался (второй день сижу - не могу понять как это работает) :unsure:
  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Во первых читаем про таблицы 2-717, еще Форма. Параметр 2-683.
    Очень удобный инструмент список значений.
    Теперь сам механизм....
    При формировании таблицы формируется еще и расшифровка ячеек (в стандартных отчетах - список значений глРасшифровка [вроде так называется, сейчас нет под рукой]).
    В этот список заносятся начальные данные этого или других отчетов.

    По клику по ячейке запускается процедура ОбработкаЯчейкиТаблицы, в которую передается заполненный ранее список значений (расшифровка). Если в модуле нет такой процедуры, запускается одноименная из глоб.модуля (это в основном и состовляет трудность разобраться).

    В этой процедуре просматривается список значений, определяется дальнейшее действие, например открыть этот же отчет для обновления. ему в качестве параметра передаются данные из расшифровки.

    Далее открывается отчет, если передан параметр, то он обрабатывается (заполняются начальные данные), и, при необходимости, сразу формируется.

    Зная это, уже можно проследить действи стандартных отчетов... дерзай.
  5. TopicStarter Overlay
    abaz
    Offline

    abaz Опытный в 1С

    Регистрация:
    13 май 2007
    Сообщения:
    96
    Симпатии:
    0
    Баллы:
    26
    Благодарю за помощь, WaRDeR.
    Нужно будет поразмышлять над этим всем :unsure:
  6. X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    428
    Симпатии:
    3
    Баллы:
    29
    Посмотри вот это. Мне кажется намного проще. Хотя может и не столь изящно и совершенно B)

    Вложения:

  7. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Интересно, но здесь нет возможности добавить другие кнопки, а зачастую очень хочется :). И более изящный вариант представлен в http://www.1c-pro.ru/index.php?showtopic=4...amp;#entry10927 (и не надо копаться в самом отчете)
  8. X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    428
    Симпатии:
    3
    Баллы:
    29
    Не понял, что значит "нет возможности добавить другие кнопки"
  9. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Ну не совсем нет возможности, но нужно будет переработать.
    Если добавить новую кнопку, то
    Будет срабатывать каждый раз на любую кнопку.
    Предложение:
    В расшифровку кнопки ставим строку, например "Обновить", теперь:

    Процедура ОбработкаЯчейкиТаблицы(Значение,ФСО,Конт,Адрес)
    ФСО = 0;
    Если Значение = "Обновить" Тогда
    Обновить = 1;
    Таб.Очистить();
    Сформировать()
    иначеЕсли Значение = "<<ЕслиЕстьЕщеКнопки>>" Тогда
    ..........
    иначе
    ФСО = 1;
    КонецЕсли
    КонецПроцедуры
  10. X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    428
    Симпатии:
    3
    Баллы:
    29
    А, тепрь понял. Непонятно только, зачем ФСО трогаешь...
  11. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    В данном случае ФСО - флаг стандартной обработки.
    Если мы сами делаем обработку, то устанавливаем ФСО = 0; (изначально так предполагается)

    Но если ни одно из условий не выпоняется, тогда ФСО = 1; и само предприятие выполнит обработку по умолчанию:
    Если расшифровка справочник или документ - то откроет, если строка - выдаст сообщение со строкой и т.д. (эксперементируй, только расшифровки раставь, отчет еще приятнее будет, все хвалить начнут :) )
  12. X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    428
    Симпатии:
    3
    Баллы:
    29
    Понятно:) это правильно, конечно, но там, где у меня кнопки находятся все равно не никакой расшифровки. Расшифровки есть только в строках отчета(документы, эл. справочника и т.д.)

Поделиться этой страницей