1Cv77. Исправление поведения множественного фильтра (МФ) типовых отчетов в части сохранения/восстановления настроек.




В большинстве российских типовых конфигураций для 1Сv7.7 (ТиС, ПУБ, Комплекс и др.) в отчетах используется множественный фильтр (МФ). Впервые он появился, более 10 лет назад, еще в ТиС 8.7, придя на смену МФ ТиС 8.6. С тех пор, аж до сего дня (24.03.2013) типовой механизм МФ содержит глюк связанный с восстановлением сохраненных настроек, хотя разработчики поют нам об обратном.

В большинстве российских типовых конфигураций для 1Сv7.7 (ТиС, ПУБ, Комплекс и др.) в отчетах используется множественный фильтр (МФ), такой как показан на 1 скрине. Впервые он появился, более 10 лет назад, еще в ТиС 8.7, придя на смену МФ ТиС 8.6 (скрин 2). С тех пор, аж до сего дня (24.03.2013) типовый механизм МФ содержит глюк связанный с восстановлением сохраненных настроек, хотя разработчики поют нам об обратном (скрин 3).

Переодически, на форумах посвященных 1С, поднимался вопрос: как полечить МФ?
Практически во всех этих ветках засветился один человек, выступавший под никами Tomba, Злопчинский, Чучундер. После его предложения, добавить в процедуру ВводНового() строчку:
глПриСменеСтрокиТаблицыМФ( 1, 0, Контекст);
вопрос сразу снимался.
Чтобы не постить постоянно, это «длинную» рекомендацию, CheBurator оформил ее в виде статьи, за которую ему плюсанули на данный момент 43 благодарных пользователя у которых все заработало.

К сожалению, у меня не заработало и я озаботившись проблемой, родил рекомендацию, как решить проблему востановления настроек МФ. В процесе тестирования работы МФ я обнаружил, что не всегда выбранные значения сохраняются в настройке. Подлечил и эту фичу.
Результаты лечения, были мной опубликованы 14.01.2007 на инфостарте в статье «ТиС: Не восстанавливается МФ в отчете — что делать? Часть 2».

Недавно обнаружил, что ещё один человек изобрел лисапед на эту тему, который опубликовал в виде разработки. Так как моей статьи уже на портале нет, то я накрапал эту «статью», как ответ на вопрос andrewks: «куда-уж проще-то?» в комментарий №2.


Вкратце, не вдаваясь в подробности «от чего, и почему», повторю свои рекомендации.
Исправления вносятся на примере отчета «ОстаткиТМЦ» из типовой конфигурации «Торговля и Склад», редакция 9.2, релиз 74.
Итак:
1. Чтобы сохраненные настройки МФ всегда востанавливались, необходимо в процедуру ВводНового() добавить строчку:
ТекСтрокаВТаблице = "";
2. Чтобы выбранные в МФ значения всегда сохранялись:
2.1. Добавляем в процедуру ОбработкаПодбора() после строки:
ТаблицаМФ.ФлВкл = 2;
строку:
глПриСменеСтрокиТаблицыМФ(1,ТекСтрокаВТаблице,Контекст);
(Внимание!!! Так как в ТиС 974 в конце процедуры ОбработкаПодбора() есть строка:
СписокЭлементовМФ.Выгрузить(ТаблицаМФ.СписокЭлементов);
то пункт 2.1 можно пропустить)
2.2. В процедуре ВыбратьПоФильтру() в самом конце, строку:
ОткрытьФорму("Обработка.ПодборОбъектов#",СписокПараметров);
заменяем на 2 строки:
ОткрытьФормуМодально("Обработка.ПодборОбъектов#",СписокПараметров);

глПриСменеСтрокиТаблицыМФ(1,ТекСтрокаВТаблице,Контекст);
2.3. В кнопки «Удалить» и «УдалитьВсе» (см. скрин №4), в поле формула, после вызова процедуры глРаботаСТаблицейМФ();
добавить
глПриСменеСтрокиТаблицыМФ(1,ТекСтрокаВТаблице,Контекст);
(Внимание!!! Для несведущих в конфигурировании. Эти две функции должны быть обязательно разделены знаком «;» — точка с запятой)


Итого в результате 4 простых правок мы имеем рабочий МФ в отчете «ОстаткиТМЦ», который можно скачать (хотя и необязательно) в прилагаемом к статье файле. Файл также содержит мою первоначальную статью «ТиС: Не восстанавливается МФ в отчете — что делать? Часть 2» в которой подробно расписано почему нужно вносить те или иные изменения. Также, чтобы интересующиеся могли сравнить мои рекомендации с «куда-уж проще-то?» рекомендациями andrewks //infostart.ru/community/profile/114356/, я включил и его текстовый файл.

зы: Прошу заметить, что мы изменяем только отчет (который может быть сохранен как внешний), и не затрагиваем другие объекты конфигурации, что упрощает процес обновления последней.

Благодарю за внимание.

7 Comments

  1. Поручик

    (0) Оно уже мало кому надо. Лет шесть назад, когда я ещё работал с ТиС, было актуально.

    Reply
  2. piloturs

    (1) если Вы персонально не работаете в ТиС, то это еще не значит, что это не актуально.

    фирма 1С поддерживает конфиги, пользователи на них еще работают.

    А фирмы переходят на «УТ», в том числе и из-за этого глюка, который «Нуралиев С.Г. и Ко» не удосужились исправить за лет этак 13.

    Reply
  3. CheBurator

    При открытии подбора модально — как будут вызываться и отображаться другие окна, вызываемые из модального подбора?

    Reply
  4. piloturs

    (3) я использовал обработку «ПодборОбъектов» для отбора по значениям реквизитов. Эти значения имели простой тип.

    Потому на фичу с подбором из модального режима не наступал.

    Действительно мой совет № 2.2. лучше не делать.

    тогда предлагаю самый «ленивый» вариант лечения МФ:

    1. В процедуру ВводНового() добавить обязательно

    ТекСтрокаВТаблице = «»;

    без этого никак.

    2. В процедуру ПриВыбореЗакладки(Номер,Значение) добавить

    _Панель = ?(Номер=1,Форма.ПанельИнструментов(1),Форма.ПанельИнструментов(0));

    сохранение будет возможно только с закладки «Основная».

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

    Reply
  5. piloturs

    Кстати проблему сохранения/восстановления настроек типовых отчетов, в которых используется для расшифровки таблиц, список значений, решает также обработка Мелёшина Дмитрия aka md «Мастер отчетов» (Выставьте кодировку Юникод в броузере, что бы не было кракозябров)

    Обработка позволяет аккумулировать часто используемые конфигурации отчетов в одном списке значений, тем более, что туда можно добавить все отчеты, имеющие кнопку «обновить».

    Внедрение: два чиха в глобальном модуле типовой конфигурации.

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

    Очень интересное решение. Рекомендую.

    Reply
  6. piloturs

    в дополнение к (4)

    есть измененная обработка «ПодборОбъектов». Подборы будут в ней работать и в модальном режиме.

    Reply
  7. ray-xp

    Спасибо, работает! Давно пользователи домогали с этим вопросом, но руки, как обычно, не доходили, были дела по-серьезнее. На счет актуальности — народу на 7-ке уйма работает, и говорить, что все съехали на 8.x преждевременно. У многих просто ресурсов не хватает на миграцию самописного специфического функционала на восьмерочные решения. Респект за открытость решения, человек Вы, как видно, не жадный до $m 🙂

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *