Персональная страница Федора Езеева
Главная
Download
Ссылки
MS SQL
Обмен данными
Новости
Статьи
О себе
Крупные разделы...
Коллективная разработка
1С++, OOP, XP
FuncTest
FAQ
Структура 1cv7.md
Телепат 2.0.0.0 (пререлиз) (продолжим 5 ?)
artbear
24.09.2004 - 09:48
Итак, начнем 6 ветку о телепате!
Теперь уже точно свыше 1300 постов :)
Для тех, кто только что присоединился.
.
Сабж
http://openconf.itland.ru/beta
FAQ
http://1c.alterplast.ru/faq/telepat.html
Скрипты для Опенконфа можно взять здесь
http://itland.ru/forum/index.php?showtopic=4456
Maniac
1 - 24.09.2004 - 09:48
предлагаю познакомится
http://nnm.ru/web/img/22_01_04_01.jpg
Eugene G
2 - 24.09.2004 - 09:51
Немного не про телепат: есть плагин (кажется от Орефкова), который показывает классы (1с++), их методы и свойтсва в конфигураторе отдельной закладкой, так вот если класс описывается обработкой Предприятия (defcls), а не файлом defcls.prm, то классы не показывается...:(...будет пофиксено?
orefkov
3 - 24.09.2004 - 10:14
(2)
Да, после Телепата буду дорабатывать Visual 1C++
(OFF в прошлой ветке)
Как физическое лицо (те без офрмления бумажек)
можно будет оплатить WebMoney, Яндекс-деньги, и тд и тп.
Можно будет через Сбербанк.
Для юрлиц (с оформлением всех необходимых документов)
будет продажа через softkey.ru (но дороже)
Eugene G
4 - 24.09.2004 - 10:19
Ок, ждем и того и другого :)
Данила хМастер
5 - 24.09.2004 - 10:22
(Orefkov)
Спасибо дружище!
Теперь можно запускать кучу конфигураторов!!! :)))
Я пробовал: 3 комплексных + 1 Расходные накл. И все ОК
:+)
slavka
6 - 24.09.2004 - 10:33
присоединяюсь к (5) теперь держит 5 конфигураторов нормально. Сенкс!!!
Лёлик
7 - 24.09.2004 - 10:39
2(orefkov) Саша, спасибо, супер - утром пробовал - 4 конфигуратора и 2 предприятия крутятся, полёт нормальный, 3-е предприятие вылетает, но я думаю это из-за того, что конфы ТЯЖЕЛЕННЫЕ
Болван
8 - 24.09.2004 - 11:07
Так дайте прямую ссылку на последний телепат а то
http://openconf.itland.ru/beta
навалено всего че качать , хоть дату ставили бы!
slavka
9 - 24.09.2004 - 11:08
2(artbear) не могли бы Вы поделиться инфой по скриптам?
Незнайка на Луне
10 - 24.09.2004 - 11:13
Может, уже пробегало, но где задаются автозамены типа "х++" на "х=х+1"?
alkl
11 - 24.09.2004 - 11:28
x +=,
x+=
RTFM & History....
artbear
12 - 24.09.2004 - 11:30
(8) А номера версий посмотреть не можешь, и выбрать последние (те, что сверху).
(9) Напиши, что КОНКРЕТНО интересует? я не понимаю что означает "инфа по скриптам" :(
(10) Вшиты в код. Еще попробуй +=, -- и т.д
Незнайка на Луне
13 - 24.09.2004 - 11:52
Во блин, думал, что OpenConf " Ю " меняет " > ", а "ж+enter" на ";", а это Ninja :))
Незнайка на Луне
14 - 24.09.2004 - 12:20
В качестве апа. А как насчет того, чтоб менять все зарезервированные слова и стандартные методы в нижнем регистре на правильный регистр, например "использоватьвладельца" на "ИспользоватьВладельца"?
АЛьФ
15 - 24.09.2004 - 12:26
2(14) После "использоватьвладельца" нажми Ctrl+Пробел, а затем Enter.
fez
16 - 24.09.2004 - 12:53
По адресу http://1c.alterplast.ru/faq/telepat.html в список сохраненных веток по телепату добавлена предыдущая.
Fobos
17 - 24.09.2004 - 12:58
2 Данила хМастер, Лёлик и пр. кто стянул пофиксенный телепат на запуск нескольких конфигураторов: Это какая версия? Где лежит? На сайте обновлений не появлялось, все теже версии 2.0.0.0 н - телепата и 1.0.1.3 - опенконфа! размеры архивов и файлов в архивах одиннаковые со скаченными ранее.
hlud
18 - 24.09.2004 - 13:00
2(orefkov) Немного не по теме.
Ты не сталкивался с проблемой, что priorities.dll приводит к нестабильной работе 1с-ки? Терминал под вин 2003.
slavka
19 - 24.09.2004 - 13:34
2(12) меня интересует VBScript. у меня есть дока по VBScript и JScript, скачанная с microsoft'a, но там нет описания SelStartLine, SelStartCol например. (чувствую что еще много там не описано).
Данила хМастер
20 - 24.09.2004 - 13:35
(17) Тебе не Телепат, а Опенконф обновить надо. :-)
Fobos
21 - 24.09.2004 - 13:40
(20) Детали содержания скачанного архива OpenConf 1.0.1.3 (beta)
config.dll - 295424 б от 21.09.2004
config.tlb - 45044 б от 11.05.2004
Адын, в адын аднако с тем что уже стоит
Брал с: http://openconf.itland.ru/beta/ocb1013.zip
artbear
22 - 24.09.2004 - 13:41
(19) Подробно рассказать сложно, могу сказать только: почитай доку на ОпенКонф (не путать с Телепатом), лежит где-то на опенконф.итланд.ру
Незнайка на Луне
23 - 24.09.2004 - 13:43
15. Не шуршит
21. Тормозим? http://openconf.itland.ru/beta/ocb1014.zip
Данила хМастер
24 - 24.09.2004 - 13:44
(21) Одын конечно в одын, но работает 4 конфа, вместо одного! ;-)
artbear
25 - 24.09.2004 - 13:46
(21) Скачай оттуда же Опенконф версии 1.0.1.4 !!
Fobos
26 - 24.09.2004 - 13:50
(23) Гы. А ведь не было с утра или прокси в кеш полез за страничкой :-)
Незнайка на Луне
27 - 24.09.2004 - 13:53
26. А, Опера... Карошая весчь!
trad
28 - 24.09.2004 - 13:57
Обновил плагин EFExplorer.
http://www.ptlan.com/~trad/EFExplorer1106.zip
1.1.0.6
-исправлена ошибка версии 1.1.0.5 возникавшая при отсутствии файла effolders.txt
slavka
29 - 24.09.2004 - 13:59
(25) нашел!!! заходишь в ексельный VB, меню Tools->References- "Набор интерфейсов для автоматизации Конфигуратора 1С 7.7. затем F2 и все. КРУТО!!! КЛАССНО!!! Спасибо orefkov'у!!!!!
Fobos
30 - 24.09.2004 - 14:05
Во млин... ситуации:
а) открыто 2 конфигуратора (размер МД-шников по 19, 21 метр соответственно) и 2 предприятия. При открытие дерева метаданных запущенного 3-его (такого ж тяжелого)- стабильно виснет
б) открыто 2 конфигуратора (размер МД-шников по 19, 21 метр соответственно), 2 предприятия, 1 отладчик. Открытие еще одного экземпляра предприятия - после логина под пользователем вылетает по английски (без всякого рода сообщений.
orefkov
31 - 24.09.2004 - 14:33
(30) 1.0.1.4 скачал?
Fobos
32 - 24.09.2004 - 14:55
Да, Саш, скачал.
fez
33 - 24.09.2004 - 15:34
(32) А установил? :))
Fobos
34 - 24.09.2004 - 15:39
(33) Да :-)
Bot
35 - 24.09.2004 - 17:04
Не знаю, есть ли уже решение этого...
.
Надо копировать реквизиты из свойств документа/справочника/и т.д. в другой.
Если из формы в другую форму, то всё в порядке - проблем нет. А вот чтоб из свойств в другие свойства - это трабл. Вручную - от безысходности.
.
Мож у кого уже есть такой скриптик? Буду очень признателен.
Если реализации этого нету, можно воспринимать как идею.
DES
36 - 24.09.2004 - 18:07
А может как то можно сделать нормальное перемещение строк в дереве конфигуратора, а то эти дурачкие кнопки 'вверх/вниз' достали уже.
a13x
37 - 24.09.2004 - 18:16
2(orefkov)
буквально пару минут назад встретилась ситуация, когда в цикле нужно было добавлять символы в начало строки... интуитивно написал ++стр, но ожидаемого раскрытия шаблона не случилось =( (а ожидал я стр = _ + стр;,
где _ - позиция курсора после раскрытия)... может, имеет смысл сделать?
SandWorm
38 - 24.09.2004 - 18:39
Я тут подумал(точнее с АДО долбусь :-)), в той версии которой будет "точка". Делать описание языка отдельным файлом (с возможностью дополнения), например для того, что бы можно было бы работь с АДО объектам, Екселем и т.д.
Лёлик
39 - 24.09.2004 - 19:03
2(trad) По поводу EFExplorer - если сохранять конфигурацию, находясь на закладке EFExplorer, то конфигуратор тихо уходит, версии 1.1.0.6 и 1.1.0.5, 1с 23 sql, патченая
2(Fobos) config.dll версия 1.0.1.4, скачана часов в 10 с http://openconf.itland.ru/beta, вроде полёт нормальный
Phoenix
40 - 24.09.2004 - 20:15
to orefkov, как можно открыть окно объекта? например окно документа, а не только окно формы документа, т.е. осуществить аналог двойного клика на документе в дереве метаданных.
Начинающий линуксоид
41 - 24.09.2004 - 23:03
ап
trdm
42 - 24.09.2004 - 23:37
(38) мысля гуд. но только мысля.
trdm
43 - 26.09.2004 - 00:08
Что-то непонятка у меня, при загрузке плагина скомпилированного как debug конфигуратор стабильно вылетает. Час пыхтел как мамонт, выяснял в чем проблема.
Скомпилировал Release и ругаться перестало.
Потом посмотрел на пример плагина и понял, что отличие в том, что у него только одна версия 'Release' :|
Думаю, что такой прикол надо включить в FAQ.
KRIHA
44 - 26.09.2004 - 00:37
Есть предложение. Когда выпадает список с вариантами, то по нему можно перемещаться только вниз до "дна", а потом вверх до "горлышка" - с "горлышка" на дно одним нажатием стрелочки вверх (как это обычно в связанном списке) не получиться. А иногда это удобно, так как видишь например, что нужный вариан последний, но щелкать долго :-)
Mkonst
45 - 26.09.2004 - 16:00
а еще было бы прикольно, сделать так:
к примеру нажал на //_ и вместо двух палочек с подчеркиванием
появлилось нечто
//___________________________
//
//
//___________________________
Удобно перед процедурой или функцией маленький заголовок делать
И еще было бы совсем не плохо в конце каждой процедуры или функции ,
печатать следующее: //<имя процедуры>
сорри если не в тему попал.
fez
46 - 26.09.2004 - 17:37
(45) ИМХО для таких простых задач есть штатные шаблоны.
Vaicartana
47 - 26.09.2004 - 19:05
после выхода из конфигуратора вываливается мессага от винды, щё мов некоректно закрыто, ошибка в приложении итп.
Эт я один такой несчастный или такое уже было?
KRIHA
48 - 26.09.2004 - 21:22
+ к (44) это полезно думаю так же и в случае со списком Методов модуля. Может быть много процедур с одинаковым началом названия...
ShootNICK
49 - 26.09.2004 - 21:26
47 - Если у тебя HistoryPlugin стоит - то из за него такая ботва.
По крайней мере у меня такое бУло :)
artbear
50 - 27.09.2004 - 06:37
(49,47) Плагин мой и иногда "такая ботва" встречается. В чем дело, пока не разобрался :(
PS Не судите строго: первый мой плагин, делался в основном для пробы и написан на VB
trdm
51 - 27.09.2004 - 13:46
Не могу разобраться как из плагина обращаться с объектной модели конфигуратора на VC++.
Киньте в меня примером плагина плз.
artbear
52 - 27.09.2004 - 14:18
А на Делфях все довольно просто :)
Кстати, в связи с вопросами, как сделать плагин на Делфи для Опенконф, отправил Александру простейший плагин на Делфи, которым можно управлять из скриптов (один метод и одно событие) и попросил положить его на сайт для обучения.
orefkov
53 - 27.09.2004 - 16:19
(51)
"Объектная модель OpenConf'а" задумывалось для разработки плагинов
не на С++. Предполагается, что на С++ будут писаться плагины,
напрямую работающие с 1С (по технологии Rainbow). Так что
для С++ скоро будет один большой пример в виде исходников
ОпенКонфа. Как только работу с формами доделаю.
(52)
Артур, ты что, не получил мое письмо?
artbear
54 - 27.09.2004 - 17:20
(52) Как ты уже заметил, письмо получил. Сегодня/завтра закину к тебе на сайт и пример плагина, и набор используемых скриптов.
gero
55 - 27.09.2004 - 17:26
2 ALL
пардон если я пропустил...
а как сделать чтобы telepat, те настройки что в шаблонах описаны исключал из автоподстановки?
И ещё можно как-нибудь "возврат" и "продолжить" настроить писать с маленькой буквы, кроме как diskeditorom?
sdf
56 - 27.09.2004 - 17:40
меню: OpenConf - о программе - аварийное завершение
чем огоньки играются? у меня поди этого нету.
ver. 1.0.1.4
trdm
57 - 28.09.2004 - 02:36
В принципе в доке по опенконфу все написано, просто у меня был наверное плагин не того типа и что-то не дочитал. Я думал сделаю таким образом: экспортирую классы из tlb, создам переменные этих типов и заработает. Ан нет классы экспортнул, переменные создал. А функции молчат. Облизывался на идею сделать типа как в V8 деревце по категориям, в этих 2-х сотнях констант уже блин задолбался копаться.
trdm
58 - 28.09.2004 - 03:01
Ладушки, завтра OLE/COM Object Viewer поюзаю, доку почитаю, может и достучусь куда.
artbear
59 - 28.09.2004 - 08:45
(ALL) Народ, если у кого есть полезные скрипты и плагины, можете присылать мне. Я их выставлю для всеобщего обозрения на сайте у Александра Орефкова (опенконф.итланд.ру) и дам ссылки в ветках о телепате/опенконфе здесь и на итланде.
ЗЫ Александр восстановил мне возможность управлять его сайтом.
artbear
60 - 28.09.2004 - 08:47
(59+) Моя почта в посте 0.
Есть аська 265666057
a13x
61 - 28.09.2004 - 13:37
Вопрос по ОпенКонфу.
Каким образом можно отловить событие ПриСохраненииФала/ПослеСохраненияФайла (не конфигурации - любого другого - внешней обработки, таблицы etc)? про Configurator::MetaDataSaved знаю :-), но я не про MD ничего не говорил :-)...
Поделитесь приемами, кто как это делает, пожалуйста.
a13x
62 - 28.09.2004 - 13:52
2(orefkov)
фичереквест (по поводу поддержки Телепатом скриптов):
хотелось бы иметь метод телепата, возвращающий список функций редактируемого модуля (как минимум)
по максимуму хотелось бы иметь возможность программно узнавать для заданной функции/процедуры список параметров, ее тип (экспортируемая/нет), объявлена ли она предварительно или нет...
совсем уж из области фантастики - список локальных переменных для заданной по имени функции/процедуры...
я конечно понимаю, что у меня есть возможность заняться написанием парсера модуля на каком-либо скриптовом языке, но если это уже сделано в телепате, то...
orefkov
63 - 28.09.2004 - 14:20
(61)
Этого пока нет, но буду делать.
(62)
Это тоже конечно будет, но позже.
IAm
64 - 28.09.2004 - 14:27
62 Подобный парсинг занимает меньше кода, чем Вы написали в своем сообщении :))
artbear
65 - 28.09.2004 - 15:26
(61) ПослеСохранения внешнего файла легко сделать в плагине на базе ловушки изменения файла (из ВинАпи). Кстати, сегодня как раз задумывался над этой проблемой.
Можно сделать плагин, который будет выдавать подобное событие. Имхо это несложно.
a13x
66 - 28.09.2004 - 15:31
2(62)да, своего рода "парсер" на регекспах в большинстве случаев работает :-), но на больших модулях дает сбои и относительно медленный - проводить парсинг всего модуля при каждом вызове макроса - не самый эффективное с точки зрения производительности решение...
a13x
67 - 28.09.2004 - 15:33
в (66) я отвечал на (64) :-)
KVA
68 - 28.09.2004 - 15:34
2(65) Лучше ПередЗаписью :)
ЗЫ: Когда примерчик плагина на Дельфях выложите?
IAm
69 - 28.09.2004 - 15:38
66
Как это парсер на регэкспах может дать сбои?
Относительно чего парсер на регэкспах медленный, если регэкспы пишутся изначально на самом низком уровне?
Нифига не понимаю.
Даже если регэкспы не использовать а использовать штатные тормозные VB-функции и то, на большинстве модулей скорость выполнения заявленного Вами поиска будет почти незаметной, а уж регэкспами и вовсе шикарной
artbear
70 - 28.09.2004 - 15:43
(68) Примерно через час.
Планирую положить к Александру на сайт:
1) пример плагина для Опенконф на Делфи
2) набор используемых мной скриптов (с указанием авторства)
3) новую версию своего плагина "Мастер 1С++) (счас стал понимать алиасы из окси.ини)
(Александр) Если не против, там где-нибудь аккуратно поставлю ссылку на FAQ от Федора ?
a13x
71 - 28.09.2004 - 15:49
(69)
я сразу скажу, что я н екомпетентен в вопросах, касающихся внутренней работы движка регулярных выражений, хотя приходилось ковыряться в регексповом движке колорера, но в простейшем случае сопоставление регулярного вырашения конкретной строке - это алгоритм полного перебора
Тертый
72 - 28.09.2004 - 16:12
70) А в скриптах чего-нибудь нового добавил? По сравнению с тем, что было на итланде?
artbear
73 - 28.09.2004 - 18:07
(ALL) Обновил сайт Александра.
По ссылке http://openconf.itland.ru/beta/index.html добавил:
1) пример плагина для Опенконф на Делфи
3) обновил свой плагин "Мастер 1С++"
[+] плагином теперь можно управлять из скриптов, в поставке есть пример скрипта для управления;
[+] разрешены алиасы из окси.ini [ #Классы\Общие ];
[+] Разрешена работа с относительными путями [ Классы\Общие ];
[+] При создании класса открывается окно модуля вместо окна формы;
[+] на форме размещен небольшой хелп.
[+] Методы, атрибуты, объекты для управления плагином из скриптов
[+] Проверка на отсутствие пробелов в имени и пути к классу;
[*] файл-шаблон для класса находится внутри плагина;
ЗЫ На подходе скрипты :)
artbear
74 - 28.09.2004 - 18:58
В скриптах будет, например,
*) быстрый переход к началу/завершению текущей процедуры/функции в модуле
*) создание процедуры и одновременно кнопку для нее на форме с использованием шаблонов и/или новых возможностей телепата
*) Создание меню модуля по Цтрл-2
и еще кое-что.
Включу скрипты от orefkov, ADirks, IAm, свои.
Бодун
75 - 28.09.2004 - 20:20
1. Как бы узнать полный список и описание методов Телепата (в образце скрипта, например, кусочно некоторые такие оговариваются - типа инициировать встроенный 1С-овский штатный выбор объекта конфигурации и вернуть его, т.е. гложет мысль, что и другие полезные можно бы использовать, а вот какие???)
2. КАК в VBS можно сделать выбор (просто выбор из списка там, или из массива) - не подскажете?.. примерчик типа...
3. И - мануалы по VBS по-русски есть в природе? (при положительном ответе - следует вопрос "и как бы их нарыть?").
4 И тово, мужуки, колитесь - кто как скрипты отлаживает?..
artbear
76 - 29.09.2004 - 08:11
(Александр) Еще раз повторюсь:
есть ли возможность программно вызывать вызывать список автозавершения?
имхо очень нужно и удобно, была бы возможность легко и удобно составлять различные шаблоны, исключив "дурной" способ с InputBox
orefkov
77 - 29.09.2004 - 08:55
(75)
1. Все програмные возможности телепата есть в примере скрипта.
2. Меня тоже гложет эта мысль.
3. Проскакивал здесь как-то алс по VBScript, поищи.
или оставь мыло, я кину.
4. Я отлаживаю в ScriptEditor'е, который идет с офисом.
При установке офиса ищи в доп.компонентах. потом где надо,
в скрипте пишешь stop, и запускается отладчик.
(76) Артур, будет, подожди.
a13x
78 - 29.09.2004 - 09:30
2(artbear)
по поводу обновления сайта. добавленные ссылки битые. надо обратные виндовые слеши на прямые юниксовые поменять
artbear
79 - 29.09.2004 - 09:49
(78) Нет, я специально проверял: файлы нормально скачиваются.
Счас еще раз проверю
artbear
80 - 29.09.2004 - 09:51
(78) У меня все прекрасно качается: и Оперой, и ИЕ, и регетом.
(ALL) у кого-нибудь еще есть проблемы?
Vtlk
81 - 29.09.2004 - 10:03
А после точки Телепат должен срабатывать? ВОт, например, хочу, чтобы в фразе "ЖР.Начало..." кусок "...Периода()" сам дописал? А то плагин работает только от начала строки, не очень удобно.
a13x
82 - 29.09.2004 - 10:11
(80) забыл сказать. у меня firefox. он слишком уж правильный и все делает так, как декларируют спецификации тех или иных протоколов. в ие я пробовал, в се открывается... вобщем, если это сложно, то можно и не менять, мне и руками две ссылки поправить не трудно в адресной строке...
а обратные слеши в урлах - это ошибка согласно RFC 1738
http://design.ti.ru/php/index.php?s=&p=http://www.faqs.org/rfcs/rfc1738
trdm
83 - 29.09.2004 - 11:10
(75.2) Думаю просто сделать активХ с возможностью выбора из списка, пару методов: для заполнения переданного списка, для возврата значения. Потом зарегить его в систенме и повызывать. Вроде так?
artbear
84 - 29.09.2004 - 11:43
(83) Да, имхо этого достаточно.
Сделаешь? Если да, как скоро?
ЗЫ Сам уже задумывался над таким КОМ-объектом
artbear
85 - 29.09.2004 - 11:46
(82) ОК, ссылки подправил
artbear
86 - 29.09.2004 - 11:55
Есть ли в природе какая-нибудь прога для сборки шаблонов из алс-файлов?
У меня есть только 1С:Harleq_GShaft (Редактор шаблонов *.st и синтаксис-помощника *.als), НО
с учетом нынешних возможностей телепата функция этой обработки его функция разбиения, например, строки "Получить" на подстроки типа
Полу
Получ
Получи
Получит
Получить
становится ОЧЕНЬ неудобной, т.к. все эти строки показаны в списке телепата.
Кто как решает подобную задачу (пока нет работы с точкой)?
IAm
87 - 29.09.2004 - 12:00
84 Хочешь, сейчас напишу за пять минут? :)))
artbear
88 - 29.09.2004 - 12:07
Хочу :) Буду только рад.
Всем нам очень пригодится :)
Запускаю таймер ?
ЗЫ Только не как вчера :(
ЗЗЫ Сделал пару скриптов, которые позволяют запускать макросы из меню модуля по Цтрл-2:
1 скрипт - показывает абсолютно все макросы из всех скриптов/плагинов в виде "Форматирование.FormatLines" (т.е. как они описаны в файле)
2 скрипт - позволяет после маленькой настройки показывать нормальные, русские описания макросов, т.е. "Форматирование текстовый блок [ спасибо IAM-у :) ]"
2 скрипт - показывает
artbear
89 - 29.09.2004 - 12:09
(88+) Теперь после совсем небольшой доработки последнего скрипта можно выполнять группировку макросов в меню:
например, группа "Конструкторы", "Форматирование", "Работа с формой" и т.д.
trdm
90 - 29.09.2004 - 12:19
Лучше пусть IAm напишет. (83) - была просто идея. Я с активХ-ами плохо знаком. :) только по первымшагам.ру :)
artbear
91 - 29.09.2004 - 12:27
(88+) Как я уже отметил, теперь для модуля (текста) стало возможным не пользоваться хоткеем Цтрл-М, а вызывать макросы через Цтрл-2.
имхо когда скриптов становится больше 10, становится неудобным выполнять навигацию по ним и их макросам, поэтому и появился мой скрипт.
Доделаю группировку макросов, и выложу на опенконф.итланд.ру
ЗЫ К сожалению, Цтрл-2 работает только для текстовых модулей, на форме и других остается пользоваться только Цтрл-М. Хоткеи помогают, но не настолько хорошо (все не запомнишь)
Но я не теряю надежды, что Александр закроет и эту лазейку :)
IAm
92 - 29.09.2004 - 12:31
Написал самый примитивный
В функцию передается строка значений с разделителями
открывается форма выбора, возвращается выбранное значение.
Если значение не выбрано - возвращается пустая строка
trdm
93 - 29.09.2004 - 12:34
Если поможет вот еще идея:
такого же принципа активХ, только в виде дерева.
Заполняется из списка типа:
Документ.ПриходнаяНакладная.Фирма
Документ.ПриходнаяНакладная.ТЧ.Цена
Документ.ПриходнаяНакладная..Цена
....
Разделитель - точка (на выбор) одинаковые лексемы типа "Документ", одинакового уровня - один узел дерева.
Методы:
ЗагрузитьИзСписка()
Активировать("Документ.ПриходнаяНакладная..Цена"); открывается диалог с деревом активный узел: "Документ.ПриходнаяНакладная..Цена". Пример Активировать("Документ.ПриходнаяНакладная..Цена");
При выборе возвращает строку узла.
ЗЫ Пытался по быстрому набросать (83), но начальство озадачило :(
IAm
94 - 29.09.2004 - 12:38
93 Сейчас изображу
IAm
95 - 29.09.2004 - 12:42
С деревом хреново то, что TreeView контрол идет в виде ocx, честно говоря не знаю как его в ту же длл запихнуть
Harleq
96 - 29.09.2004 - 12:48
1.Можно ли сдалать поиск выделенного слова вниз или вверх по тексту. Приходиться копировать его поле для поиска, а уже потом искать.
2.Можно ли открыть обработку или отчет из строки, например есть строка ОткрытьФорму("Обработка.МояОбработка",,); и нажав правой кнопкой на слово "МояОбработка" выбрать "Перейти"
artbear
97 - 29.09.2004 - 13:09
(95) Нет проблем, использовать как обычный ком-объект. Ответил в аську
(96) 1) Вроде бы проблем быть не должно.
2) По правой кнопке открывается контекстное меню, там есть меню Шаблоны, в которое и могут свои пункты вставлять скрипты и плагины.
Я сегодня планирую выложить скрипт, который использует данную фичу телепата
artbear
98 - 29.09.2004 - 13:31
(ALL) На http://openconf.itland.ru/beta выложил
COM-объект для выбора нескольких значений из списка 0.9 от 29.09.2004
Автор: IAm
>>Пока самый примитивный:
>>Значения передаются с разделителем запятая,
>>заголовок фиксированный.
>>Пример:
>>Set SelObj = CreateObject("SelectValue.SelectVal")
>>ChosenVal = SelObj.SelectValue("1,2,3")
>>msgBox ChosenVal
PS Качать всем, кто пишет скрипты. имхо удобно. Дима обещал добавить еще необходимый функционал
trdm
99 - 29.09.2004 - 13:48
Ура, правда я скрипты не пишу :(
вым
100 - 29.09.2004 - 13:49
(94) сорри, а как этим пользоваться? чего где жмакнуть? когда срабатывает твоя длл-ка? просвятите плиз....
slavka
101 - 29.09.2004 - 13:53
(99) а теперь придется :-)
artbear
102 - 29.09.2004 - 14:02
ALL) На http://openconf.itland.ru/beta выложил
1) Порядок установки SelectValue (98+)
2) Два cкрипта для запуска макросы из меню модуля по Цтрл-2 версия 1.0
1 скрипт - показывает абсолютно все макросы из всех скриптов/плагинов в виде "Форматирование.FormatLines" (т.е. как они описаны в файле)
2 скрипт - позволяет после маленькой настройки показывать нормальные, русские описания макросов, т.е. "Форматирование текстового блока"
Теперь после совсем небольшой доработки последнего скрипта можно выполнять группировку макросов в меню:
например, группа "Конструкторы", "Форматирование", "Работа с формой" и т.д.
Установка:
Кинуть все содержимое архива в каталог Bin\Config от 1С, Загрузить Конфигуратор, открыть любой модуль в окне редактора текста (можно просто текст), нажать Ctrl-2, в меню появятся два новых пункта
"Макросы (полный список)" и "Макросы с удобным названием"
ЗЫ В связи с нехваткой времени пока не могу выложить все скрипты сразу, т.к. занимаюсь их описанием и систематизацией.
Magnus
103 - 29.09.2004 - 14:10
а вот у меня до сих пор телепат не работает, хотя делаю все так, как в хелпе написано. Может что подскажете?
orefkov
104 - 29.09.2004 - 14:11
Сейчас занят был писанием скрипта для работы с cvs и gcomp.
Встает такая же проблема. Быстренько дописываю ole-сервер
для: Перевод строк OEM-Ansi, выбор файла, выбор каталога,
выбор из списка, выбор из дерева, пометки в списке, вывод меню.
Хотя считаю данное решение временным, до выхода в опенконфе
работы с ActiveX-формами.
artbear
105 - 29.09.2004 - 14:18
(Александр) Как обычно, ты делаешь самые нужные вещи.
И как обычно, пиши меня как первого тестера :)
artbear
106 - 29.09.2004 - 14:27
(102+) При установке скриптов "Макросы в меню" неточно указал порядок установки:
1) Заново закачайте архив с опенконф.итланд.ру\бета
2) Установка:
Кинуть все содержимое архива (кроме каталога System) в каталог Bin\Config от 1С (именно Config, а не Scripts),
Кинуть файл macrosenum.dll (это СОМ-объект для доступа к макросам скриптов от Александра Орефкова) из каталога System куда-нибудь, кроме каталога Bin\Config,
выполнить команду regsvr32 macrosenum.dll
Загрузить Конфигуратор, открыть любой модуль в окне редактора текста (можно просто текст), нажать Ctrl-2, в меню появятся два новых пункта
"Макросы (полный список)" и "Макросы с удобным названием"
Тертый
107 - 29.09.2004 - 14:39
Артур, ну поясни как: "Кинуть все содержимое архива (кроме каталога System) в каталог Bin\Config от 1С (именно Config, а не Scripts)", если там есть уже папка Scripts, а? Накрыть ее, что-ли? Или скрипты просто добавить?
Тертый
108 - 29.09.2004 - 14:47
Не читайте 106):-)
Надо:
скрипты скопировать в папку Scripts, если она есть, если нет, то создать.
Macros.ini кинуть Bin\Config
длл-ку кинуть в Program Files\1Cv77\ и зарегить.
106) А ты не отвлекайся на всякие мелочи, ваяй еще чего-нить полезное!
artbear
109 - 29.09.2004 - 14:50
(107) А в чем проблема? Старое же содержимое папки Scripts не удалится, а новое добавится, что и требуется.
Тертый
110 - 29.09.2004 - 15:13
109) :-) я не стал рисковать!
a13x
111 - 29.09.2004 - 15:25
никто еще не думал сделать из компилятора 1С, написанного в рамках проекта 2С
active scripting language?
И скриптеров бы поприбавилось, и штуки вроде выборКаталога и прочее были бы...
DES
112 - 29.09.2004 - 15:39
А это у меня только глючит
Ctrl+2
Макросы с удобным названием
Открыть файл настроек плагина "Внешние формы"
где это файл должен быть ?
artbear
113 - 29.09.2004 - 15:49
(112) У тебя нету нужного скрипта и макроса! Добавить очень легко
В папке Config \ Scripts должен быть скрипт "ExtForms Explorer.vbs"
с текстом
' Макрос для быстрого открытия файла EFFolders.txt для плагина "ExtForms Explorer"
Sub OpenExtFormsExplorerParameters()
    Documents.Open BinDir & "Config\EFFolders.txt"
End Sub
Тертый
114 - 29.09.2004 - 15:56
113) А ранее он у тебя назывался ExtForms.vbs... у меня тоже вылетало, пока не переименовал по твоей подсказке.
DES
115 - 29.09.2004 - 15:58
(113) THX, жужить....
DES
116 - 29.09.2004 - 16:07
А чего теперь ругается на Scripts("Конструкторы ТЗ").PoiskZnacheniya
artbear
117 - 29.09.2004 - 16:14
(ALL) Народ, кто пользует мой скрипт "Макросы в меню", я привел пример настроечного файла Config\Macros.ini
У него очень простая структура, легко разберетесь, именно в нем указано, какие макросы и как будут показаны в меню шаблонов.
Отсутствующие у вас скрипты/макросы можно закомментировать (точка с запятой) или удалить.
ЗЫ Добавлю в скрипт проверку на наличие скрипта/макроса, чтобы не было проблем
Тертый
118 - 29.09.2004 - 16:17
117) "Добавлю в скрипт проверку на наличие скрипта/макроса, чтобы не было проблем" - а вот это дело!
DES
119 - 29.09.2004 - 16:20
Macros.INI
Конструкторы ТЗ.NovayaTabliza = Таблица значенией: создать новую
У меня есть - Таблица значений.vbs
в чем дело то ?
Незнайка на Луне
120 - 29.09.2004 - 16:22
Ctrl+2 почему не работет?
DES
121 - 29.09.2004 - 16:27
(120) только в тексте модуля, ИМХО
artbear
122 - 29.09.2004 - 16:37
(119) А повнимательнее посмотреть не судьба:
В строке
"Конструкторы ТЗ.NovayaTabliza = Таблица значенией: создать новую"
Конструкторы ТЗ - это имя скрипта без расширения (т.е. у тебя должен быть скрипт Конструкторы ТЗ.vbs)
В этом скрипте должен быть макрос NovayaTabliza
А пункт в меню для этого макроса будет называться "Таблица значенией: создать новую"
Вроде бы все просто :)
DES
123 - 29.09.2004 - 16:43
(122) Ой, звиняйте...
А где же этот скрипт надыбать? Еще раз прошу прощения ? ;-)
artbear
124 - 30.09.2004 - 08:02
Повторю свой вопрос:
ЕСТЬ ЛИ В ПРИРОДЕ КАКАЯ-НИБУДЬ ПРОГА ДЛЯ СБОРКИ ШАБЛОНОВ ИЗ АЛС-ФАЙЛОВ?
Удобно пользоваться, пока Александр не сделал работу после точки.
У меня есть только 1С:Harleq_GShaft (Редактор шаблонов *.st и синтаксис-помощника *.als), НО
с учетом нынешних возможностей телепата функция этой обработки его функция разбиения, например, строки "Получить" на подстроки типа
Полу
Получ
Получи
Получит
Получить
становится ОЧЕНЬ неудобной, т.к. все эти строки показаны в списке телепата.
Кто как решает подобную задачу (пока нет работы с точкой)?
artbear
125 - 30.09.2004 - 08:43
Кстати, был прикол при написании скрипта для работы с произвольными макросами:
Для запуска макросов использовал метод Execute.
На работе все было в порядке, перенес скрипт на свой ноутбук, и началось:
у меня установлен последний ДокторВеб, и он намертво заблокировал работу этого скрипта, потому что "файл заражен вирусом VVBS.Generic.134".
Стоило только закомментировать вызов Execute, все стало работать!
Проверил на СумантекАВ и КасперскийАВ, никаких проблем.
Так в итоге и пришлось довольствоваться Eval c некоторыми извращениями
DES
126 - 30.09.2004 - 09:13
Прошу пардону, а где скрипты ?
artbear
127 - 30.09.2004 - 09:14
Обновление cкрипта для запуска макросов из меню модуля по Ctrl-2 (версия 1.3)
Теперь можно использовать разделители и выполнять группировку макросов в меню:
например, группа "Конструкторы", "Форматирование", "Работа с формой" и т.д.
История версий:
Меню макросов из файла.vbs 1.3:
[+] в меню будут показаны только существующие макросы из списка макросов.
Меню макросов из файла.vbs 1.2:
[+] группы макросов в меню + разделители;
[*] скрипт обрабатывает выбор только из своего меню;
[*] из меню можно вызывать макросы этого скрипта;
Меню всех макросов.vbs 1.2:
[+] в меню будут показаны только существующие макросы из списка макросов.
common.vbs 1.2:
[+] методы Error, GetTextDocIfOpened, MacrosExists;
[*] более надежная работа с ошибками выполнения
Брать где обычно опенконф.итланд.ру\бета
DES
128 - 30.09.2004 - 09:16
(125)
последний ДокторВеб, и он намертво заблокировал работу этого скрипта
Запиши скрипт в исключения для докторавеба
DES
129 - 30.09.2004 - 09:19
я имею ввиду это:
"Конструкторы ТЗ.NovayaTabliza = Таблица значенией: создать новую"
Конструкторы ТЗ - это имя скрипта без расширения (т.е. у тебя должен быть скрипт Конструкторы ТЗ.vbs)
artbear
130 - 30.09.2004 - 09:24
(129) Пока эти скрипты здесь http://itland.ru/forum/index.php?showtopic=4456
(128) Естественно, пробовал задать исключение, но не помогло (даже после нескольких перезагрузок) :(
Да у тех, кто скачает скрипт, могли быть подобные приколы. Лучше без этих подозрительных сообщений.
DES
131 - 30.09.2004 - 09:33
Что то я не догоняю!
.
У меня есть скрипт Таблица значений.vbs
но нет Конструкторы ТЗ.vbs
.
Где взять его ?
slavka
132 - 30.09.2004 - 09:48
а никто не собирается делать подсветку текста при редактировании макросов? (ну типа как Far'овском colorere).
artbear
133 - 30.09.2004 - 09:48
(131) Буду краток: http://itland.ru/forum/index.php?showtopic=4456
ЗЫ Ты прогер или кто? пробуй, ищи и все получится :)
tigor
134 - 30.09.2004 - 10:24
На двух разных компьютерах: ОС W2000, v7 релиз 23, OpenConfig 1.0.1.4beta, в каталогах C:\Program Files\1C77.ADM\Bin\config находяться telepat.dll-версия 2.0.0.0,
в каталогах C:\Program Files\1Cv77.ADM\BIN\Config\scripts находятся telepat.vbs-последний(размер 21747 от 21.09.2004)
На одном компьютере все работает правильно, а втором - две ошибки.
Первая - При запуске конфигуратора "выскакивает" окно сообщений:
Ошибка выполнения скрипта.
Скрипт: teltpat
Файл:C:\Program Files\1C77.ADM\Bin\config\scripts\telepat.vbs
Строка:487
Позиция:4
Код: 0
Источник: Ошибка выполнения Microsof VBScript
Описание: Объект не является семейством:'Plugins'
Второе-При наборе в программных модулях 1С сочетания "с" срабатывает телепат и при выборе "СоздатьОбъект" на "правильном" компьютере формируется строка СоздатьОбъект(""), а на "неправильном" СоздатьОбъект(),
Так формировалась строка на предыдущих версиях телепата.
tigor
135 - 30.09.2004 - 10:26
134-Вдогонку telepat версии n
Тертый
136 - 30.09.2004 - 10:49
artbear!
Перенес с локального компа на сервант все из каталога 1Cv77: телепат, скрипты, плагины. macrosenum.dll зарегил, запускаю конфигуратор: "Ошибка выполнения скрипта... бла-бла-бла Меню макросов из файла.vbs.Объект не поддерживает это свойство или метод: "Matches"" и предлагает запустить отладчик скриптов. Стоит Вин2000 СП3? Артур, в чем тут дело? У меня на компе с ХР все нормально?
artbear
137 - 30.09.2004 - 11:39
(136) Для полноценной работы со скриптами тебе нужно установить Windows Script Host версию 5.6
Скачай с сайта микрософта.
Тертый
138 - 30.09.2004 - 11:47
137) Веришь - месяца 2 назад устанавливал. Именно 5.6. Что-то еще, наверное.
Тертый
139 - 30.09.2004 - 11:58
+138)Пардон, старая стояла...установил, но он просит перезагрузку, а это только вечером.
artbear
140 - 30.09.2004 - 11:59
(138) Проверь версию WSH
Выполни в командной строке cscript //logo
и посмотри версию.
Если 5.6 (в чем сомневаюсь), тогда заходи в отладчик и смотри, где глюк.
Если нет, переустанавливай еще раз
artbear
141 - 30.09.2004 - 12:03
(140) Перезагрузка необязательна, вот достаточный скрипт
"cscript regserver.js" (только пути в начале скрипта замени)
// Registrаtion script
var dlls=new Array(
"C:\\WINNT\\System32\\jscript.dll",
"C:\\WINNT\\System32\\vbscript.dll",
"C:\\WINNT\\System32\\scrrun.dll",
"C:\\WINNT\\System32\\scrobj.dll",
"C:\\WINNT\\System32\\wshext.dll",
"C:\\WINNT\\System32\\wshcon.dll",
"C:\\WINNT\\System32\\wshom.ocx"
);
var arrInWindows98=new Array(
true,
false
);
var WshShell = new ActiveXObject("WScript.Shell")
var unr=false;
if(WScript.Arguments.Count()>0) unr=WScript.Arguments(0)=="U";
if(unr)
  unregisterAll();
else
  registerAll();
function registerAll(){
    runAll(dlls)
}
function runAll(dlls, par){
  var bWindows98=Boolean(IsWindows98());
  for(var i in dlls)
  {
    if (bWindows98)
    {
      if (!runreg(i, dlls[i], par))
        break;
    }
    else
    {
      var j=(par==null)?i:dlls.length-i-1; // reverse
      if (!arrInWindows98[j])
        runreg(i, dlls[i], par);
    }
  }
} //runAll
function unregisterAll(){
    runAll(dlls.reverse(), "/U")
}
function runreg(i, dll, par){
    var fullPath=WshShell.CurrentDirectory+"\\"+dll;
    fullPath=dll;
// var cl="regsvr32 /s "+((par==null)?"":par+" ")+"scrobj.dll /n /i:\""+fullPath+"\"";
    var cl="regsvr32 /s "+((par==null)?"":par+" ")+"\""+fullPath+"\"";
    WScript.Echo("Выполняю "+"["+(new Number(i)+1)+"/"+dlls.length+"]:"+cl);
    var errcode=WshShell.Run(cl,1,true);
    WScript.Echo(((errcode==0)?"OK":"Ошибка")+" ( Код ошибки ="+errcode+")");
    return (errcode==0)?true:false;
} //runreg
function IsWindows98()
{
  if (WshShell.ExpandEnvironmentStrings("%OS%")=="%OS%") // Windows 98
    return true;
  else // Windows NT/2000/XP
    return false;
} //IsWindows98
Тертый
142 - 30.09.2004 - 12:24
А ни фига: запустил этот скрипт, сказала, что все ОК, запускаю конфигуратор - опять то же самое. Ладно, подождем до вечера.
artbear
143 - 30.09.2004 - 12:26
(ALL) Случайно никто не занимался подобной проблемой:
Есть ли у кого скрипт для сравнения/объединения текста текущего модуля с произвольным текстовым файлом?
Нужно для:
В исх. конфе (1), например, в форме справочнике есть мой код, в новой конфе (2) есть изменение метаданных, объединяю 1 и 2 с приоритетом 2, получаю 3 конфу. В ней нет моего кода. Теперь нужно добавить мой код из внешнего файла (или совсем хорошо из файла конфы 1), очень удобно воспользоваться программами для объединения текстовых файлов
orefkov
144 - 30.09.2004 - 13:12
(143)
А если выгрузить в файлы и какойнить диффалкой?
Тертый
145 - 30.09.2004 - 14:23
А хоткеи для макроса только из 2 сочетаний клавиш можно вешать?
artbear
146 - 30.09.2004 - 17:14
(145) 2 сочетания - это как? У меня, например, работает Ctrl + Alt + NumPlus
Или тебе надо Ctrl + Alt + Shift
ADirks
147 - 01.10.2004 - 09:07
Тут Артур посоветовал раскрыть страшную тайну :)
О том, как при помощи SendCommand выполнять любое действие, которое можно выполнить через меню. На самом деле SendCommand посылает окну сообщение WM_COMMAND с нужным параметром (Саш, я прав?). Параметр - это числовая константа, которую можно узнать, натравив на 1С что-нить типа Spy++ от МС, поставить фильтр сообщений по WM_COMMAND и нажав нужную кнопочку в конфигураторе. Потом посмотреть что там в wParam, и эту циферку можно смело подставлять в SendCommand (только надо перевести из hex в dec).
ADirks
148 - 01.10.2004 - 09:11
Почему-то после команды "выделить всё" в скрипте перестают действовать методы объекта TextDoc. Например:
Sub SelectAll()
  Set Doc = GetTextDoc(0)
  If Doc Is Nothing Then
    Exit Sub
  End If
  
  Line1 = Doc.SelStartLine
  Col1 = Doc.SelStartCol
  Line2 = Doc.SelEndLine
  Col2 = Doc.SelEndCol
  
  SendCommand(57642) 'command select all
  SendCommand(123170) 'Ctrl-Ins
  'Doc.Copy
  set wshShell = createObject("WScript.Shell")
  wshShell.sendKeys("^+l")
  wshShell.sendKeys(CStr(Line1 + 1))
  wshShell.sendKeys("{Enter}")
  
' Doc.MoveCaret Line1, Col1, Line2, Col2
End Sub
Закомментированные Doc.Copy и Doc.MoveCaret не работают. Причём Doc.Copy отрабатывает, но копирует в буфер то, что было выделено до вызова скрипта.
kir
149 - 01.10.2004 - 09:22
to orefkov,
(мечтательно) а случаем нельзя как нить вызывать сравнение текстов, которое делается в конфигураторе при объединении , только для указанных пользователем текстовых файлов ?
Тертый
150 - 01.10.2004 - 09:35
Артур, после перзагрузки серванта все, естественно, заработало нормально.
blazevic
151 - 01.10.2004 - 09:50
(149)
в меню "Файл" пункт "Сравнить файлы"
там и сравнивай свои два текстовых файла.
Работает также, как и при объединении конфигураций
artbear
152 - 01.10.2004 - 09:58
(149) А зачем? Внешние диффалки намного привлекательнее :)
На днях сделаю скрипт для вызова диффалки для текущего модуля
kir
153 - 01.10.2004 - 10:38
2(151) аж покраснел, блин столько лет работаю, а не знал ...
2(152) а можно будет сравнивать текущий текст, с сохраненным, т.е. колбасишь ты значит текст, а при сохранении тебе показываются изменения по сравнению с тем что на диске сохранено ? и еще какими сравнивалками сам пользуешься ?
orefkov
154 - 01.10.2004 - 11:05
(148)
Открою еще одну страшную тайну. SendCommand делает
PostMessage(WM_COMMAND,число,0)
Естественно, PostMessage 1С обработает ПОСЛЕ завершения
макроса. Делал сначала SendMessage, часто случались глюки.
Да, номера команд проще всего посмотреть любым
resorce view'ером в 1crcrus.dll
Номер 6
155 - 01.10.2004 - 11:35
А вот, пока, скрипт для для включения разметки в редакторе диалога:
function ВключитьРазметку()
{
  УстановитьПараметрыРазметки(4, 4, true, true);
}
function УстановитьПараметрыРазметки(nX, nY, bSnapToGrid, bShowGrid)
{
    if (Windows.ActiveWnd == null) return;
    if (Windows.ActiveWnd.Document != docWorkBook) return;
    if (Windows.ActiveWnd.Document.ActivePage != 0) return;
  
  with (new ActiveXObject("WScript.Shell"))
  {
    sendKeys("%");
    sendKeys("{RIGHT}{RIGHT}{RIGHT}");
    sendKeys("{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}");
    sendKeys("{ENTER}");
    sendKeys("{DEL}");
    sendKeys(nX);
    sendKeys("{TAB}");
    sendKeys("{DEL}");
    sendKeys(nY);
    sendKeys("{TAB}");
    if (bSnapToGrid) sendKeys(" ");
    sendKeys("{TAB}");
    if (bShowGrid) sendKeys(" ");
    sendKeys("{ENTER}");
  }
}
artbear
156 - 01.10.2004 - 11:36
(154) Мы с Алексеем уже догадались про PostMessage и подправили скрипт для копирования в буфер обмена.
Счас он его выложит
ADirks
157 - 01.10.2004 - 11:40
Ну вот, с учётом вышесказанного:
Sub SelectAll()
  Set Doc = CommonScripts.GetTextDoc(0)
  If Doc Is Nothing Then Exit Sub
  
  Line1 = Doc.SelStartLine
  Col1 = Doc.SelStartCol
  Line2 = Doc.SelEndLine
  Col2 = Doc.SelEndCol
  
  SendCommand(57642) 'command select all
  set wshShell = createObject("WScript.Shell")
  CmdLine = "cscript "
  wshShell.Run CmdLine, 0, true
  
  Doc.Copy
  Doc.MoveCaret Line1, Col1, Line2, Col2
  Status "Текст текущего модуля скопирован в clipboard"
End Sub
Лёлик
158 - 01.10.2004 - 14:12
2(orefkov) Саша, есть небольшой прикол - неверно отображаются в списке процедур и функций те процедуры, в названии которых есть украинские буквы
1C 23 sql
openconf 1.0.1.4
telepan вроде n
trdm
159 - 02.10.2004 - 20:49
^
Бодун
160 - 03.10.2004 - 15:35
Так, народ.
А может кто-нить все-тки знает, как открыть из ВБС форму (предварительно созданную и экспортнутую из ВБА в фрм+фрх файлы)???
Тогда б было б не просто хорошо, а просто ОЧЕНЬ КЛАССНО!
trdm
161 - 03.10.2004 - 16:13
Сделай плагин, засунь туда свою форму и вызывай.
В чем вопрос? работы минут на 30.
IAm
162 - 03.10.2004 - 18:08
160 Насчет VBA не знаю, а в VB делаешь например Active Document DLL и предоставляешь клиентской программе интерфейс, в процедурах которого открываются те или иные формы.
ShootNICK
163 - 03.10.2004 - 21:47
А ну кому синтаксис проверку хочется повесить на сочетание клавиш ! налетай ! 8-)
вот,короче, набор полезняшек...
'ShootNICK v.041001
'Напихал сюда обработчиков модуля чтоб расставить на них сочетания клавиш...
Sub CommentSelection()
  If Windows.ActiveWnd Is Nothing Then
     Exit Sub
  End If
  Set doc = Windows.ActiveWnd.Document
  If doc=docWorkBook Then Set doc=doc.Page(1)
  If doc<>docText Then
     Exit Sub
  End If
  doc.CommentSel()
End Sub
Sub UnCommentSelection()
  If Windows.ActiveWnd Is Nothing Then
     Exit Sub
  End If
  Set doc = Windows.ActiveWnd.Document
  If doc=docWorkBook Then Set doc=doc.Page(1)
  If doc<>docText Then
     Exit Sub
  End If
  doc.UnCommentSel()
End Sub
Sub FormatSelection()
  If Windows.ActiveWnd Is Nothing Then
     Exit Sub
  End If
  Set doc = Windows.ActiveWnd.Document
  If doc=docWorkBook Then Set doc=doc.Page(1)
  If doc<>docText Then
     Exit Sub
  End If
  doc.FormatSel()
End Sub
Sub Configurator_OnActivateWindow(W,A)
  
End Sub
Sub SelectAll()
 If Windows.ActiveWnd Is Nothing Then
     Exit Sub
  End If
  Set doc = Windows.ActiveWnd.Document
  If doc=docWorkBook Then Set doc=doc.Page(1)
  If doc<>docText Then
     Exit Sub
  End If
  
  SendCommand(57642) 'command select all
End Sub
Sub SyntaxCheck()
 If Windows.ActiveWnd Is Nothing Then
     Exit Sub
  End If
  Set doc = Windows.ActiveWnd.Document
  If doc=docWorkBook Then Set doc=doc.Page(1)
  If doc<>docText Then
     Exit Sub
  End If
  
  SendCommand(33297) 'синтаксический контроль
End Sub
Sub CloseMessageWindow()
SendCommand(32812) 'закрыть окно сообщений
End Sub
Sub Configurator_AllPluginsInit()
SendCommand(32812) 'закрыть окно сообщений
End Sub
orefkov
164 - 04.10.2004 - 09:01
(158) Можешь выслать таблицу кодировки для украинских символов?
artbear
165 - 04.10.2004 - 10:04
(163 & ALL) Все это полезно, но лично мне не нравится, как 1С работает с комментами модуля. Ведь закомментировать можно не произвольный блок (как в нормальных средах программирования), а только одну или несколько выделенных строк (приведенный скрипт обладает теми же недостатками).
Так вот ТЗ для тех, кто умеет писать скрипты, и обладает некоторым свободным временем:
сделать 2 макроса для комментирования/раскомментирования текста, которые должны уметь комментировать/раскомментировать любой произвольный текстовый блок (не только строки), а если выделение отсутствует, комментировать/раскомментировать текущую строку.
имхо это не очень сложно, но очень привлекательно.
Короче, задачка для ленивых программистов :))
ЗЫ сам пока никак не освобожусь от основной работы :(
IAm
166 - 04.10.2004 - 10:40
165 Что-то не понял про произвольный блок
trdm
167 - 04.10.2004 - 13:52
(166) По моему он имел в виду случай когда выделение текста начинается не с 1-ой позиции n-ой строки а допустим с 12 символа и заканчивается на строке n [+x | -x] и не на последнем (?) символе.
Вроде так?
P.S. У кого есть нормальная иконка на mxl и еrt?/
К сожалению скриптами не владею :(
artbear
168 - 04.10.2004 - 14:00
(166,167) Да, именно такую ситуацию.
Хочется, понимаешь, удобств :)
Лёлик
169 - 04.10.2004 - 15:17
2(orefkov) ОК, вышлю
Фолькишер Беобахтер
170 - 04.10.2004 - 15:20
У всех такое, при использовани телепата:
На реквизите нажимаешь правую кнопку мыши/Свойства - видно маленькое окошечко свойств - понятно... Теперь, открываем Ворд, потом переходим опять в конфигуратор - остается фоном окно ворда, и на нем - окошечко совйств реквизита, и только после закрытия окошечка происходит открытие окна конфигуратора.?
Мириться?
Oblomov
171 - 04.10.2004 - 16:16
Если, я тебя правильно понял, то нет. Ничего подобного не наблюдаю.
ShootNICK
172 - 04.10.2004 - 16:29
165 - делалось прежде всего для ситнаксис проверки, задолбало, понимаешь, на иконку в панели жать....а так автоматизированный процесс :) проверил, закрыл окошко... а насчет выделения - да есть такая мысль что хочется и произвольную строчку закомментировать и плохо выделенный блок... как время будет что нить придумаем :) а то и кто опередит, в таком случае немедленно воспользуемся.
Тертый
173 - 04.10.2004 - 16:36
Не, молодца насчет СПроверки и выделить все. На "выделить все" хоткеев не было вроде. А "Alt + Д + И" для СПроверки тоже не удобно.
trdm
174 - 04.10.2004 - 18:27
(164) Как продвигается проект?
Интересен вопрос: реакция 1С на данный проект, что нибудь слышно? Актуальна шутка про 23-24 релиз?
trdm
175 - 04.10.2004 - 20:47
Плагин самоделка :)
http://trdm.mail333.com/ExtFile.rar
типа "Проводника"
SlonSpb
176 - 05.10.2004 - 01:04
(172) может, тебе стоит просто нормальную мышь попробовать купить ?
а то я смотрю, ты всё делаешь, чтобы ей вообще перестать пользоваться :)
fez
177 - 05.10.2004 - 01:28
(176) А вообще-то с клавиатуры быстрее работать, чем с мышью.
ShootNICK
178 - 05.10.2004 - 01:56
176 - пробовал. шуршать мышой и прицеливаться все равно не хочется. :) Что касается целей, ты прав - я делаю все чтобы перестать работать с мышью.
Бодун
179 - 05.10.2004 - 02:36
Только что проверил на 23-м релизе: "плохо" выделенный фрагмент по Ctrl + / превращается в комментированный "хорошо" выделенный фрагмент... это у меня 1С глючит?
ЗЫ:
2(77), Саша (Орефков)
п.3.: алс по ВБСкрипту, если нетрудно, кинь на donor(плюх)писем.нет
п.4.: а без stop-а в скрипте - никак?
artbear
180 - 05.10.2004 - 06:47
(179) Да, ты прав. Но я вчера специально проверял и не работало :(
ЗЫ Утро вечера мудренее.
artbear
181 - 05.10.2004 - 07:41
(ALL) Чувствую, что пора открывать на сайте Опенконфа новый раздел "Скрипты для Опенконфа" :)
(orefkov) Что скажешь?
ЗЫ Сделал еще один скрипт (№1) в помощь разработчикам скриптов - ему можно указать разрабатываемый скрипт (№2), и в дальнейшем легко(через хоткей) перезагружать скрипт №2 столько раз, сколько нужно для полной разработки и отладки скрипта (также, если скрипт №2 делаем в среде ВБ, перед перезагрузкой скрипт №1 комментирует первую строку скрипта №2 "Attribute VB_Name ...", на которую ругается Конфигуратор)
artbear
182 - 05.10.2004 - 10:15
(orefkov)
Вроде бы баг при выборе файла:
    Set srv = CreateObject("Svcsvc.Service")
    sNameDevelopScript = srv.SelectFile(False, "", "VB скрипты|*.vbs;JS скрипты|*.js;Все файлы|*", False)
В результате при выборе файла в поле фильтра всего 2 позиции (вместо нужных трех)
1) VB скрипты
2) *.js;Все файлы
или я ошибся с фильтром ?
orefkov
183 - 05.10.2004 - 10:32
(174) Работаю потихоньку. Какой-либо реакции от 1С нет.
(179) Кину. Чуть попозжа.
Без stop можно. На примере MS ScriptEditor, входящего в офис:
в папке офиса находишь mse7.exe. Запускаешь.
В меню Debug\Processes находишь 1с, подключаешься.
Тогда в Debug\Windows появляется Running Documents
Открываешь нужный скрипт, ставишь точку останова.
(181) Да, раздел для скриптов было бы отлично.
(182) Фильтр дожен быть:
"VB скрипты|*.vbs|JS скрипты|*.js|Все файлы|*"
trdm
184 - 05.10.2004 - 11:05
(182)+(183(182)) В С++ и 1С на сколько помню фильтр должен заканчиваться "|" иначе начинаеются фичи со списком типов файлов.
Иии эта ситуация обойдена?
trdm
185 - 05.10.2004 - 11:09
Еще вопрос с отладкой плагинов. Делаешь dll типа debug и конфигуратор ругается, делаешь release - все в норме, тока возможности отладки нету :(.
Или я чего-то недопонимаю? Приходится сначала погонять пример где нибудь в др. проектике, а уж потом грузить классы в основной.
Daisy
186 - 05.10.2004 - 11:17
Почему может не работать CodeJump? OpenConf 1.0.1.4 , Телепат тоже последний скачан. Пункты меню по CodeJump тоже не активны:(
Тертый
187 - 05.10.2004 - 11:56
ShootNICK и все, кто умеет писать скрипты. Может еще хоткей сделаешь для "Открыть модуль в отладчике"? Было бы здорово! Посмотри, может, получится?
slavka
188 - 05.10.2004 - 12:39
(183) может алс по ВБСкрипту выложить куда нить в общий доступ?
ADirks
189 - 05.10.2004 - 12:57
(187) О! Хорошая мысль! И на F9 повесить...
Sub OpenInDebugger()
  SendCommand(33285)
End Sub
orefkov
190 - 05.10.2004 - 13:21
(185)
Там глюки из-за того, что 1С при работе подгружает релизные
версии mfc42.dll, а плагин отладочные (mfc42d.dll)
Обходится это так:
Заходишь в меню Build\Configuration...
Удаляешь конфигурацию Win32-Debug
Жмакаешь Add. Выбираешь копировать все установки
из Win32-Release.
Далее идешь Project\Settings
Выбираешь новую конфигурацию.
На вкладке Debug указываешь файл для запуска - путь к 1С,
там же прописываешь рабочий каталог (bin),
и для удобства аргумент комстроки config
На вкладке С++ указываешь:
Optimization: Disable (Debug)
Debug info: Program Database for edit and continue
На вкладке Link
Output file name: прописываешь "путь до папки плагинов"/yourplugin.dll
Ставишь галки Generate Debug Info, Link incrementally.
Все, для отладки используй эту конфигурацию.
Для твоих сорцов будет возможность отладки, но в MFC
функции не попадешь, тк будет использоваться релизная mfc42.dll
ОпенКонф и Телепат отлаживаются именно так.
Тертый
191 - 05.10.2004 - 13:39
ADirks, замечательно! На F9 и повесил.
trdm
192 - 05.10.2004 - 18:01
Спасибо.
trdm
193 - 05.10.2004 - 18:09
Странно, но в отладке ВК такого нет, видимо предусмотрели специально.
ShootNICK
194 - 05.10.2004 - 20:47
2 Orefkov по turboMD - есть/будет возможность подменить выгруженный модуль в отладчике ?
KRIHA
195 - 05.10.2004 - 22:41
Хочу повторить свою просьбу-предложение
"Есть предложение. Когда выпадает список с вариантами, то по нему можно перемещаться только вниз до "дна", а потом вверх до "горлышка" - с "горлышка" на дно одним нажатием стрелочки вверх (как это обычно в связанном списке) не получиться. А часто это удобно, так как видишь например, что нужный вариан последний, но щелкать долго :-)
Это полезно, думаю, так же и в случае со списком Методов модуля (когда фильтруется список). Может быть много процедур с одинаковым началом названия...
"
АБЗ
196 - 06.10.2004 - 05:18
Открытый конфигуратор 1.0.1.2(бета) + Телепат 2.0.0.0n. при записи конфигурации иногда ХР вываливается в синий экран, снимает дамп и перезагружается. Причем MD востановлению не подлежит... Жаль, но пришлось перейти на штатный конфигуратор.
artbear
197 - 06.10.2004 - 06:36
(195) >> много процедур с одинаковым началом названия.
Повторюсь для всех, кто вдруг не знает, в списке Методы модуля с фильтрацией ищутся строки НЕ ТОЛЬКО по начальным символам, а ВООБЩЕ ПО ПОДСТРОКАМ.
Например, зайдите в глобальник бухии и наберите последовательно (без кавычек)
"вы" пробел "ра", и увидите очень удобный результат
(196) ОБЯЗАТЕЛЬНО используй Опенконф версии 1.0.1.4 (на крайний случай 1.0.1.3)
телепат стабильно работает только с ними (что, кстати, четко написано в описании)
И штатному уже никогда не вернешься :)
АБЗ
198 - 06.10.2004 - 06:37
(197) Сейчас попробую
KRIHA
199 - 06.10.2004 - 08:55
(197) О гуру, падаю ниц! :-)
В любом случае будет полезно если список будет вести себя "как обычно" - к последнему элементу с первого одно нажатие стрелочки "вверх"
ob36
200 - 06.10.2004 - 08:58
И снова 200!
artbear
201 - 06.10.2004 - 09:34
Тогда уж не 200, а 1600 :)
trdm
202 - 06.10.2004 - 09:43
Debug info: Program Database for edit and continue - нету такого.
Не получается, буду ковыряться.
artbear
203 - 06.10.2004 - 09:44
(199) Да, согласен! Переход вниз через стрелку вверх - это удобно
KRIHA
204 - 06.10.2004 - 11:31
(203) Ну так нет этого в телепате... может будет, а? :-)
artbear
205 - 06.10.2004 - 11:46
(204) Думаю, будет! Александр все полезные предложения записывает и делает. Вопрос только во времени :(
счас основное желание и его, и большинства остальных - работа с точкой (после точки).
artbear
206 - 06.10.2004 - 11:48
(204) Пока могу порекомендовать использовать просто Ctrl-PageUp (или Ctrl-PageDown)
ShootNICK
207 - 07.10.2004 - 14:13
еще хоткей на закрытие синтсксис помощника
Sub CloseSynHelp()
SendCommand(45098) 'закрыть синт. помощник
End Sub
trdm
208 - 07.10.2004 - 14:56
(207) Это супер. Я этого ждал :) :) :) :) :) :) :) :) :) :) :) :) :)
Что там еще за вкусности может справочник сделать?
IAm
209 - 07.10.2004 - 15:09
Хотите скрипт, который у всех реквизитов выбранного справочника или документа автоматом проставит синоним как в 8ке?
ShootNICK
210 - 07.10.2004 - 15:27
208 -какой такой справочник ? :)
IAm
211 - 07.10.2004 - 15:31
Не понял, а как писать свойства объектов, если у Props.Item
стоит read-only?
orefkov
212 - 07.10.2004 - 16:07
(211) Пока никак. Чтение строкового значения свойства
у всех объектов на техническом уровне одинаково, а вот присвоение...
Там для каждого типа объектов надо писать свою частную реализацию,
руки не доходят. Пока сделано только для констант, перечислений,
несколько свойств объекта "Задача".
Тертый
213 - 07.10.2004 - 16:13
ShootNICK, ну, прям в воду глядел... Тока сегодня в обед об этом думал, уж больно на нем маленькая кнопка.
cathode
214 - 07.10.2004 - 16:27
Народ! Подскажите, пожалуйста, можно ли сделать макрос, который автоматом делает "Edit - Select All"? Просто задолбало уже, что на это дело 1С хоткея не назначила.
trdm
215 - 07.10.2004 - 16:31
(207) Не канает, грешно смеяться над больными людьми. :(
Тертый
216 - 07.10.2004 - 16:33
207) канает, надо, чтоб курсор в СП был... Давай далее..."Поиск во всех текстах"
trdm
217 - 07.10.2004 - 16:35
(210) Я так понял 45098 и тому подобные являются идентификаторами пункта либо меню, либо акселератора и т.п. все это можно посмотреть.
Вырезать из 1С и задокументировать. Или как?
Тертый
218 - 07.10.2004 - 16:35
2 214) читай 163)
cathode
219 - 07.10.2004 - 16:40
(218) Спасибо. Когда ветку читал, код глазами пропускал. Как оказалось - зря.
trdm
220 - 07.10.2004 - 16:42
(217) Так....., значит если я долблю текст, и мне мешает синтакс-помощник, мне все равно надо сделать телодвижение в его сторону. (Песиместически).
Значит будем двигать телом :) (Оптимистически).
Тертый
221 - 07.10.2004 - 16:54
220) (Пессимистически), да, если уж сам с собой говоришь... А скорее так: поискал там чего надо - и закрыл нафиг.
trdm
222 - 07.10.2004 - 17:03
is tru.
trdm
223 - 07.10.2004 - 17:29
(212) Саша, у меня не хватает знаний на то, чтобы пользоваться возможностью работы опенконфа с конфигуратором из С++.
В голове роятся идеи для плагинов, а вот осуществить не получается.
Не мог бы ты скинуть исходники хотя-бы первого телепата?
У меня достаточно опыта, чтобы изучить возможности по примерам.
Но не хватает времени на теорию :(.
Даже скрипты уже научился писать :)
artbear
224 - 07.10.2004 - 17:49
имхо первый телепат без опенконфа работает с Конфигуратором, самостоятельно перехватывает функции 1С
ShootNICK
225 - 07.10.2004 - 18:18
217 - ну да. но не вырезать, а поймать или подсмотреть wm_command.
216 сразу три иконки :)
Sub GlobalSearch()
SendCommand(33207) 'поиск во всех текстах
End Sub
Sub SearchSynHelp()
SendCommand(33879) 'поиск синт. помощнике
End Sub
Sub OpenSynHelp()
SendCommand(33870) 'открыть синт-помощник
End Sub
ShootNICK
226 - 07.10.2004 - 18:20
217 поищи в этой ветке - писалось как и чем это сделать.
MetaEditor
227 - 08.10.2004 - 05:54
а как бы эта, ну установит фокус в окно синтиксисхелпера, чтоб закрывать можно было прямо из модуля, думаю это было бы логическим завершением
Sub CloseSynHelp()
' вот тут поставить на него фокус
SendCommand(45098) 'а тут уже закрыть синт. помощник
End Sub
Пузырь
228 - 08.10.2004 - 06:21
(227) Хорошо бы ещё вернуть фокус обратно...
MetaEditor
229 - 08.10.2004 - 07:02
228) ага, и обратно...
Пузырь
230 - 08.10.2004 - 08:54
А как ваще там фокус можно переключить?
Чё-то присваивание Windows.ActiveWnd не помогает...
MetaEditor
231 - 08.10.2004 - 08:57
230) подожди, еще не все проснулись
vS
232 - 08.10.2004 - 09:40
ой, а я тоже хочу СП закрывать горячкой :) только я не особо шарю в энтих макросах... просто некогда :(
orefkov
233 - 08.10.2004 - 12:12
Пример скрипта для закрытия окна синтакс-помощника из любого
положения.
Dim closesp
closesp=false
Sub Configurator_OnIdle()
  if closesp then closesp=false:SendCommand 45098
End Sub
Sub Configurator_OnDoModal(Hwnd, Caption, Answer)
  if closesp and Caption="Контекстный поиск" then Answer=mbaOK:Exit sub
End Sub
Sub SynaxHelperClose()
  closesp=true
  SendCommand 33879
End Sub
Phoenix
234 - 08.10.2004 - 12:39
(233) проверь мыло, правильный 2 вариант.
Пузырь
235 - 08.10.2004 - 12:43
(233) Это самый простой способ решения проблемы с фокусом?
Может есть какой-нибуть SetFocus или SetActiveWindow?
trdm
236 - 08.10.2004 - 12:47
Идентификатор дерева синтакс-помошника 'Tree1' если поможет.
vS
237 - 08.10.2004 - 12:57
Сенкс, работает
спасибо огромное... как дойду, вышлю бонус :) давно пора, да все руки не доходят... до кассы
Пузырь
238 - 08.10.2004 - 13:01
(236) Где ты это подсмотрел?
orefkov
239 - 08.10.2004 - 13:09
В объект Windows опенконфа добавил метод
ShowPanel(Caption As String, Show As boolean)
Позволяет отобразть/скрыть любую панель по ее заголовку.
В том числе и пристыковываемые окна.
(Синтакс-помощник, Список найденных вхождений, окно сообщений и тп)
К вечеру выложу на сайт.
trdm
240 - 08.10.2004 - 13:24
(238) Спай++ (Spy++) из компекта мелкософт визуал-студии 6.0.
Позволяет видеть жизнь виндов изнутри. Посмотри тут:
http://www.firststeps.ru/mfc/steps/r.php?47
MetaEditor
241 - 08.10.2004 - 13:27
239) Александр, спасибо...
Оперативность на высшем уровне....
Данила хМастер
242 - 08.10.2004 - 13:27
(ArtBear, 124)
RE:
Повторю свой вопрос:
ЕСТЬ ЛИ В ПРИРОДЕ КАКАЯ-НИБУДЬ ПРОГА ДЛЯ СБОРКИ ШАБЛОНОВ ИЗ АЛС-ФАЙЛОВ?
Удобно пользоваться, пока Александр не сделал работу после точки.
У меня есть только 1С:Harleq_GShaft (Редактор шаблонов *.st и синтаксис-помощника *.als), НО
с учетом нынешних возможностей телепата функция этой обработки его функция разбиения, например, строки "Получить" на подстроки типа
Полу
Получ
Получи
Получит
Получить
становится ОЧЕНЬ неудобной, т.к. все эти строки показаны в списке телепата.
Кто как решает подобную задачу (пока нет работы с точкой)?
 *** ОТВЕТ:
Я этот Gshaft переделал, теперь есть выбор как генерить: "Для Телепата" / "Как обычно".
Куда кидать?
Пузырь
243 - 08.10.2004 - 13:30
А у синтакс-помощника какой Caption?
Когда он пристыкован, выводит заголовок текущего окна типа "Форма-Документ.АвансовыйОтчет"
artbear
244 - 08.10.2004 - 13:35
(Александр) (мечтательно) Случайно не добавил возможность открытия метаданных (двойной щелчок, например, на конкретном справочнике или документе) ?
artbear
245 - 08.10.2004 - 13:38
(242) Кидай мне! Выложу на сайт опенконф.итланд.ру
ЗЫ и другим пригодится
Данила хМастер
246 - 08.10.2004 - 13:40
0, ArtBear. Так что, генератор шаблонов ф-ций для Телепат кидать, или как?
MetaEditor
247 - 08.10.2004 - 13:42
244) это ты как, чтоб открывалась сразу форма документа или что?
Данила хМастер
248 - 08.10.2004 - 13:43
+246. Простите, ошибся.
245 - кидаю.
ShootNICK
249 - 08.10.2004 - 14:28
239- наколол так наколол :)
artbear
250 - 08.10.2004 - 14:30
(247) Нет, чтобы открывалась та форма, через которую мы можем менять метаданные (для документа, например, там есть 2 таблицы реквизитов)
ShootNICK
251 - 08.10.2004 - 14:32
244... Господа! Господа! по моему отвлекаем творца от работы с точкой :)))

Rambler's Top100 1C:TOP-100

© 1998-2004 Fedor Ezeev.

Last updated: 2005-12-06