IE 2017

[РЕШЕНИЕ ПРОБЛЕМ] ТиС: Не восстанавливается множественный фильтр - что делать?

Программирование - Практика программирования

В типовой ТиС 7.7 (комплексной) есть хороший инструмент - множественный фильтр (МФ). Все бы хорошо, только набранный МФ и сохраненный по кнопке "Сохранить настройку" при следующем запуске отчета и попытке прочитать набор МФ по кнопке "Восстановить настройку" - не работает...

Что делать? Ответ простой - лечить!
А как лечить? Ответ простой - одна строчка и все тип-топ!
В типовой ТиС 7.7 (комплексной) есть хороший инструмент - множественный фильтр (МФ). Все бы хорошо, только набранный МФ и сохраненный по кнопке "Сохранить настройку" при следующем запуске отчета и попытке прочитать набор МФ по кнопке "Восстановить настройку" - не работает... Работает только если ВКЛ галка "Использовать при открытии" - что не очень удобно... для разных условий есть свои наборы МФ, которые ... елы-палы... не восстанавливаются...
Лично меня это не напрягало, пока на Т1С кто-то чуть не плача просил помощи ;-) Тем более что и свои манагеры регулярно жаловались. Пришлось "напрячься".
Рассусоливать дальше не буду (на самом деле МФ восстанавливается, но не показывается) - лечим так: в нужных нам отчетах, которые используют МФ находим код
//*******************************************************
// Предопределенная процедура.
Процедура ВводНового()
// эта предопределенная процедура выполняется при восстановлении настройки
ПерерисовкаНазванийЗакладок();
	УправлениеДиалогом();       
	ТаблицаМФ.ВыводитьПиктограммы("ФлВкл");
КонецПроцедуры // ВводНового()

и превращаем в такой код
//****************************************************
// Предопределенная процедура.
Процедура ВводНового()
// эта предопределенная процедура выполняется при восстановлении настройки
ПерерисовкаНазванийЗакладок();
	УправлениеДиалогом();       
	ТаблицаМФ.ВыводитьПиктограммы("ФлВкл");
	глПриСменеСтрокиТаблицыМФ( 1, 0, Контекст); //ЗДЕСЬ СОБАКА ПОРЫЛАСЬ!
КонецПроцедуры // ВводНового()

Все.
Пользуйтесь на здоровье и плюсуйте рейтинг.


См. также

Комментарии
1. budeanov (budeanov) 22.09.06 15:03 Сейчас в теме
2. Сhe Burashka (CheBurator) 02.02.07 07:23 Сейчас в теме
вот здесь более детальное исследование проблемы, в т.ч с указанием ряда моментов, которые были в моей статье пропущены или не рассмотрены вовсе...
http://infostart.ru/articles/143/?ref=174
ineoosaki; +1 Ответить
3. Вадим 1С911.BY (Вадимко) 190 29.10.08 18:12 Сейчас в теме
Не работает (кстати) :)
Вот там где ряд моментов работает имхо
4. Сhe Burashka (CheBurator) 29.10.08 19:26 Сейчас в теме
именно тот момент, который описан в моей статье - вроде работает...
проверю, еще раз...
5. Аркадий Кучер (Abadonna) 3687 29.10.08 20:23 Сейчас в теме
(3,4) Если сохранение вызывать, когда текущая закладка номер 1 (Основная) - все сохраняется!
Если Закладка номер 2 (Фильтр) - не сохраняется
6. Аркадий Кучер (Abadonna) 3687 29.10.08 21:01 Сейчас в теме
Изменения фильтра записываются только при смене закладки и когда выбрана закладка 1
Код
Процедура ПриВыбореЗакладки(Номер,Значение)   
   // закладки
    Если Номер=1 Тогда
       глПриСменеСтрокиТаблицыМФ(1,ТекСтрокаВТаблице,Контекст); // записываем изменения если они были
    КонецЕсли;      
   УправлениеДиалогом();
   ПерерисовкаНазванийЗакладок();
   
КонецПроцедуры   // ПриВыбореЗакладки
Показать полностью

Поэтому, если нажать "Сохранить настройку" не переключаясь из закладки МФ, ничего не сохраняется.
С формексом проблема решается так:
Код
Процедура ПриОтжатииЛевойКнопки(Сост,X,Y,ФСО);  
   Если Y<0 Тогда // нажали где-то в неклиентской области,
                              // в т.ч. кнопку "Сохранить настройки"
      глПриСменеСтрокиТаблицыМФ(1,ТекСтрокаВТаблице,Контекст); 
               //принудительно запомнили
   КонецЕсли;
КонецПроцедуры
Показать полностью
7. Аркадий Кучер (Abadonna) 3687 29.10.08 21:06 Сейчас в теме
+(5,6) В общем, Чебурашкино + добавление из (6) с помошью Formex - гарантия 100% (проверил)
Чебурашка, с тебя 5 бутылок пива, потому что я вместо 24.00 ложусь в 1.00 из-за тебя ;)))))
8. Сhe Burashka (CheBurator) 29.10.08 23:24 Сейчас в теме
(7) нивапрос! будешь проходить мимо - стучись! дернем пивчанского!
у мну сейчас припоминаю, че-то там такое было... я у себя даже вроде поправил эписанное - безо всякого формекса.. или не поправил...? хз.. надо глянуть...
9. Вадим 1С911.BY (Вадимко) 190 06.11.08 15:39 Сейчас в теме
Руки выпрями, а то наклонируешь таких же чебурашек...
Интересно... у всех 41 человек которые плюсанули заработало? :)
Бетамегатестеры елы-палы :)
10. Сhe Burashka (CheBurator) 06.11.08 17:43 Сейчас в теме
(9) видимо, да, заработало...
в отличие от некоторых... ;-)
кто-то должен делать такую работу.. а то богам, на Олимпе, до наших земных дел времени нет... так Олимпийцы и вымерли...
11. Аркадий Кучер (Abadonna) 3687 06.11.08 17:53 Сейчас в теме
(9) Не, он у них действительно работал, при условии, что они сначала ПЕРЕКЛЮЧАЛИ закладку на Основную, а потом сохраняли;) (6).
У меня ж привычка сохранять там, где находишься, вот и пришлось исследовать вопрос
12. ineoosaki (ineoosaki) 04.06.09 18:37 Сейчас в теме
Вадимко прав - так, как предлагает Сhe Burashka, МФ восстанавливается очень криво.
За подробностями идем сюда:
http://infostart.ru/blogs/143/
в конце статьи подробно расписано, что получается если добавить строчку
глПриСменеСтрокиТаблицыМФ( 1, 0, Контекст); //ЗДЕСЬ СОБАКА ПОРЫЛАСЬ!
в процедуру ВводНового(), как предлагает Сhe.

===========================================================
ЕДИНСТВЕННО ПРАВИЛЬНОЕ РЕШЕНИЕ ПРОБЛЕМЫ С ВОССТАНОВЛЕНИЕМ МФ -
это перенос строчки кода
ТекСтрокаВТаблице = "";
из тела модуля в процедуру ВводНового().
(с) ineoosaki, 2007г
===========================================================

и накуй здесь вообще формекс...
13. chebur (CheBurator) 04.06.09 18:57 Сейчас в теме
(12) давайте не нагнетать обстановку! в некоторых моментах восстанавливается правильно! ;-) (а не очень криво) И читай второй коммент к этой статье - там все написано.. читатель, блин ;-)
14. ineoosaki (ineoosaki) 04.06.09 19:19 Сейчас в теме
нет уж, если в некоторых моментах, МФ восстанавливается правильно, а в некоторых - ОЧЕНЬ КРИВО, то решение мягко говоря кривое... с точки зрения пользователя...
А вообще - не было бы твоей статьи, то и моей бы не было...
Одно дело делаем ;)
15. chebur (CheBurator) 04.06.09 19:31 Сейчас в теме
Оставьте свое сообщение