ГИБКИЕ ЗАКЛАДКИ ОТБОРА II

15.06.09

Разработка - Работа с интерфейсом

Развитие идеи статьи http://infostart.ru/profile/8196/articles/245/
Доработка механизма отбора общего журнала документов, позволяющая наглядно хранить историю отборов на закладках формы.
Для ТиС 9.2 и не только.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
-
.1198086333 22,25Kb
694 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой
Эта доработка общего журнала документов ("ЖурналОбщий.ФормаСписка") ТиС 9.2 позволяет использовать закладки формы для механизма отбора документов отличным от ЗакладкиОтбора() способом: закладки хранят историю отборов, разных по виду и значениям.

Как они работают:
- При установке нового отбора добавляется и перемещается на первую позицию новая закладка с заголовком-значением отбора.
- В случае если отбор ранее использовался и на форме есть его закладка, она становится текущей.
- При достижении определенного количества закладок, новые закладки добавляются за счет "выбываемых", которые "сворачиваются". Их можно открыть через последнюю закладку "Другие..."
- При переключении на выбранную закладку соответствующий отбор устанавливается автоматически.
- Для удаления закладок щелкнуть на закладку "Другие" и выбрать действие "Удалить закладки..."

Реализовано сохранение и установка текущих значений для каждой закладки о:
- текущем документе
- текущем интервале журнала
- текущей колонке (кроме колонок "Текст" без идентификатора)

Порядок использования в ТиС 9.2:
1. Текст файла вставить в модуль формы "ЖурналОбщий.ФормаСписка" между описаниями переменных модуля и блоком процедур и функций (или перед строкой "// ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ")
2. Переименовать штатные процедуры модуля:
ПриУстановкеБыстрогоОтбора() в ПриУстановкеБыстрогоОтбораТиС()
ПриЗакрытии() в ПриЗакрытииТиС()
3. По желанию. Задать количество видимых закладок и закладок всего (видимых и скрываемых)
здесь сделано:
_ЗАКЛАДОК_ВСЕГО	 	= 20;
_ЗАКЛАДОК_ВИДИМЫХ	= 7;



Доработка ориентирована на общий журнал ТиС 9.2, однако также может применяться и в любой другой конфигурации, т.к. вся обработка закладок идет уже после установки отбора, который в ТиС 9.2 отрабатывается в процедуре ПриУстановкеБыстрогоОтбора()

То есть, чтобы "заточить" закладки под свою конфигурацию, нужно немного изменить в ней эту аналогичную процедуру
Процедура ВашаПроцедураОбработкиОтбора()
 	// строку в начало:
	УстановитьПараметрыЗакладки();

	// далее операторы процедуры, установка отбора...

	// строки в конец:
	ДобавитьЗакладку();
	ПолучитьПараметрыЗакладки();
КонецПроцедуры


Остались реквизиты формы, отвечающие за отбор. Для удобства обращение к ним и установка их свойств и значений вынесено в отдельные ПолучитьРеквизитФормы() и УстановитьРеквизитФормы()

Изменения от 26.12.2007
Сохранение текущего интервала журнала для каждой из закладок по умолчанию отключено.
При смене интервала журнала (меню "Действия" - "Интервал") пользователю предлагается сохранить выбранный интервал:
"ДА" - текущий интервал сохраняется и восстанавливается при повторном выборе закладки,
"НЕТ" - при выборе закладки интервал устанавливается в соответствии с настройками, действующими на момент открытия журнала
"Отмена" - оставить настройки сохранения интервала без изменения.
Настройку реагирования на смену границ интервала можно сделать, изменив в модуле инициализацию переменных:
_МОНИК_НАЧ_ИНТЕРВАЛА	= 1;		// 0 или 1 мониторим смену пользователем начала интервала
_МОНИК_КОН_ИНТЕРВАЛА	= 0;		// 0 или 1 мониторим смену пользователем конца интервала

По умолчанию вопрос о сохранении интервала выдается только при смене начала интервала журнала.
Установка обеих переменных в 0 отключает сохранение интервала журнала вообще.

Успехов.

См. также

Работа с интерфейсом Пользователь 1С v7.7 1C77 Абонемент ($m)

Часто встречающаяся проблема: потерялось Окно сообщений. Обработка исправляет эту "проблему" одним нажатием кнопки. Для обычных пользователей. Не требует программирования. Достаточно запустить обработку и нажать кнопку "Выполнить".

5 стартмани

17.01.2025    757    2    CheBurator    13    

8

Работа с интерфейсом Логистика, склад и ТМЦ Системный администратор Программист Пользователь 1С v7.7 1С:Торговля и склад 7.7 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Решение для разработчика и конечного пользователя для работы с фотографиями номенклатуры: систематизация, хранение, отображение, а также выгрузка на Яндекс-Диск и FTP (кроме версии лайт). Поддерживаются графические форматы: bmp, jpg, gif, tiff, а также png - не поддерживаемый штатными средствами 1С. Выполнено без использования внешних компонент (кроме функции выгрузки на FTP). Поставляется как в виде пустой конфигурации с набором объектов и модулей для работы с фото, так и в виде обновления к 1С:Торговля и склад 7.7. Выполнено в двух версиях: "полная" и "лайт".

2500 руб.

18.10.2022    6528    1    45    

4

Инструментарий разработчика Работа с интерфейсом Программист 1С v7.7 Абонемент ($m)

Обработка с фрагментами кода для программного использования набора цветов из коллекции WebЦвета 1с версии 8+ в 1с версии 77. Требуется предварительное подключение сторонней библиотеки FormEх. Будет полезно программистам 1с 77, 1с 8. Да и вообще при программировании на любом языке при потребности использовать коллекцию цветов WebЦвета.

1 стартмани

30.03.2022    5508    2    igor7777    4    

7

Работа с интерфейсом Программист 1С v7.7 1C77 Бесплатно (free)

Публикация имеет цель обратить внимание на возможность улучшения интерфейса.

15.12.2021    5549    87    Cерый    15    

10

Розничная торговля Рабочее место Пользователь 1С v7.7 1С v8.3 1C:Бухгалтерия 1C77 Рестораны, кафе и фаст-фуд Россия Абонемент ($m)

Рабочее РМК на 7.7. Можно работать с принтером чеков, можно с кассой АТОЛ, а можно и одновременно. В качестве бэк используется стандартная Розница 2.2.

1 стартмани

08.01.2020    10156    8    toll    2    

5

Работа с интерфейсом Программист 1С v7.7 1C77 Абонемент ($m)

При программировании на платформе V7 достаточно часто возникает задача создать несколько табличных частей документа (или справочника). Традиционно эта задача имеет несколько решений..

1 стартмани

01.05.2018    23713    27    Gkmy    11    

5

Рабочее место Учет рабочего времени Кадровый учет Бухгалтер Руководитель проекта 1С v7.7 1C77 Управленческий учет Абонемент ($m)

Данное решение предназначено для упрощенного варианта электронного учёта рабочего времени сотрудников предприятия. Печать титульного листа и таблицы табеля учёта рабочего времени. Печать бейджиков сотрудников. Автоматическая регистрация и расчет рабочего времени по штрих-коду сотрудника. Загрузка сотрудников из справочника. Формирование штрих-кода сотрудника. Совместимо с любой конфигурацией 1С:7.7.

5 стартмани

13.12.2017    31486    18    etmarket    5    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. CheBurator 3230 19.12.07 22:02 Сейчас в теме
Зачетно!!! +5
есть неувязочка маленькая.
внедрил код (колво закладок видимых = 5)
открываю ПЕРВЫЙ РАЗ ЖУРНАЛ - вижу одну закладку с наименованием "1"
потом, когда закладки множатся - она сдвигается но остается "1"
после того, как уходит в "другие" - в списке других фигурирует как "6".
При выборе ее ("6") из списка других - образуется закладка без наименования.
сие имхо навскидку связано с тем, что первый раз открывалось со штатным "бscnhsq отбор = отсутсвует"
2. CheBurator 3230 19.12.07 23:02 Сейчас в теме
Оперативно полечил вот так:
Код
   ИначеЕсли ТЗпоЗакладкам.НайтиЗначение(ЧтоИщем,ТекНомерСтроки,"Индекс")   = 0 Тогда
      // новая закладка 
      
      ТЗпоЗакладкам.НоваяСтрока(1);
      ТЗпоЗакладкам.Отбор_Значение      = ТекЗначОтбора;
      ТЗпоЗакладкам.Отбор_Имя            = ТекИмяОтбора;
      Попытка
         ТЗпоЗакладкам.Отбор_НомерСтроки      = ВидОтбора.ТекущаяСтрока();
      Исключение
      КонецПопытки;
      Попытка
         ТЗпоЗакладкам.Отбор_Представление   = ЗначениеВВидеСтроки;
//ВСТАВКА НАЧАЛО
         Если  ПустоеЗначение(СокрЛП(ТЗпоЗакладкам.Отбор_Представление))=1
         Тогда ТЗпоЗакладкам.Отбор_Представление = "Полный";
         КонецЕсли;   
//ВСТАВКА КОНЕЦ
      Исключение
         ТЗпоЗакладкам.Отбор_Представление   = Строка(ТекЗначОтбора);
      КонецПопытки;   
Показать полностью



Shaman100M; +1 Ответить
12. Shaman100M 1153 21.12.07 09:17 Сейчас в теме
:) там в (2) в нижнем левом углу переданы права.
8. Shaman100M 1153 20.12.07 09:18 Сейчас в теме
(1) + (2) действительно, пустую лучше не оставлять, - вылезает значение-номер закладки
(3) есть недоделанная формочка, с кучей кнопок, возможно будет позднее. Пока ее оставил, соблазнившись на простоту этого варианта.... А вот чистка сделана автоматом... Как только количество отборов превышает _ЗАКЛАДОК_ВСЕГО, последний отбор удаляется. Т.е. можно этот параметр уменьшить.
(5) Уникальный идентификатор для сохранения - можно, тем более, что это уже делал http://infostart.ru/profile/8196/projects/861/

(6) Временно скрывать колонку отбора, - прикольно. :)
(7) будем проверять.

Спасибо, кладезь!
3. CheBurator 3230 19.12.07 23:03 Сейчас в теме
еще бы вместо штатного списка значений прикрутить формочку, где можно почистить историю отборов если их будет много....
4. CheBurator 3230 19.12.07 23:27 Сейчас в теме
е! прикручу к своему монитору!!!
+10, однозначно!!!!
5. CheBurator 3230 20.12.07 00:00 Сейчас в теме
+ сохранеямое значение настроек хорошо бы именовать не просто "_ГИБКИКЕ_..." а с неким уник.префиксом (имя списка журнала или еще что...)
Shaman100M; +1 Ответить
6. CheBurator 3230 20.12.07 00:11 Сейчас в теме
+ еще бы хорошо - выбрал я например закладку с отбором Контрагент - отбор установился - а почему бы не сделать невидимой колонку "контрагент"...? это в порядке дежурного бреда...
7. CheBurator 3230 20.12.07 05:02 Сейчас в теме
мелкая фича все же нашлась - иногда по логике "Полный" должен вставать в первую позицию - а не встает!
9. Shaman100M 1153 20.12.07 10:13 Сейчас в теме
Обновление.
1. Для состояния "Отбор отсутствует" закладка без названия --> закладка "*". Попутно решены проблемы с доступностью кнопки "Значение".
2. Имя сохранения закладок между сеансами открытия формы завязано на ее уникальный идентификатор.
10. cs25 81 20.12.07 10:22 Сейчас в теме
11. CheBurator 3230 20.12.07 18:51 Сейчас в теме
Если ПустоеЗначение(СокрЛП(ТЗпоЗакладкам.Отбор_Представление)) = 1 Тогда
ТЗпоЗакладкам.Отбор_Представление = "*";
КонецЕсли;

...заимствование до степени схожести!!! где мой копирайт????? ;-)
13. Shaman100M 1153 21.12.07 11:55 Сейчас в теме
Обновление, касается оформления кода: обращение к реквизитам формы вынесено в отдельные процедуры.
17. CheBurator 3230 25.12.07 16:45 Сейчас в теме
Найдена офигенная багофича к релизу (13)
имеем открытый журнал, активная закладка - третья.
Закрываем журнал.
Открываем журнал.
Какая закладка активная?
19. Shaman100M 1153 25.12.07 18:01 Сейчас в теме
(17) В (16) релизе третяя.
(18) А не запутаются с одновременным выбором и пометками? Сомневающиеся не только выберут, но и пометят вдобавок...
20. CheBurator 3230 25.12.07 18:29 Сейчас в теме
(19) согласен.. это ж обизянки... ;-)
14. CheBurator 3230 22.12.07 01:16 Сейчас в теме
Отмечаю исключительную полезность разработки. Все мои менеджеры отметили повышение удобства (оперативности!) работы. Несколько раз задавали вопрос "как удалить закладку" - просьба автору подумать над этим, но имхо, это не особо актуально
15. Shaman100M 1153 24.12.07 13:45 Сейчас в теме
(14) Сделаем, возможно, через закладку "Другие" или через внешнюю обработку.
16. Shaman100M 1153 24.12.07 16:31 Сейчас в теме
Обновление.
- добавлена функция удаления закладок
- исправлена вторичная ошибка от 21.12, - при отборе по видам документов некорректно отображалось название закладки.
18. CheBurator 3230 25.12.07 16:48 Сейчас в теме
Да, все таки есть, есть шоры на глазах! ;-)
что мешает на кнопку ОК повесить двойную функцию?
1. показываем СЗ с пометками
2. если есть ВКЛ пометки и нажата ОК - удаляем те, что ВКЛ, иначе - штатно...
21. CheBurator 3230 25.12.07 18:31 Сейчас в теме
Ваще-то у меня манагеры просили удалять видимые закладки... типа как я себе представляю: удаляем текущую закладку - старые из стека не подтягиваются... а ну их в зпс!!! ПУСТЬ БУДЕТ КАК ЕСТЬ СЕЙЧАС
22. CheBurator 3230 25.12.07 22:20 Сейчас в теме
А вот какая фича действительно нужна - где тов СЗ для закладок хранить интервал видимости журнала (по крайней мере его верхнюю границу) - а то надоело переключаясь по закладкам все время еще период перевыбирать... - это будет ПРАВИЛЬНАЯ ФИЧА!!!
23. Shaman100M 1153 26.12.07 12:04 Сейчас в теме
(22) Имхо, сделаю так: по-умолчанию сохранение интервала будет отключено, он устанавливается в соответствии с настройками 1с. При смене интервала на текущей закладке (через панель инструментов или через "Действия") пользователю будет предложен режим сохранения интервала только для текущей закладки.
24. Shaman100M 1153 26.12.07 18:23 Сейчас в теме
Обновление.
- Доработка правильной фичи, - сохранения интервала журнала (см описание)
- Текущие значения (интервал, документ, колонка) не сохранялись при смене отбора и закрытии журнала, - только при смене закладки. Багофича исправлена.
25. delete009 5 29.05.08 12:40 Сейчас в теме
Спасибо всё получилось и даже с тем что у меня есть отбор по автору на документ т.е. могу поставить дакумент и отсортировать его по автору
26. CheBurator 3230 20.10.08 11:51 Сейчас в теме
Еще раз отмечу ОФИГЕННО-НЕСОМНЕНУЮ ПОЛЕЗНОСТЬ данной разработки. И мои манагеры и я уже не мыслим себе жизни без данного дивайса.
MUST HAVE!
27. gator 10.02.09 18:19 Сейчас в теме
Рулез, прикрутил себе, давно, еще до редизайна инфостарта,
не мыслю без этих закладок...
вот тут в усн 77 поработал, так там даже отбора штатного нет - обплевался...

искал перенумераторы, и тут заметил... раньше учетки небыло и и комменты
не принимали... и сейчас плюсануть не могу )
Немогу не плюсануть, но не могу )
28. Shaman100M 1153 13.02.09 17:55 Сейчас в теме
Ну, не плюсом, так добрым комментом. Спасибо.
29. Ёпрст 1068 18.03.09 16:08 Сейчас в теме
Имхо, первой закладкой нужно сделать вызов меню для управления всеми остальными... чтоб удалить их и т.д..
30. Shaman100M 1153 18.03.09 17:10 Сейчас в теме
(29) В смысле, добавить закладку без действия установки отбора с меню? так всё меню-то по идее из одной команды - удаление закладок. Можно ее так и назвать - удаление.

Ну, еще какие действия можно придумать:
поменять порядок закладок; сделать сохранение наборов закладок... Только... будет ли это востребовано? Менеджерам не "лениво" будет пользоваться таким большим ))) инструментом?
31. Ёпрст 1068 18.03.09 17:30 Сейчас в теме
(30) ну да..управление всеми закладками вынести первой, чтоб была всегда...
По-уму, нужно еще обработку впихнуть, с более гибкими настройками закладок..
кнопочки там и т.д и т.п...
:)

32. Shaman100M 1153 18.03.09 18:10 Сейчас в теме
(31) так да, такой функционал только обработкой.
33. CheBurator 3230 13.08.13 13:12 Сейчас в теме
Неудобство: работает отвратно при открытии общего журнала с позиционированием на нужный документ из отчета сруктуры подчиненности...
Оставьте свое сообщение