v8 Телепат 0.4.7.1 - консоль ПОЛЬЗОВАТЕЛЯ. Скажи "Нет!" громоздким интерфейсам. Не шутка! [обновлено 03.12.2013]

Опубликовал Александр Медведев (anig99) в раздел Программирование - Работа с интерфейсом

Данная обработка позволяет выполнять различные действия набирая команды с помощью клавиатуры. Есть версии для 8.1, 8.2 (обычные и управляемые формы)
Обновлено до Версии 0.4.7 Добавлена работа с дополнительными внешними отчетами и обработками, поиск по представлению документы, избранное, журналы, полнотекстовый поиск 0.4.7.1 Исправлена ошибка при первом сохранении Избранное.

Хотелось бы узнать мнение пользователей об этой обработке. Что нравится, что не нравится, что неудобно, что удобно...

 0.4.7.1 Исправлена ошибка, подробности в комментариях к публикации

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

-Починен поиск по представлению
-Добавлен вызов полнотекстового поиска в список альтернативных действий, если после ввода текста ни одна команда не будет найдена
-Добавлена генерация команд открытия журналов документов

Новое в версии 0.4:

- Добавлены функции, которые работают только для стандартных конфигураций или конфигураций с БСП в неуправлямом приложении
  - добавлена возможность открытия дополнительных (внешних) отчетов и обработок;
  - добавлена панель Избранное (имя настройки для хранения "Избранное")
  - добавлена кнопка в контекстное меню "Добавить в избранное", работает для списка "История"
  - добавление кнопка в контекстное меню "Удалить из избранного", работает для списка "Избранное"

- Добавлена возможность поиска по представлению: если после ввода текста ни одна команда не будет найдена, то будет предложено найти документ по представлению (взято из http://infostart.ru/public/19191/ )

- Добавлена новая вкладка "Информация", куда выводится базовая информация о компьютере, необходимая администраторам.

В версии 0.3.3 для 8.2 исправлена ошибка, которая не давала запускать обработку. Спасибо AER.

Версия 0.3.3: добавлена работа с задачами и бизнес-процессами, добавлены новый прочие команды, добавлена проверка прав, исправлен поиск по номеру/коду. Из кода убраны повторы, код версий 8.1/8.2 и управляемых форм максимально сближены. В связи с изменениями кода возможны ошибки в тонком клиенте.

Версия 0.2.9: добавлена функция "Сочетания клавиш" - для команды можно назначить сочетание клавиш для быстрого вызова.

Версия 0.2.7: исправлен баг при отказе в выборе из списка документов или элементов справочников

Версия 0.2.6: исправлен баг при добавлении новой команды

 

ИСПОЛЬЗОВАНИЕ

В стандартный список действий входит:
  • открытие отчетов
  • открытие обработок
  • открытие списка документов
  • открытие списка справочников
  • создание новых документов
  • создание новых элементов справочников
  • открытие документа по коду
  • открытие элементы справочника по коду или наименованию.

Дополнительные команды:

  • смена интерфейса
  • заблокировать сеанс 1с
  • выход из 1с
  • перезагрузить 1с
  • создать табличный/текстовый документ
  • вызов меню Файл - Новый...
  • вызов меню Файл - Открыть...
  • открыть блокнот
  • запуск калькулятора 1с/Windows
  • запуск проводника
  • запуск приложения (аналог Выполнить...)
  • найти файлы

 

 

 

 

Список команд устанавливается в настройках.

Команды вводятся в поле. При этом достаточно вводить части слов команды в любом порядке. Например, есть команда «Список Реализация товаров и услуг», которая открывает список документов Реализация товаров и услуг. Если ввести в поле «Реал спис», то на выбор будет предложено выполнить команды, которые содержат эти слова, в том числе и «Открыть список Реализация товаров и услуг». Поиск команд начинается после нажатия Enter, F4 или стрелки «Вниз». Некоторые команды, могут иметь сочетания клавиш для быстрого вызова.

 

 

Под полем ввода отображается история выполнения команд. Если нажать на строчку из истории выполнения левой кнопкой мыши два раза, то команда выполнится ещё раз.

 

При открытии документов или элементов справочников дополнительно запрашивается часть кода или наименования.

После этого выводится список подходящих элементов. Часть кода или наименования можно сразу ввести в строку команды.

 

Для этого используется символ дополнительного параметра (по умолчанию «/»). Таким образом, для открытия Контрагента с наименованием «Магазин Ясенево» достаточно ввести «Контрагент откр /ясен».

Скачать файлы

Наименование Файл Версия Размер
Телепат.epf
.epf 103,79Kb
21.02.13
454
.epf 103,79Kb 454 Скачать
Телепат. Версия 0.4.7.1
.epf 140,03Kb
03.12.13
75
.epf 140,03Kb 75 Скачать
Телепат82_.epf
.epf 153,41Kb
21.02.13
235
.epf 153,41Kb 235 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Роман Осадченко (cleaner_it) 208 01.08.11 05:13 Сейчас в теме
2. Александр Рытов (Арчибальд) 2653 01.08.11 09:18 Сейчас в теме
3. noprogrammer (noprogrammer) 01.08.11 09:55 Сейчас в теме
К сожалению ошибка на ошибке....

В модуле формы...
Процедура СписокКомандПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
	Если Не ЗначениеЗаполнено(ДанныеСтроки.Картинка) Тогда Возврат; КонецЕсли; //+++
	ОформлениеСтроки.Ячейки.Команда.УстановитьКартинку(БиблиотекаКартинок[ДанныеСтроки.Картинка]);
КонецПроцедуры
...Показать Скрыть


без проверки (//+++) возникает ошибка при попытке добавить свою команду, так как нету (не нашел возможности добавлять свои иконки
то строка иконок всегда пустая) - та же самая ошибка в модуле объекта в процедуре "ПодобратьКоманду(....)"
ТекСписокПодбораКоманд.Добавить(стрКоманда.ВыполняемыйКод,стрКоманда.Команда,,БиблиотекаКартинок[стрКоманда.Картинка]);


БиблиотекаКартинок[стрКоманда.Картинка] - всегда будет вызывать ошибку т.к. "стрКоманда.Картинка" всегда пустая (при добавлении новой команды)
artbear; Арчибальд; anig99; +3 Ответить 1
4. noprogrammer (noprogrammer) 01.08.11 09:57 Сейчас в теме
+3 следовательно в коде

Иначе //иначе заполним его подходящими строками из общего списка команд.

Модуль
ТекСписокПодбораКоманд.Добавить(стрКоманда.ВыполняемыйКод,стрКоманда.Команда,,БиблиотекаКартинок[стрКоманда.Картинка]);

меняем на
				Если ЗначениеЗаполнено(стрКоманда.Картинка) Тогда
					ТекСписокПодбораКоманд.Добавить(стрКоманда.ВыполняемыйКод,стрКоманда.Команда,,БиблиотекаКартинок[стрКоманда.Картинка]);
				Иначе
					ТекСписокПодбораКоманд.Добавить(стрКоманда.ВыполняемыйКод,стрКоманда.Команда);
				КонецЕсли;				
...Показать Скрыть
5. Александр Медведев (anig99) 2479 01.08.11 10:21 Сейчас в теме
(3) а ещё ошибки? Пока - это одна ошибка. Исправил чуть проще

В модуле формы "Настройки" изменил

Если ДанныеСтроки.Картинка = "" Тогда
ДанныеСтроки.Картинка = "ВыполнитьЗадачу";
КонецЕсли;
ОформлениеСтроки.Ячейки.Команда.УстановитьКартинку(БиблиотекаКартинок[ДанныеСтроки.Картинка]);
6. noprogrammer (noprogrammer) 01.08.11 10:31 Сейчас в теме
(5) >>а ещё ошибки? Пока - это одна ошибка.
одна то может и одна, вот только из-за нее пользоваться (настраивать под себя обработку) невозможно :)
т.е. для обычного пользователя в таком виде она просто является не рабочей.
7. Александр Медведев (anig99) 2479 01.08.11 10:48 Сейчас в теме
(6) не для пользователя, а для программиста 1с, т.к. стандартные команды создаются автоматически, а написать новую команду может только программист. Обработка и писалась с уклоном - "запустил и пользуйся", а добавлять свои команды - это рюшечка, хотя и с огромным потенциалом.
8. Lara.Builova 01.08.11 11:15 Сейчас в теме
(7) Рюшечка, говоришь... Ну вот посмотри, это второе открытие. Правда пришлось конвертнуть под 8.2, может поэтому закрыть можно только вместе с программой :D Ни тебе кнопок закрыть, развернуть, низ тоже не вижу, короче не взлетит в таком виде.
Прикрепленные файлы:
9. Александр Медведев (anig99) 2479 01.08.11 11:29 Сейчас в теме
(8) а справку почитать? Окно прекрасно закрывается и открепляется... Правая кнопка мыши - поэкспериментируйте.
10. noprogrammer (noprogrammer) 01.08.11 11:30 Сейчас в теме
(8) а нажать правой кнопкой мышки? ;)
("Не такая уж и большая, мужчины, умеющие хорошо программировать не меньшая редкость.") :D
11. Александр Медведев (anig99) 2479 01.08.11 11:33 Сейчас в теме
(8) да...кстати, если скачать версию для 8.2, а не тупо конвертировать, то там будет не только обычная, но и управляемая форма.
12. Lara.Builova 01.08.11 11:35 Сейчас в теме
(9) Ах "вот оно чо, михалыч", лапидарно, да :D
13. Lara.Builova 01.08.11 11:36 Сейчас в теме
(11) Да вроде файл единственный выложен, его и скачала.
14. Александр Медведев (anig99) 2479 01.08.11 11:39 Сейчас в теме
15. Lara.Builova 01.08.11 11:45 Сейчас в теме
(14) аааааа! я на левую картинку "скачать" жала, правую то и не заметила, давно тут ничего не скачивала )))))
Плюс пошла ставить :)
16. Lara.Builova 01.08.11 11:52 Сейчас в теме
(10) Это тут при чем? Программировать и в чужих интерфесах разбираться - разные вещи :) Хотя меня уже больше волнует почему WBS в Microsoft Project 2010 такой убогий :(
17. 1 1 (Абыр) 39 01.08.11 15:08 Сейчас в теме
Еще небольшая ошибка: если в списке подходящих объектов передумали что-то открывать и нажали "Отмена", то
{Форма.ВводКоманд.Форма(196)}: Значение не является значением объектного типа (Значение)
		Ссылка = СписокНаВыбор.ВыбратьЭлемент().Значение;


Это в версии под 8.2 если что.
18. Александр Медведев (anig99) 2479 01.08.11 19:30 Сейчас в теме
(17) сегодня чуть попозже исправлю.
19. Андрей Михайлов (Svetozor) 131 03.08.11 12:31 Сейчас в теме
Не знаю как реализация (не смотрел), но идея супер.
20. temonf temonf (temonf) 04.08.11 14:17 Сейчас в теме
классная идея и реализация. спасибо. надеюсь будет развиваться.
21. Брест Беларусь (zhleonid8) 15.08.11 14:12 Сейчас в теме
+ понравилось работает экономит время
22. Александр Медведев (anig99) 2479 15.08.11 14:16 Сейчас в теме
23. Олег Каратаев (Kyrales) 117 17.08.11 05:41 Сейчас в теме
А где же открытие задач и бизнес-процессов?
24. Александр Медведев (anig99) 2479 17.08.11 06:43 Сейчас в теме
(23) о! точно! будет в следующей версии.
25. Александр Медведев (anig99) 2479 17.08.11 07:10 Сейчас в теме
(23) но никто не мешает дописать ЛЮБЫЕ другие команды и их названия без конфигуратора.
26. г. Казань Рустем Гумеров (Rustig) 775 27.08.11 23:18 Сейчас в теме
идея симпатичная!
только вот цели и клиенты не ясны: для чего и для кого такая реализация?

может быть где-то близко по целям вот такая работа: http://nashe1c.ru/materials-view.jsp?id=221 ?
27. Александр Медведев (anig99) 2479 28.08.11 09:42 Сейчас в теме
(26) не клиенты, а пользователи. Цель обработки - обыкновенные пользователи, потребности которых не совпадают с типовыми интерфейсами.
1с предприняла попытку решить эту проблему через Рабочее место, но кроме Рабочего места менеджера и Рабочего стола кадровика ничего нет. Обработки удобные, но трудоемкие в плане создания.
Есть всякие панели пользователя и избранных, но они решают только проблему структуры интерфейса, а не его удобства (клики мышки и поиск в структуре).
Облако вещь прикольная и удобная, но занимает слишком много места на экране.
Моё решение тоже не без недостатков - нужно печатать. Для некоторых это дольше, чем тыкать мышкой.
28. г. Казань Рустем Гумеров (Rustig) 775 29.08.11 16:24 Сейчас в теме
(27) это пользователи вам сказали, что удобно? удобно пользоваться вашей обработкой? а узнайте у них пожалуйста с какой целью они ее используют, в каких случаях?
посмотрите как реализован справочник хозопераций в "Бухгалтерия 2.0" (вызывается по кнопке "Создать хозоперацию" на доп.панели - примерно так называется)
29. Александр Медведев (anig99) 2479 29.08.11 16:38 Сейчас в теме
(28) каюсь. Своим пользователям я ещё не ставил, т.к. не реализовал ещё несколько полезных функций, но мне и это удобно. Обязательно посмотрю как это реализовано в 2.0.
А на ИС пока никто не жаловался, что это неудобно. Хотя я и спрашиваю о конкретных примерах.
30. Dmitry The Wing (wing) 19 31.08.11 06:23 Сейчас в теме
(0) Вам бы объединить консоли с автором админской консоли
31. Александр Медведев (anig99) 2479 31.08.11 07:00 Сейчас в теме
(30) Кроме дизайна, вроде, мне оттуда брать нечего. Я даже код принципиально у этой обработки не смотрел.
32. г. Казань Рустем Гумеров (Rustig) 775 31.08.11 14:29 Сейчас в теме
33. Dmitry The Wing (wing) 19 05.09.11 05:28 Сейчас в теме
(0) Исправил пару ошибок, - у тебя кое-где вызываются глобальные функции, которых может в конфе не быть, но это детали ... в обработке сильно не хватает проверки на тип кода и номера, - она выпадает в осадок, если код/номер числовой, т.к. для числа оператор ПОДОБНО не работает...

P.S.: Для себя я данную проблему решил через http://www.kb.mista.ru/article.php?id=666 в случае, если код числовой.
34. Александр Медведев (anig99) 2479 05.09.11 12:48 Сейчас в теме
(33) спасибо за замечания. Учту при обновлении.
35. Артур Аюханов (artbear) 847 05.09.11 18:14 Сейчас в теме
Ошибка при поиске (контраг откр /50), если у справочника/документа код не строка, а число
{Форма.ВводКоманд(186)}: Ошибка при вызове метода контекста (Выполнить): {(6, 3)}: Неверные параметры "ПОДОБНО"
(<<?>>СправочникиДляПоиска.Код ПОДОБНО &Строка
Результат = Запрос.Выполнить().Выбрать();
по причине:
{(6, 3)}: Неверные параметры "ПОДОБНО"
(<<?>>СправочникиДляПоиска.Код ПОДОБНО &Строка

Для числовых кодов подобно юзать нельзя :(
36. Александр Медведев (anig99) 2479 05.09.11 21:47 Сейчас в теме
(35) угу. на днях одну штуку доделаю и обновлю телепата
37. Dmitry The Wing (wing) 19 06.09.11 05:35 Сейчас в теме
(35) Артур, этот баг уже запостен выше (33) с предложением решения ;)

(0) Автору дополнительно хочу указать на не очень приятное и оптимальное написание самого кода - пробелов между операциями и операндами практически нет, зато их хватает в концах строк ... и многократное дублирование кода - тоже не есть хорошо. Для устранения описанного бага мне пришлось изменять 4 куска практически одинакового кода...
38. Александр Медведев (anig99) 2479 06.09.11 08:16 Сейчас в теме
(37) ну что сказать... обработка была написана практически за 1 ночь. Оптимизация ей ещё предстоит.
40. Константин Носов (NosovK) 10 15.09.11 15:25 Сейчас в теме
планируются обновления?
41. Александр Медведев (anig99) 2479 15.09.11 15:30 Сейчас в теме
(40) Да. Планируется. Думаю как раз в сентябре и обновлю.
42. Александр Иванов (dkprim) 4 17.09.11 10:27 Сейчас в теме
очень полезная обработка :) я и мои коллеги ждем обновления :) спасибо огромное :)
43. Михаил Н (Mig_Alm) 20.09.11 12:31 Сейчас в теме
отличная обработка! просто и оригинально. ждемс обновлений!
44. Pavel Nevzorov (MrXaN) 45 23.09.11 14:22 Сейчас в теме
автору огромнейший плюс , ждемс обновлений , идея оригинальна, все удобно и просто, СПАСИБО
45. Igor Александрович (igor_1c) 12 26.09.11 11:17 Сейчас в теме
У меня долго загружается при открытии, а так удобная штука
46. Александр Медведев (anig99) 2479 26.09.11 11:45 Сейчас в теме
(45) если нет настроек, то обработка просматривает структуру метаданных. Чтобы не тормозило, нужно зайти в настройки, заполнить их (там есть кнопки для этого) и сохранить. После этого обработка должна загружаться быстро
47. Валентина Тарханова (puxlichok) 27.09.11 19:59 Сейчас в теме
Подключили к своим контрагентам в базы, они радуются (мы тоже). Фэнкс)
48. Александр Медведев (anig99) 2479 28.09.11 10:32 Сейчас в теме
Версия обновлена до 0.3.3. Режим скачивания: без мани.
49. Александр Медведев (anig99) 2479 29.09.11 11:03 Сейчас в теме
(23) добавил задачи и бизнес-процессы
(33)(35) ошибка с номерами исправлена
(44)(43)(42)(40)(20) вышла версия 0.3.3
50. Pavel Nevzorov (MrXaN) 45 29.09.11 11:10 Сейчас в теме
51. Александр Иванов (dkprim) 4 29.09.11 17:23 Сейчас в теме
полезная обработка развивается, что приятно и радует. стараюсь пользоваться ей в почаще, но обычно приходится копаться в Конфигураторе :(
52. AER Рючин (AER) 37 05.10.11 16:15 Сейчас в теме
Для 8.2

{Форма.ВводКоманд.Форма(4,7)}: Переменная с указанным именем уже определена (МассивДополнительныхПараметров)
Перем <<?>>МассивДополнительныхПараметров;
{Форма.ВводКоманд.Форма(162,11)}: Процедура или функция с указанным именем уже определена (ОткрытьЭлемент)
Процедура <<?>>ОткрытьЭлемент(ТипМетаданных,ИмяМетаданных)
53. Александр Медведев (anig99) 2479 06.10.11 01:50 Сейчас в теме
54. 1 (shomo) 07.10.11 16:14 Сейчас в теме
интересная разработка, пользуюсь.. но как-то напрягает сыроватость даннго продукта. А так спасибо.
55. Александр Медведев (anig99) 2479 07.10.11 19:18 Сейчас в теме
(54) а в чём сыроватость? Версия 0.3.3, а не 2.0? Или парочка ошибок в релизах? Может есть какие-то предложения?
56. Dmitry The Wing (wing) 19 17.10.11 11:50 Сейчас в теме
Наконец-то я добрался до новой версии телепата.
Мне очень непонравился способ работы с числовыми кодами и номерами, т.к. в коде виден явный отказ от поиска по части кода, что есть некорректно.

У себя я делал это так:
//Идея взята: http://www.kb.mista.ru/article.php?id=666
Функция ТекстЗапросаИзЧислаВСтроку(пИсхТекстЗапроса, пИмяПоля, пДлинаЦел, пДлинаДробь = 0, пЛидирующийСимвол = "") Экспорт
    лЗапрос = Новый Запрос("ВЫБРАТЬ ВЫРАЗИТЬ(0.5 КАК ЧИСЛО (15, 0)) КАК Проверка");
    лВыборка = лЗапрос.Выполнить().Выбрать();
    лВыборка.Следующий();
    лЗапросОкругляетПоАрифметическимПравилам = лВыборка.Проверка = 1;

    лТекст = "ВЫБОР КОГДА " + пИмяПоля + "<0 Тогда ""-"" ИНАЧЕ """" КОНЕЦ " + Символы.ПС;
    лИмяПоляАбс = " ВЫБОР КОГДА " + пИмяПоля + "<0 ТОГДА -" + пИмяПоля + " ИНАЧЕ " + пИмяПоля + " КОНЕЦ ";
    лПараметр = Pow(10, пДлинаЦел - 1);
    Для лИнд = 1 По пДлинаЦел + пДлинаДробь цикл
        лТекст = лТекст + ?(лИнд = пДлинаЦел + 1, "+"".""+", "+");
        лТекст = лТекст + " ВЫБОР " + Символы.ПС
		+ ?(лИнд < пДлинаЦел, " КОГДА " + лИмяПоляАбс + " < " + Формат(лПараметр, "ЧРД=.; ЧГ=") + " ТОГДА """ + пЛидирующийСимвол + """ " + Символы.ПС, "");
        Для лЦифра = 0 По 9 Цикл
            лТекст = лТекст + " КОГДА " + лИмяПоляАбс + "-" + Формат(лПараметр * 10, "ЧРД=.; ЧГ=") + "*ВЫРАЗИТЬ((" + лИмяПоляАбс + ?(лЗапросОкругляетПоАрифметическимПравилам, "-" + Формат(лПараметр * 5, "ЧРД=.; ЧГ="), "") + ")/" + Формат(лПараметр * 10, "ЧРД=.; ЧГ=") + " КАК ЧИСЛО(15, 0))" + " >= " + Формат((9 - лЦифра) * лПараметр, "ЧН=0; ЧРД=.; ЧГ=") + " ТОГДА """ + Формат(9 - лЦифра, "ЧН=0; ЧРД=.; ЧГ=") + """ " + Символы.ПС;
        КонецЦикла;
        лТекст = лТекст + " ИНАЧЕ ""0""" + Символы.ПС + " Конец " + Символы.ПС;
        лПараметр = лПараметр / 10;
	КонецЦикла;

	Если пИсхТекстЗапроса = Неопределено Или Не ЗначениеЗаполнено(пИсхТекстЗапроса) Или ПустаяСтрока(пИсхТекстЗапроса) Тогда
    	Возврат лТекст;
	Иначе
		Возврат СтрЗаменить(пИсхТекстЗапроса, пИмяПоля, лТекст);
	КонецЕсли;
КонецФункции
...Показать Скрыть


Т.е. в старой версии телепата было исправлено следующим образом:
	Если ТипМетаданных = "Документы" Тогда
		ИмяПерКод = "ДокументыДляПоиска.Номер";
		Если Строка(Метаданные.Документы[ИмяМетаданных].ТипНомера) = "Число" Тогда
			ИмяПерКод = ГлобальныеФункции.ТекстЗапросаИзЧислаВСтроку(, ИмяПерКод, Метаданные.Документы[ИмяМетаданных].ДлинаНомера);
		КонецЕсли;
		Запрос.Текст = "ВЫБРАТЬ
		               |	ДокументыДляПоиска.Ссылка
		               |ИЗ
		               |	Документ." + ИмяМетаданных + " КАК ДокументыДляПоиска
		               |ГДЕ
		               |	" + ИмяПерКод + " ПОДОБНО &Строка
		               |
		               |УПОРЯДОЧИТЬ ПО
		               |	ДокументыДляПоиска.Дата УБЫВ";
		Подсказка = "Введите часть номера для поиска";
...Показать Скрыть


Код не совсем симпатичный, т.к. клепался наспех, но функционал не потерен, в отличие от новой версии телепата. Рекомендую что-то с этим сделать...
57. Александр Медведев (anig99) 2479 17.10.11 12:04 Сейчас в теме
(56) отказ от поиска по части кода только если он цифровой. Первоначально он вообще не искал по цифровому коду. Теперь ищет, хотя только по полному. Поэтому это не потеря функционала. Сейчас разберу эту функцию для поиска по части цифрового кода.
58. Александр Медведев (anig99) 2479 17.10.11 12:08 Сейчас в теме
(56) к тому же, скорость выполнения такого запроса может страдать.
59. Александр Медведев (anig99) 2479 17.10.11 14:43 Сейчас в теме
(56) собственно вот зацени реализацию - в тестовой базе ABC-классификацию сделал с числовым номером и для неё написал.
Как мне кажется, реализация намного проще. И, возможно, в некоторых случаях быстрее.
Прикрепленные файлы:
ПоискПоЧастиНомера.epf
60. Сергей (1C82) 40 21.10.11 04:21 Сейчас в теме
Очень оригинальная идея! Попробую на своих юзверях... Но мне кажется понравится только ностальгирующим по командной строке DOS.
61. Александр Гуляев (gavrikprog) 101 23.10.11 10:22 Сейчас в теме
Отлично справляюсь и без этого. И нафиг такое нужно
62. Александр Медведев (anig99) 2479 23.10.11 13:01 Сейчас в теме
(61) потому что Вы тот самый программист, который только кодит, но не задумывается об удобстве интерфейса для конечных пользователей. Отвлекитесь от конфигуратора.
63. Александр Медведев (anig99) 2479 23.10.11 23:20 Сейчас в теме
(56) Написал тестовую конфигурацию для поиска обоими способами.
Пока проверял только на файловой версии. Для клиент-серверной возможно нужно будет оптимизировать вынеся часть кода на сервер.
По результатам теста на 25 000 документов
способом wingа - больше 1 сек.
моим способом - меньше 1 сек.

На 1 000 000 последовательных документов (по 500 000 в год):
способом wingа - 58 сек.
моим способом - 3 сек.

Но... Если нумерация нарушена... К 25 000 документам добавил один документ с номером 500 000 и в результате:
способом wingа - больше 1 сек.
моим способом - больше 2 сек.

Но, думаю, что такое дикое нарушение нумерации - это исключение.

Таким образом, я склоняюсь к своему алгоритму.
В прикрепленном файле cf. Кстати, там есть возможность протестировать влияние на производительность различных факторов в циклах.
Прикрепленные файлы:
ТестированиеСпособовПоискаПоЧастиНомера.cf
64. Dmitry The Wing (wing) 19 02.11.11 05:27 Сейчас в теме
(63) Может, на данный момент лучше способа и нет. Ограничение платформы. Однако недоработка у тебя все же есть: ты не ищешь минимальный код, а он может быть совсем не единице равен... например, если используется префикс, код вообще никогда не будет единицей.
65. Александр Медведев (anig99) 2479 02.11.11 09:25 Сейчас в теме
(64) минимальный код - нужно добавить. Префикс есть только у строкового кода.
66. Dmitry The Wing (wing) 19 07.11.11 05:40 Сейчас в теме
(65) Префикс может быть у любого кода. Просто у строкового он менее ограничен набором символов.
67. Владимир Лышенко (vovche) 28.11.11 10:54 Сейчас в теме
Простите за комментарий, не удержался, пост и обработка прекрасны ;)
68. Станислав C (sstas007) 111 29.11.11 14:23 Сейчас в теме
Очень хорошая идея. Есть предложение совместить эту функцию с голосовым набором. Тогда это стало бы супер разработкой.
69. Александр Медведев (anig99) 2479 29.11.11 21:54 Сейчас в теме
(68) думал об этом, но такие вещи хороши для одиночек. Несколько человек в одном кабинет орущие в микрофон "Реализация! Реализация! ля! Я сказал Реализация!"
70. Станислав C (sstas007) 111 29.11.11 22:06 Сейчас в теме
смешно. Но если такое будет, то манагеров станут раздельно сажать друг от друга.
71. Александр Медведев (anig99) 2479 29.11.11 22:09 Сейчас в теме
(70) просто надо посмотреть какие сейчас есть бесплатные голосовые распознавалки. Вот прикрутить читалку голосовую не получится - все бесплатные рускоголосые безобразно говорят.
72. Алекс Ю (AlexO) 113 30.11.11 01:04 Сейчас в теме
так телепат работает или нет?
у Орефкова все никак не запустится Снегопат, тут тоже непонятно....
73. Александр Медведев (anig99) 2479 30.11.11 02:39 Сейчас в теме
(72) несмотря на одинаковые названия, абсолютно разные разработки. Моя работает. Сейчас запустил у себя чуть доработанную версию на тестирования. С т.з. алгоритмов обработка готова, а вот с т.з. интерфейса нужно доделывать - добавить что-то типа избранного. Пока обработка сокращает время доступа к нечасто используемым элементам. Регулярно используемые элементы быстрее выбирать по меню. Поэтому задача обработки не конца решена.
74. Павел (dardroze) 11.01.12 16:18 Сейчас в теме
интересно. посмотрим, попользуемся
75. Гена Букин (Gen-buk) 13 20.01.12 17:41 Сейчас в теме
Привет Всем.
Вопрос по ходу в 7 с телепатом не работал, чем отличается от стандарта??
76. Александр Медведев (anig99) 2479 22.01.12 23:39 Сейчас в теме
(75) не совсем понятен вопрос. Прочитайте описание. К программерским "телепатам" отношения не имеет - это обработка для конечных пользователей.
77. Павел (Pavel777777) 51 29.01.12 10:11 Сейчас в теме
Гениально) ... Предлагаю небольшое рац.предложение - добавить вызов полнотекстового поиска(например, в этом случае можно указывать не только номер/код документа/справочника, но и любой его реквизит).

Один из вариантов доработки :

В конце процедуры модуля ОткрытьЭлемент, где выводится сообщение " По данным условиям ничего не нашли " вызывать в этом случае полнотекстовый поиск (встроенный во многие конфигурации)


Вместо
Сообщить("По данным условиям ничего не нашли");


Добавить строки
Попытка
	Сообщить("По данным условиям ничего не нашли. Воспользуйтесь полнотекстовым поиском");
	ОбъектДляПоиска = Метаданные[ТипМетаданных][ИмяМетаданных]; 

	ПоискДанныхФорма = Обработки.ПоискДанных.ПолучитьФорму();
	ПоискДанныхФорма.Открыть();
	ПоискДанныхФорма.ПолеВводаПоиска = СокрЛП(ОбъектДляПоиска.Синоним)+" "+СокрЛП(СтрокаПоиска);
Исключение
	Сообщить("По данным условиям ничего не нашли");
КонецПопытки; 
...Показать Скрыть


В Комплексной Автоматизации работает на ура)
78. Master07 (Master07) 20.02.12 16:30 Сейчас в теме
79. Ufimtsev (Ufimtsev) 52 21.02.12 16:55 Сейчас в теме
Хорошо бы еще журналы документов загружались в список команд.
80. Александр Горбачёв (SanyaGrek) 24.02.12 15:37 Сейчас в теме
Сейчас активно использую Снегопат для редактирования кода.

Теперь скачаю этот телепат. Посмотрю. Думаю, судя по описанию, тоже станет моей постоянной надстройкой.
81. Алексей 1 (AlX0id) 26.02.12 13:06 Сейчас в теме
Интерфейсненько )
Из хотелок сразу возникает:
- Сохранять список последних/часто используемых команд при перезагрузке 1С.
- Выделить часто используемые команды в отдельный список.

Из замечаний - команда перезагрузки не сработала - 1с закрылась и все.. Win7 - может, из-за этого?
82. Александр Медведев (anig99) 2479 28.02.12 08:29 Сейчас в теме
(81) сильно много не экспериментировал с функцией перезагрузки. По поводу дополнений - согласен, но просто не было времени подумать на алгоритмом определение чаще всего используемых команд.
83. Игорь Steelvan (Steelvan) 26 17.03.12 16:38 Сейчас в теме
Разве усилия по вводу команды не равны усилиям тыканья мышкой в интерфейсе.

А вообще интересная вещь. Надо будет скачать, заценить.
Посмотреть как реализовано, может и себе пару интересных идей на вооружение возьму.

(0) Писал для себя или где-то практически применяется ?
84. Александр Медведев (anig99) 2479 19.03.12 08:33 Сейчас в теме
(83) не всегда. Чтобы долго не расписывать почему, просто приведу в пример интерфейс 7ки и последние изменения в Unity для Ubuntu. В обоих случаях существует запуск различных команд с помощью клавиатуры из графического интерфейса. Причем команды не фиксированные, а осуществляется поиск по всем возможным вариантам.
Писал для внедрения, но потребителей у себя не найду, т.к. большая часть пользователей сидит в одних и тех же документах и не тратит время на поиск нужного пункта меню. Поэтому получилось что для себя, хотя мысль о внедрении не оставил. По комментариям есть предприятия, где Телепату были рады.
85. Rom Shpakoff (Lancelot-2M) 91 30.10.13 01:47 Сейчас в теме
эта та самая ненужная в убунте и других местах фича))))))) не, ну + за любовь к своему делу))
Наверное, такие же энтузиасты и превратили хороший дистриб в неповоротливого монстра...
86. Александр Медведев (anig99) 2479 30.10.13 08:11 Сейчас в теме
(85) не скажу, что ненужная. В винде она реализована неудачно, а в unity в самый раз. С другой стороны, я уже год я снес убунту из-за растущего числа глюков...
87. Александр Зубцов (iov) 358 06.11.13 01:28 Сейчас в теме
баг репорт
1С:Предприятие 8.2 (8.2.18.104)
Комплексная автоматизация, редакция 1.1 (1.1.36.1)
поиск набираю курсовы -ентер- найти документ по представлению... ииии

{Форма.ВводКоманд.Форма(133)}: Ошибка при вызове метода контекста (ЗначениеЗаполнено)
Если ЗначениеЗаполнено(ВыбранныйЭлемент) И ЗначениеЗаполнено(ВыбранныйЭлемент.Значение) Тогда
по причине:
Проверка мутабельных значений на заполненность не поддерживается
88. Александр Медведев (anig99) 2479 06.11.13 19:10 Сейчас в теме
(87) принято, поправим, добавим журнал и полнотекстовый поиск. Как вообще новые функции?
89. Александр Зубцов (iov) 358 06.11.13 19:37 Сейчас в теме
(88) а вот на этом изучение и закончилось. Вернулся на предыдущую версию.
90. Андрей Овсянкин (Evil Beaver) 3757 11.11.13 15:38 Сейчас в теме
Чума:) консольный 1С :) А будет режим sudo для выполнения под админом?
91. Александр Медведев (anig99) 2479 11.11.13 15:53 Сейчас в теме
(90) при желании можно сделать, но чтобы работало быстро нужно будет вносить изменения в конфигурацию.
92. Андрей Овсянкин (Evil Beaver) 3757 11.11.13 16:20 Сейчас в теме
(91) anig99, почему?
а УстановитьПривилегированныйРежим(Истина)?
93. Александр Медведев (anig99) 2479 11.11.13 16:43 Сейчас в теме
(92) сработает только в файловом режиме.
94. Андрей Акулов (DrAku1a) 1185 12.11.13 04:04 Сейчас в теме
Вещь! По сути - напоминает поисковую строку появившуюся в меню "Пуск" в Win7 (после нее "Пуск" от ХР стал казаться неудобным)...
Упрощенный аналог "Телепата" (только открытие списков, отчетов и внешних отчетов/обработок) использую в обработке "Рабочий стол для УТ 10.3", а также в других интерфейсных меню (под заказ).

Все довольны!
95. Александр Медведев (anig99) 2479 03.12.13 17:01 Сейчас в теме
Исправил ошибку при первом сохранении избранное
В модуле обработки
Процедура СохранитьИзбранное() Экспорт

	Попытка
		СтруктураНастройкиИзбранное = Неопределено;
		СписокНастроекИзбранное		= Неопределено;
		Выполнить("СтруктураНастройкиИзбранное = ОбщегоНазначения.СкопироватьУниверсальнуюКоллекцию(мТекущаяНастройка);");
		СтруктураНастройкиИзбранное.Вставить("НаименованиеНастройки", "Избранное");
		СтруктураНастройкиИзбранное.Вставить("СохраненнаяНастройка", Неопределено);
		СтруктураНастройкиИзбранное.Вставить("ИспользоватьПриОткрытии", Ложь);
	Исключение
		Предупреждение("Не удалось сохранить");
		Возврат;
	КонецПопытки;
	
	ТаблицаИзбранное = Новый ТаблицаЗначений();
	ТаблицаИзбранное.Колонки.Добавить("Команда");
	ТаблицаИзбранное.Колонки.Добавить("ВыполняемыйКод");
	ТаблицаИзбранное.Колонки.Добавить("Картинка");
	
	Для Каждого стр из СписокИзбранное Цикл
		Если НЕ стр.Пометка Тогда
			Продолжить;
		КонецЕсли;
		стрИзб = ТаблицаИзбранное.Добавить();
		стрИзб.Команда = 		стр.Представление;
		стрИзб.ВыполняемыйКод = стр.Значение;
		стрИзб.Картинка = 		стр.Картинка.ПолучитьДвоичныеДанные();
	КонецЦикла;
	
	НастройкиИзбранное = Новый Структура();
	НастройкиИзбранное.Вставить("ТаблицаКоманд", ТаблицаИзбранное);
	СтруктураНастройкиИзбранное.Вставить("СохраненнаяНастройка", НастройкиИзбранное);
	Удачно = Ложь;
	Попытка
		Выполнить("Удачно = УниверсальныеМеханизмы.СохранитьНастройку(СтруктураНастройкиИзбранное,СтруктураНастройкиИзбранное)");
		//Удачно = УниверсальныеМеханизмы.СохранитьНастройку(СтруктураНастройкиИзбранное,СтруктураНастройкиИзбранное);
	Исключение
	КонецПопытки;
	Если Не Удачно Тогда //вдруг избранного ещё не существует
		Попытка
			Выполнить("Удачно = УниверсальныеМеханизмы.СохранитьНастройку(СтруктураНастройкиИзбранное)");
		Исключение
		КонецПопытки;
	КонецЕсли;
	
	Если Не Удачно Тогда
		Предупреждение("Не удалось сохранить");
	КонецЕсли;

КонецПроцедуры
...Показать Скрыть
96. Екатерина * * (ekaterinaeon) 19 04.12.13 06:09 Сейчас в теме
:( открыла в ЗУПе, вот такая ошибка появилась

{ВнешняяОбработка.Телепат.МодульОбъекта(745,3)}: Переменная не определена (ВерсионированиеОбъектовПривилегированный)
<<?>>ВерсионированиеОбъектовПривилегированный.ЗаписатьВерсиюОбъекта(ВыбраннаяСтрока.Ссылка, 1, Неопределено); //mav регистрируем открытие обработки

пс: закомментила и все стало нормально работать)) очень нужная обработка при нападении бухгалтеров))
97. Ададуров Виталий (adva) 34 04.12.13 07:14 Сейчас в теме
Вещь удобная.
Или не нашел, или не реализовано, можно ли добавить в избранное внешние открывавшиеся файлы? Стало бы еще удобнее, а то приходится работать с несколькими базами, добавлять в справочник внешних отчетов не всегда удобно, проще так открыть
98. Ададуров Виталий (adva) 34 04.12.13 13:25 Сейчас в теме
А что за пароль требует, когда по правой кнопке выбираешь "Настройки" ?
99. Александр Медведев (anig99) 2479 05.12.13 10:10 Сейчас в теме
(96) поправим в ближайшее время, обновленный файл выложу.
(97) попробую добавить
(98) я читаю твои мысли
100. Ададуров Виталий (adva) 34 05.12.13 10:49 Сейчас в теме
(99) про " я читаю твои мысли" не понял, надо уточнить, или будет исправляться?