Персональная страница Федора Езеева
Главная
Download
Ссылки
MS SQL
Обмен данными
Новости
Статьи
О себе
Крупные разделы...
Коллективная разработка
1С++, OOP, XP
FuncTest
FAQ
Структура 1cv7.md
Телепат 2.0.0.0 (пререлиз) (продолжим ?)
artbear
31.08.2004 - 15:42
Давайте здесь продолжим!?
fez
1 - 31.08.2004 - 15:44
Для тех, кто только что присоединился.
.
Сабж
http://openconf.itland.ru/beta/telepat.zip
FAQ
http://1c.alterplast.ru/faq/telepat.html
Oblomov
2 - 31.08.2004 - 15:52
А чего продолжать. Слава богу все высказали своё мнение. Орефков поступит так, как считает нужным. Ждём релиз.
Xmen
3 - 31.08.2004 - 15:54
Как бы непоступил всеравно сломают
Harleq
4 - 31.08.2004 - 15:56
все в той ветке продолжают, а ты что?
Harleq
5 - 31.08.2004 - 16:03
Оказывается телепат еще умеет палочку горизонтальную ставить
artbear
6 - 31.08.2004 - 16:05
Еще одна фича.
Не знаю, сам Саша придумал или кто-то подсказал, но вещь удобная.
Сам тащусь с этой фичи несколько дней!
artbear
7 - 31.08.2004 - 16:08
Давайте по теме:
Кто пользуется галочкой "Фильтровать" для окна "Методы модуля" ?
orefkov
8 - 31.08.2004 - 16:10
Я пользуюсь
fez
9 - 31.08.2004 - 16:10
А еще телепат умеет преобразовывать конструкцию
Переменная +=
в
Переменная = Переменная +
.
А еще конструкция
Переменная ++
преобразуется в
Переменная = Переменная + 1
.
Вот. :)
Bot
10 - 31.08.2004 - 16:11
А ещё Телепат может вертикальную палочку ставить, напр. когда текст запроса пишешь... Штука просто в разы увеличивает скорость кодирования...
IAm
11 - 31.08.2004 - 16:12
6, 7, 9
Че, уже 30 баксов стоит?
orefkov
12 - 31.08.2004 - 16:14
Давайте все же разберемся с горизонтальными и вертикальными палочками.
Вертикальную помню делал, а горизонтальная где?
fez
13 - 31.08.2004 - 16:17
(12) я полагаю, что Harleq просто спутал параллель с перпендикуляром. Бывает.
АЛьФ
14 - 31.08.2004 - 16:17
2(12) А это вертикальная, но для клиентов "Би-Лайн" :)
Harleq
15 - 31.08.2004 - 16:18
прикол, он видет реквизиты формы
IAm
16 - 31.08.2004 - 16:20
12 Китайскую кодировку установи
Рупор абсурда
17 - 31.08.2004 - 16:21
Скачал, установил ...
Почему у меня не дописываются имена процедур, функций и т.п.?
Рупор абсурда
18 - 31.08.2004 - 16:26
(17)+ Другие фишки вроде как-то работают ...
WWWolfy
19 - 31.08.2004 - 16:28
2(orefkov) Ты с Авто разобрался? Про то что я вчера говорил.
Harleq
20 - 31.08.2004 - 16:28
прикол, он начал писать за меня текст модуля
KRIHA
21 - 31.08.2004 - 16:30
(20) Ctrl+Пробел - звершает текст модуля :-)))
IAm
22 - 31.08.2004 - 16:30
А я вчера начал обработку писать, написал Процедура и заснул, утром проснулся - фигак - тестирует.
orefkov
23 - 31.08.2004 - 16:33
(22)
Фигня. У меня такое уже просто с "Проц" происходит.
IAm
24 - 31.08.2004 - 16:38
Ещё она умеет после СоздатьОбъект("Справочник." список справочников выдавть. Это правда и шаблоны умеют но более тупо и лажово.
Жаль после набора Перечисление. ничего не выскакивает.
Без тапок
25 - 31.08.2004 - 16:42
а действительно, что дает галочка "Фильтровать" для окна "Методы модуля" ?
как-то разницы не замечаю
Начинаю психовать
26 - 31.08.2004 - 16:42
(24) Дим, попробуй ещё раз. У меня всё получается.
Harleq
27 - 31.08.2004 - 16:42
23) а если я вот подумаю, что вот тут надо написать комментарий, он мне напишет, то что я думаю?
Начинаю психовать
28 - 31.08.2004 - 16:44
(24) а. это шаблоны :-/
Harleq
29 - 31.08.2004 - 16:53
А в отладчике список процедур старый вызывается
orefkov
30 - 31.08.2004 - 16:54
(27)
Нет. Он напишет, что ОН думает. О тебе :)
fez
31 - 31.08.2004 - 16:58
(29) Перезагрузи компьютер.
Harleq
32 - 31.08.2004 - 17:04
31) Спасибо, помогло
Harleq
33 - 31.08.2004 - 17:11
А что там за макросы, формы, скрипты и т.д.?
SKrin
34 - 31.08.2004 - 17:13
Хотелось бы что-бы после Завершения "Проц" он вставлял комментарии //***...
строчкой вверх
fez
35 - 31.08.2004 - 17:13
(33) http://itland.ru/forum/index.php?showforum=37 читать все подряд
artbear
36 - 31.08.2004 - 17:15
(25) По поводу "Фильтровать" ты попробуй набрать в окне процедур 2 набора строк типа "обр" и "опл". Общий список процедур урежется только до тех, в которых встречаются обе этих строки.
Похожее поведение во многих средах разработки.
fez
37 - 31.08.2004 - 17:15
(34) А мне бы очень не хотелось.
(orefkov) Саш, я же говорил, что такие штуки нужно сделать настраиваемыми.
IAm
38 - 31.08.2004 - 17:16
34 Такие вещи делаются элементарно шаблонами
artbear
39 - 31.08.2004 - 17:17
(fez) тут много чего надо делать настраиваемым.
Мне, вот, например, не нравится, что настройки телепата хранятся для каждой конфы отдельно.
Или галочка "Фильтровать" по умолчанию выключена, что не есть гуд.
Рупор абсурда
40 - 31.08.2004 - 17:21
Мля! Нифига у меня не работает!
Имхо, не просто бесполезная, а вредная штуковина получилась!
 
Чтоб я ещё когда скачал, какую-нить бяку раньше, чем появятся нормальные доки, факи и т.п. ...
Столько времени зря угрохал ...
artbear
41 - 31.08.2004 - 17:23
(40) Давай раскладку по времение:
когда скачал, когда обнаружил, что нету доков, когда все проклял.
ЗЫ я к тому, что и ФАК уже приличный сделали, и вопросы оперативно решаем сообща :))
XTaurus
42 - 31.08.2004 - 17:24
(39) Кстати, верно подмечено. Я тоже уже беситься начинаю ;)
kir
43 - 31.08.2004 - 17:26
а можно еще сделать авто выравнивание при множественном присвоении, пример:
а = 1;
абвгд = 2;
чтобы делалал
а = 1;
абвгд = 2;
artbear
44 - 31.08.2004 - 17:26
Ну, вы, блин, даете! (с) Особенности национальной охоты
Мы с народом тестим уже далеко не первую неделю, никаких чувств, кроме восхищения и азарта, не появлялось.
Что мы делаем не так?
Harleq
45 - 31.08.2004 - 17:26
фильтрует неправильно
kir
46 - 31.08.2004 - 17:28
+43 упс, улетели пробелы
короче чтобы знаки = были в одной колонке
Harleq
47 - 31.08.2004 - 17:30
35) а более популярно сказать нельзя?
XTaurus
48 - 31.08.2004 - 17:30
Если (44) - мне, то представь, что ты сопровождашь ~60 баз и в день работаешь минимум с 5 разными из них.
fez
49 - 31.08.2004 - 17:30
(43) Попробуй выделить кусок модуля и наать комбинацию Ctrl + Alt + F.
Тебе понравится.
.
Кстати, без телепата эта штука тоже работает.
IAm
50 - 31.08.2004 - 17:32
49 Попробовал, с закладки Модуль перескочила на закладку Описание. очень понравилось, хотя и не понял смысла :)
artbear
51 - 31.08.2004 - 17:33
(48) фра ?
XTaurus
52 - 31.08.2004 - 17:34
(51) Да нет - просто очень много в компании юр. лиц.
artbear
53 - 31.08.2004 - 17:35
Цтрл+Шифт+F
fez
54 - 31.08.2004 - 17:35
(50) Облажался. Вместо Альта - Шифт.
IAm
55 - 31.08.2004 - 17:36
53 Нифейхуа не происходит
fez
56 - 31.08.2004 - 17:37
(55) А ты сбей форматирование модуля, а потом повтори.
artbear
57 - 31.08.2004 - 17:38
(IAM) ты текст выделял?
А вообще меню Текст - Блок - там все увидишь :))
kir
58 - 31.08.2004 - 17:38
2(49) эта комбинация делает несколько иное, она выравнивает по левому краю
а мне хоца выравнивать по знаку равно, это использую при присвоении множеству значений с днинными именами, потому что когда все в кучку получается нечитабельно
IAm
59 - 31.08.2004 - 17:40
57 Канэшна, вот это блок выделил
НовыйКонтрагент.ПолнНаименование = ТаблицаФайла.НаименованиеКонтрагента;
НовыйКонтрагент.ЮридическийАдрес = ТаблицаФайла.АдресКонтрагента; НовыйКонтрагент.ПочтовыйАдрес = ТаблицаФайла.АдресКонтрагента;
НовыйКонтрагент.ИНН = ТаблицаФайла.ИНН_КПП;
НовыйКонтрагент.ВидКонтрагента = Перечисление.ВидыКонтрагентов.Организация;
думал ща как форматнет, чтобы "=" на одном уровне были и нифига.
Через меню та же фигня
artbear
60 - 31.08.2004 - 17:41
(58) Это можно скриптом к Опенконф сделать при большой необходимости.
SwaT
61 - 31.08.2004 - 17:41
(58) openconf + скрипт, написанный тобой самим - решение твоей проблемы.
kir
62 - 31.08.2004 - 17:41
2(59) точно, именно это и хочется, на мой взгляд не так трудно сделать, по крайней мере чтобы простейший случай обрабатывался
IAm
63 - 31.08.2004 - 17:42
60 Покажи пример скрипта получающего из активного окна выделенный текст и меняющего его и как этот скрипт вызвать во время правки текста - я сделаю.
artbear
64 - 31.08.2004 - 17:43
(60+) но можно и в телепат засунуть (при ОЧЕНЬ большой необходимости)
Имхо работа после точки - счас основная задача.
ЗЫ это будет "решающим ударом" (с) Саша Орефков
IAm
65 - 31.08.2004 - 17:44
И ещё есть готовый алгоритм на VB для форматирования строки пробелами,
то есть
А=Контр.НайтиПонаименованию("Фигня",0,1);
преобразуется в
А = Контр.НайтиПонаименованию("Фигня", 0, 1);
=======================
Это правда Орефков собирался сделать в телепате
kir
66 - 31.08.2004 - 17:47
2(64) да я как бы и не настаиваю , ежели никому не нать, значит будем сами править....
SFG
67 - 31.08.2004 - 18:09
Народ, просветите, как с макросами работать и скриптами?
Harleq
68 - 31.08.2004 - 18:11
67) не хотять они ответчать, посылают все куда то
artbear
69 - 31.08.2004 - 18:13
Главное, не в Перу же посылают.
А на нормальные страницы с ФАК-ами :))
SFG
70 - 31.08.2004 - 18:17
Ну пошлите меня на нормальную страницу с ФАК-ами :))
IAm
71 - 31.08.2004 - 18:17
69 Пример где?
Где пример я тебя спрашиваю?
:)
sherus
72 - 31.08.2004 - 18:18
Я глубоко извиняюсь. Я по поводу защиты.
А может воспользоваться оптом Павла Шемякина (toypaul)
У него есть понятие файла лицензий. По файлу лицензий можно определить владельца лицензии.
Если владелец не совпадает с пользователем, то проблемы Владельца лицензии.
Если воровство в России и норма, то во всяком случае будем знать кто занимается распространением, а это уже хорошо.
Можем принять соответствующие меры.
Maniac
73 - 31.08.2004 - 18:23
Я вам скажу, вы столько тут болтаете. было бы ради чего. Компонента конечно прикольная (у всех челюсть поотвисала). Вот ока жуете много во-первых, во-вторых было б ради чего.
Maniac
74 - 31.08.2004 - 18:26
Весь этот базар похож на сбор кодировщиков нижнего уровня. Которым всю жизнь нехватало для кодирования список методов.
Harleq
75 - 31.08.2004 - 18:27
74) ну, а теперь расскажи нам, кто ты такой, научи уму разуму
IAm
76 - 31.08.2004 - 18:28
http://www.gorchev.lib.ru/txt/by1/pokemon.shtml
второй абзац
sherus
77 - 31.08.2004 - 18:29
Этот базар БАТЕНЬКА как раз кодировщиков не низкого уровня.
А уровня тех, кто соображает быстрее чем стучит пальцами (как бы быстро не стучали пальчики).
Ты совершенно прав, тот кто пол дня думает над 2 - ма строчками кода
ИМХО Телепат не нужен.
Maniac
78 - 31.08.2004 - 18:29
запарили, особенно фразы - "О мля, весь день сижу тыкаюсь, ненарадуюсь".
А потом ветки до 250 постов - "Почему, меня директор на работе держит и дома не дает работать".
sherus
79 - 31.08.2004 - 18:32
2(78) ссылочка у 76 точно про тебя. Только он ошибся не второй абзац, а второй типаж.
Harleq
80 - 31.08.2004 - 18:32
76) ;))) там есть абзац про Maniac?
sherus
81 - 31.08.2004 - 18:34
2(80)Угу только там с него ник сняли.
IAm
82 - 31.08.2004 - 18:35
80 А хз про кого, просто понравился абзац(типаж) про Покемона горо(к)уя. Он мне ещё одного персонажа сильно напоминает :)
(Иногда правда и меня)
Harleq
83 - 31.08.2004 - 18:40
Покемон Кинсэнидо.
Кинсэнидо всегда тусуются вместе на известном форуме, раньше не любили, когда их называли тупыми, сейчас очень этому радуются. Особенно прельщает, что всегда найдется один, который дружно крикнет всем "Да, Выж тупые", заулыбается своей смелости и тут же смоется, а другие дружно на него набросяться и так до следующего раза.
Maniac
84 - 31.08.2004 - 18:41
Ну в общем смотрите сами.
IAm
85 - 31.08.2004 - 18:42
83 Во, это точно про меня
SFG
86 - 31.08.2004 - 18:59
Народ, повторюсь, просветите, как с макросами работать и скриптами?
IAm
87 - 31.08.2004 - 19:00
86 Когда я скачал ОпенКонф там было краткое описании примеры
SFG
88 - 31.08.2004 - 19:04
87. Спасибо, а то я уже себя каким-то Покемоном на этом форуме почувствовал :)
IAm
89 - 31.08.2004 - 19:06
88 Непришеем или невписдюком? :)))
fez
90 - 31.08.2004 - 21:38
Нет, все же Телепат крут. За сегодня на сайте с FAQ более 250 хостов и более 1000 хитов. Где-то в 2.5 раза выше среднего уровня.
Tiger
91 - 01.09.2004 - 00:14
Народ! Как вырубить этот хренов Телепат. Достал уже, я с ним делаю в три раза больше ошибок чем без него. Хочу чтобы срабатывал не автоматически а по хоткею.
Maniac
92 - 01.09.2004 - 04:06
(91) посидел, пришел к такому же выводу насчет ошибок. парит частенько. причем приходится затирать, а там при нажатии буквы опять начинает прыгать.
Maniac
93 - 01.09.2004 - 04:09
быстро надоест. Лучше интерфейс придумайте для семерки, скины там всякие. Движение окон как в восьмерке без всякого там кода.
УРБД в общем никого не интересует как я вижу. а жаль...как по делу так глушь......
artbear
94 - 01.09.2004 - 06:37
(IAm) Я же тебе пример в аську заслал !
Посмотри внимательно!
Pride
95 - 01.09.2004 - 07:35
W2003, 1c-23
Телепат ругается, как сапожник
MS C++
Runtime error
R6025-pure virtual function call
в момент подключения
Что делать?
artbear
96 - 01.09.2004 - 07:49
Блин, ну почитай 2 пост в этой ветке.
Pride
97 - 01.09.2004 - 08:02
где еде?
Pride
98 - 01.09.2004 - 08:14
W2003, 1c-23
Телепат ругается, как сапожник
MS C++
Runtime error
R6025-pure virtual function call
в момент подключения
Что делать?
Нехочу новую ветку создавать.
SKrin
99 - 01.09.2004 - 08:16
К Телепату просто привыкнуть надо, тогда скорость заметно возрастет
Последний Русский
100 - 01.09.2004 - 08:19
100?
Rolik
101 - 01.09.2004 - 08:20
101
orefkov
102 - 01.09.2004 - 08:29
Вот Maniac говорит, что это для идиотов.
Не знаю, мне нравится...
Pride
103 - 01.09.2004 - 08:44
2 All 98 ?
orefkov
104 - 01.09.2004 - 08:55
Скажи версию config.dll, который лежит в bin
fez
105 - 01.09.2004 - 09:07
(95, 98) http://1c.alterplast.ru/faq/telepat.html - пятый вопрос. Читать 20 минут.
Pride
106 - 01.09.2004 - 09:17
и последнюю пробывал, и из самого телепата подсовывал
fez
107 - 01.09.2004 - 09:18
(106) Прошло только 10 минут. Читать еще раз.
Pride
108 - 01.09.2004 - 09:23
C утра читать еще начал, прошло 4 часа
IAm
109 - 01.09.2004 - 09:47
artbear
Ничего не приходило, мамой клянусь
Harleq
110 - 01.09.2004 - 09:48
102) логично
artbear
111 - 01.09.2004 - 09:49
Попытка еще раз:
прям счас на аську и дублирую здесь
Вот получить выделенный текст :
set doc =Windows.ActiveWnd.Document
Message(doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndCol, doc.SelEndCol))
orefkov
112 - 01.09.2004 - 10:24
+111
Message doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndCol, doc.SelEndCol), mNone
(91)
Приведи пример, когда вставляется неправильный текст.
RSergio
113 - 01.09.2004 - 10:31
А когда будет разделение модуля по закладкам (обсуждаемое в клубе профессионалов?)
Зверски удобная штука тогда будет, особенно для глобальника"
orefkov
114 - 01.09.2004 - 10:41
(110)
Да, когда не можешь запомнить все сокращения
в 429 КБайтном файле шаблонов, чуствуешь себя идиотом.
IAm
115 - 01.09.2004 - 10:44
112 Как можно вызвать из модуля скрипт минимальным количеством нажатий на клавиши? Нельзя его вызов встроить в контекстное меню?
orefkov
116 - 01.09.2004 - 10:48
(115)
fez просил меня именно об этом :)
Пока можно только назначить на макрос
кнопку на тулбаре, и еще тогда он появится в меню
"Макросы".
OpenConf-Макросы-Настройка команд
zzz
117 - 01.09.2004 - 10:50
2(115) OpenConf -> Макросы -> Настройка комманд
Настройка панели инструментов, вытащи на панель кнопку [Выполнить макрос 1]
artbear
118 - 01.09.2004 - 10:50
(115) Цтрл+М - затем найти в списке нужный макрос и ОК
или вывести нужный макрос на кнопку в панели инструментов OpenConf (пока 16 кнопок)
ЗЫ я например, на панель посадил макрос, который открывает файл defcls.prm для 1С++, потому что не знаю другого способа быстрого открытия этого файла в Конфигураторе.
Pride
119 - 01.09.2004 - 10:51
2 All 98 ?
orefkov
120 - 01.09.2004 - 10:53
(119) - (104)?
zzz
121 - 01.09.2004 - 10:53
117+ жаль тока у кнопок нельзя картинки менять, а то они как близнецы млин.
2(116) Может Хелп всётаки написать, а?
Pride
122 - 01.09.2004 - 11:08
От 23 релиза, или как посмотреть версию?
IAm
123 - 01.09.2004 - 11:09
Sub FormatBlock()
  Dim Positions(1000)
  set doc = Windows.ActiveWnd.Document
  AllLines = Split(doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol), vbCrLf)
  MaxPos = 0
  for i = 0 to UBOund(AllLines)
    Positions(i) = instr(AllLines(i), "=")
    if instr(AllLines(i), "=") > MaxPos then MaxPos = instr(AllLines(i), "=")
  Next
  for i = 0 to UBOund(AllLines)
    Pos = Positions(i)
    if Pos > 0 then
      AllLines(i) = Left(AllLines(i), Pos - 1) + Space(MaxPos - Pos) + Mid(AllLines(i), Pos)
    end if
  Next
  doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol) = Join(AllLines, vbCrLf)
End sub
сразу же ругнулся что
объект не поддерживает метод или функцию
doc.SelStartLine
orefkov
124 - 01.09.2004 - 11:10
(121)
хелп будет. Однозначно.
Когда в ОпенКонфе доделаю формы и хоткеи.
orefkov
125 - 01.09.2004 - 11:13
(122)
Зайди в папку bin, правой кнопочкой на config.dll,
Свойства, вкладка Версия
(123)
Наверное, у тебя открыта обработка.
Сделай так
set doc = Windows.ActiveWnd.Document
if doc=docWorkBook then set doc=doc.Page(1)
IAm
126 - 01.09.2004 - 11:18
125 Открыта форма документа, но все равно попробую
Pride
127 - 01.09.2004 - 11:20
(125) 7.70.0.23
IAm
128 - 01.09.2004 - 11:21
Та же фигня,
Не могу найти рид ми, как проверить тип документа: модуль это, форма или таблица?
artbear
129 - 01.09.2004 - 11:24
(127) И как же у тебя телепат вообще запускается, если ты только что указал, что используешь встроенный конфиг.длл от 1С, а не Опенконф версии 1.0.1.2
??
Читай ФАК еще раз или давай правильный ответ на поставленный в 125 вопрос !
IAm
130 - 01.09.2004 - 11:27
Стоп, как в уже загруженный конфигуратор загрузить измененный скрипт, он отрабатывает модуль на момент открытия конфигуратора, а команда загрузить скрипт выдает что скрипт уже загружен
artbear
131 - 01.09.2004 - 11:28
Есть команда "Перезагрузить скрипт", когда стоишь на скрипте
Pride
132 - 01.09.2004 - 11:29
129
Пардон в Bine лежит фало с версией
1.0.1.1
artbear
133 - 01.09.2004 - 11:32
(132) Пардон принят, но не до конца :((
Как ты читал ФАК, если там ПРЯМО и НЕДВУСМЫСЛЕННО написано, что последний телепат работает с версией ОПЕНКОНФ версии 1.0.1.2 и выше
:((
IAm
134 - 01.09.2004 - 11:35
133 Всё, спасибо, такой скрипт форматирует блоки со знаком равно
Sub FormatBlock()
  Dim Positions(1000)
  set doc = Windows.ActiveWnd.Document.Page(1)
  AllLines = Split(doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol), vbCrLf)
  MaxPos = 0
  for i = 0 to UBOund(AllLines)
    Positions(i) = instr(AllLines(i), "=")
    if instr(AllLines(i), "=") > MaxPos then MaxPos = instr(AllLines(i), "=")
  Next
  for i = 0 to UBOund(AllLines)
    Pos = Positions(i)
    if Pos > 0 then
      AllLines(i) = Left(AllLines(i), Pos - 1) + Space(MaxPos - Pos) + Mid(AllLines(i), Pos)
    end if
  Next
  doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol) = Join(AllLines, vbCrLf)
End sub
sherus
135 - 01.09.2004 - 11:36
2(IAm)Вау....
Огромный сенкс. Класно скриптик работает. Как давно мне этого добра не хватало.
orefkov
136 - 01.09.2004 - 11:38
(128)
Ну ты же знаешь, как tlb-шку посмотреть,
в том же VB или Ворде.
У каждого CfgDocument есть свойство type, которое
может быть docText, docWorkBook, docTable, docDEdit, docUnknown
IAm
137 - 01.09.2004 - 11:39
136 Да, я уже посмотрел, пятисекундное торможение
IAm
138 - 01.09.2004 - 11:41
Сейчас попробую форматирование строк пробелами в скрипт перевести
Pride
139 - 01.09.2004 - 11:41
133
А если папка не 1CV77, а 1Cv77.ADM
будет работать, а то у меня задача зависает теперь 1cv7s.exe
orefkov
140 - 01.09.2004 - 11:42
+134
Лучше в начале сделать так:
  set doc = Windows.ActiveWnd.Document
  if doc=docWorkBook then set doc=doc.Page(1)
  if doc<>docText then
   msgbox("Окно не текстовое")
   exit sub
  end if
orefkov
141 - 01.09.2004 - 11:49
+140 А еще лучше так:
If Windows.ActiveWnd Is Nothing Then
    MsgBox "Нет активного окна"
    Exit Sub
End If
Set doc = Windows.ActiveWnd.Document
If doc=docWorkBook Then Set doc=doc.Page(1)
If doc<>docText Then
    MsgBox "Окно не текстовое"
    Exit Sub
End If
IAm
142 - 01.09.2004 - 11:53
141 ОК
sherus
143 - 01.09.2004 - 12:01
2(orefcov) Я тут вчера писал по поводу защиты.
Интересует, может и правда воспользоваться опытом toypaul. Дело в том что его лицензии можно вязать как к железу, так и делать лицензии без привязки к железякам а с ограничениями по сроку или количеству подключений. Вообщем простор для фантазии. Еще большой плюс что лицензии персонифицированны.
Если сделать не большой разброс на разного рода лицензии то мне кажется будет нормально
artbear
144 - 01.09.2004 - 12:05
(IAm) молоток!
ЗЫ я лично в свою копилку скриптов этот скрипт уже закинул. :))
АЛьФ
145 - 01.09.2004 - 12:05
2(134)(141) Прикольно. Спасибо!
Еще бы привязать это дело на горячую клавишу...
artbear
146 - 01.09.2004 - 12:08
(orefkov) Давно у тебя хочу задать вопрос по панелям Опенконф:
в разных режимах работы эта панель то пропадает, то появляется.
Например, когда находишься в окне просмотра модуля, панель есть, стоит переключиться на закладку формы, панель пропадает, как только вернешься в окно модуля, опять появляется.
Это норма или что?
AnMoOr
147 - 01.09.2004 - 12:09
Хм .... Здается мне эта штука посильней "Фауста" Гетте.
orefkov
148 - 01.09.2004 - 12:17
(115)
По поводу вставки команд в контекстное меню:
Со временем я планирую добавить в телепат
возможность обращатся к нему из скриптов,
как сейчас можно обращатся к объекту Configurator.
Одной из фич как раз и будет возможность програмного
управления контекстным меню.
Вообще, когда я написал первую версию OpenConf'а,
у народа было много разных пожеланий по развитию
функциональности.
Так как на всех не угодишь, я и начал делать ОпенКонф
в том виде, в котором он сейчас, те управляемый скриптами
на любом из ActiveScript языков.
Чтобы каждый мог реализовать мульку, делающую то,
ЧТО ЕМУ надо и так, КАК ЕМУ надо.
orefkov
149 - 01.09.2004 - 12:22
(146)
Это стандартное поведение 1С.
Для каждого типа активного окна хранится свой набор
отображаемых панелей.
Перейдя на вкладку диалога, поставь галку для
панели "OpenConf", и она будет отображаться.
orefkov
150 - 01.09.2004 - 12:25
(143)
Если все пройдет удачно, то со временем будут разные
виды лицензий.
Но, насколько я знаю, у toypaul все-равно любая лицензия
привязывается к железу.
Только в случае многопользовательской лицензии привязывается
сервер лицензий.
Bot
151 - 01.09.2004 - 12:30
(+IAm 2 All) Скрипт классный, молодец . Да, если в начале строки не табуляторы, а пробелы (бывает такой глюк), то ету строчку не выровняет. Можно перед скриптом воспользоваться Ctrl + Shift + F.
sherus
152 - 01.09.2004 - 12:30
2(143) Ни чего подобного.
Пашка значительно доработал это дело и теперь существуют разные лицензии в том числе и с сервером лицензирования и без привязки к железу и с ограничением по времени.
Наверное лучше на эту тему поговорить с Павлом тебе лично.
Мне кажется, это оптимальный вариант, который устроит всех.
Если ты будешь персонифицировать лицензии, то тогда можно будет иметь черный список пользователей. А дальше уже по твоему усмотрению что с ними делать. Можно публиковать и здесь.
IAm
153 - 01.09.2004 - 12:31
кто-нибудь знает vbscrypt?
почему не работает конструкция
number = ""
for i = 1 to 20
number = str(i)
Next
выдает несоответствие типов (str)
В vb такое работает
fez
154 - 01.09.2004 - 12:32
(all) Вы будете смеяться, но я только что заметил.
Набираю строку
Если Д.Вид()<>"ОтчетРеализатора" Тогда
.
Так эта умница отгадывает, что я хочу написать в строке. Я в шоке :)
Bot
155 - 01.09.2004 - 12:35
(153) выскажу предположение. Если в vbscript различаются типы строка и символ, то получается всё логично. Попробуй number=''
artbear
156 - 01.09.2004 - 12:43
А ты напиши CStr вместо Str и должно получиться
Bot
157 - 01.09.2004 - 12:47
(+155) отменяется.
IAm
158 - 01.09.2004 - 12:47
Поправка к 134
Такой код работает независимо от того, пробелы в начале или табы
Sub FormatBlock()
  Dim Positions(1000)
        Dim EmptySigns(1000)
  If Windows.ActiveWnd Is Nothing Then
     MsgBox "Нет активного окна"
     Exit Sub
  End If
  Set doc = Windows.ActiveWnd.Document
  If doc=docWorkBook Then Set doc=doc.Page(1)
  If doc<>docText Then
     MsgBox "Окно не текстовое"
     Exit Sub
  End If
  AllLines = Split(doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol), vbCrLf)
  MaxPos = 0
  for i = 0 to UBOund(AllLines)
    Positions(i) = instr(AllLines(i), "=")
    EmptySigns(i) = 0
    if instr(AllLines(i), "=") > 0 then
      for i1 = 1 to Len(AllLines(i))
        if instr(vbTab + " ", Mid(AllLines(i), i1, 1)) = 0 then
          Positions(i) = Positions(i) - i1 + 1
          EmptySigns(i) = i1 - 1
          exit for
        end if
      Next
    end if
    if Positions(i) > MaxPos then
      MaxPos = Positions(i)
    end if
  Next
  for i = 0 to UBOund(AllLines)
    Pos = Positions(i) + EmptySigns(i)
    if Pos > 0 then
      AllLines(i) = Left(AllLines(i), Pos - 1) + Space(MaxPos - Positions(i)) + Mid(AllLines(i), Pos)
    end if
  Next
  doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol) = Join(AllLines, vbCrLf)
End sub
zzz
159 - 01.09.2004 - 12:49
2(158) ну ты и намудрил ..
Bot
160 - 01.09.2004 - 12:56
(158) Молодец, исправился. :))
Хотя, лучше было бы сделать корректировку пробелов в табуляторы в начале строки, имхо.
orefkov
161 - 01.09.2004 - 13:00
(152)
Ну черный список, и что?
Предохранятся надо до, а не после.
Поздно будет пить боржом, когда почки отвалятся.
Хотя с Павлом переговорю. Все-таки у него опыт побольше.
kir
162 - 01.09.2004 - 13:01
2(158) здорово, но чей то подглючивает , при выравнивании в первой строке лишний пробел перед = встал
AnMoOr
163 - 01.09.2004 - 13:03
(159) Это не он намудрил, это ты д'Эбил.
orefkov
164 - 01.09.2004 - 13:03
(160) Можно в начале скрипта поставить doc.FormatSel
orefkov
165 - 01.09.2004 - 13:05
(162) Скорее всего, у тебя текст выделен не с начала
строки.
zzz
166 - 01.09.2004 - 13:06
2(IAm) А если вначале будут вперемешку табы и пробелы? Фишкав том что таб занимает 4 позиции, но считается как 1 символ, т.е. проблема не в пробелах, а в табах!
Я ща пробую сделать всё на табах. Получится - выложу.
.
2(163) Прокладки хоть поставил, сучонок?
kir
167 - 01.09.2004 - 13:06
а кто подскажет где можно прочитать как этот скрипт подвесить на комбинацию из трех пальцев ?
IAm
168 - 01.09.2004 - 13:06
Ещё один скрипт, очень полезный
дополняет форматирует строку пробелами для красоты
Кто работал с VB Или VBA там это автоматом
То есть
Док=СоздатьОбъект("Документ");
Контр=СоздатьОбъект("Справочник.Контрагенты");
Если Контр.НайтиПоНаименованию("Наимен",0,1)=1 Тогда
  Док=Контр.Документ;
КонецЕсли;
преобразуется к
Док = СоздатьОбъект("Документ");
Контр = СоздатьОбъект("Справочник.Контрагенты");
Если Контр.НайтиПоНаименованию("Наимен", 0, 1) = 1 Тогда
  Док = Контр.Документ;
КонецЕсли;
Sub FormatLines()
  Dim SpacesPlaces(1000)
        CountD = 0
  set doc = Windows.ActiveWnd.Document.Page(1)
  AllLines = Split(doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol), vbCrLf)
  for i = 0 to UBOund(AllLines)
    NextLine = AllLines(i)
    inString = False
     For i1 = 1 To Len(NextLine)
         Letter = Mid(NextLine, i1, 1)
         If Letter = """" Then
             inString = Not inString
         ElseIf Not inString And InStr("*/+-=<>,", Letter) > 0 Then
             If i1 > 1 And Letter <> "," Then
                 PreLetter = Mid(NextLine, i1 - 1, 1)
                 If InStr("[*/+-=<>, ", PreLetter) = 0 Then
            CountD = CountD + 1
            SpacesPlaces(CountD) = i1 - 1
                 End If
             End If
             If i1 < Len(NextLine) Then
                 PostLetter = Mid(NextLine, i1 + 1, 1)
                 If InStr("*/+-=<>, ]", PostLetter) = 0 Then
                     CountD = CountD + 1
            SpacesPlaces(CountD) = i1
                 End If
             End If
         End If
     Next
    for i1 = 1 to CountD
      SpacePos = SpacesPlaces(i1)
      AllLines(i) = Left(AllLines(i), SpacePos - 1 + i1) + " " + Mid(AllLines(i), SpacePos + i1)
    Next
    CountD = 0
  Next
  
  doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol) = Join(AllLines, vbCrLf)
end sub
Bot
169 - 01.09.2004 - 13:06
(164) Круто, работает. Да, а как там с вопросом типа скриптик одной клавишей или сочетанием? Ctrl+M - хорошо, но тож не совсем.
sherus
170 - 01.09.2004 - 13:07
2(164) Я тебе там в Аську постучался - хотел более подробно на эту тему рассказать.
AnMoOr
171 - 01.09.2004 - 13:09
(166) Ж_епа перестала болеть опущенный???
Harleq
172 - 01.09.2004 - 13:20
114) orefkov - ты что обиделся чтоли, я же пошутил, твой телепат - гениальное создание.
IAm
173 - 01.09.2004 - 13:21
В 168 заменить
set doc = Windows.ActiveWnd.Document.Page(1)
на
If Windows.ActiveWnd Is Nothing Then
     MsgBox "Нет активного окна"
     Exit Sub
  End If
  Set doc = Windows.ActiveWnd.Document
  If doc=docWorkBook Then Set doc=doc.Page(1)
  If doc<>docText Then
     MsgBox "Окно не текстовое"
     Exit Sub
  End If
KRIHA
174 - 01.09.2004 - 13:23
2all
Что-то слишком много rOoMnA на форуме...
artbear
175 - 01.09.2004 - 13:24
(+172) Твое очередное гениальное создание. А сколько их уже было - навскидку TurboBL, TurboMD, ОпенКонф, телепат, Визуал1С++.
Maniac
176 - 01.09.2004 - 13:26
эх. опять заладили. Иам скриптов в иенете натаскал, всем расхваливается.
orefkov
177 - 01.09.2004 - 13:30
Слово "гениальный" на этом форуме неприлично :)
zzz
178 - 01.09.2004 - 13:30
Вот переделанная функция по форматированию:
Sub FormatBlock()
  Dim Positions(1000)
  Dim RealPos(1000) 'кол-во табов в лев. строке
  If Windows.ActiveWnd Is Nothing Then
    MsgBox "Нет активного окна"
    Exit Sub
  End If
  Set doc = Windows.ActiveWnd.Document
  If doc=docWorkBook Then Set doc=doc.Page(1)
  If doc<>docText Then
    MsgBox "Окно не текстовое"
    Exit Sub
  End If
  TabSize = 4 'длина таба в символах (в настройках 1С)
  AllLines = Split(doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol), vbCrLf)
  MaxPosReal = 0
 
  for i = 0 to UBOund(AllLines)
    AllString = AllLines(i)
    Positions(i) = instr( AllString, "=") - 1
    RealPos(i) = Positions(i)
    if Positions(i) > 0 then
      LeftString = Left( AllString, Positions(i) )
      LeftString_WithoutTab = Replace( LeftString , " ", "")
      TabCount = Len(LeftString) - Len(LeftString_WithoutTab)
      RealPos(i) = Len(LeftString_WithoutTab) + TabCount*TabSize 'длина реальная = длина + длины табов
    end if
    if RealPos(i) > MaxPosReal then MaxPosReal = RealPos(i)
  Next
  MaxPosReal = Fix( MaxPosReal /TabSize + 0.99) * TabSize 'округлим максимум до границы табов
  for i = 0 to UBOund(AllLines)
    Pos = Positions(i)
    Real_Pos = RealPos(i)
    if Pos > 0 then
      DopString = ""
      AllTabs = Fix( (MaxPosReal - Real_Pos)/TabSize + 0.99 )
      DopString = DopString + String(AllTabs," ")
'MsgBox "Real_Pos=" + CStr(Real_Pos)+ " FirstTabs="+ CStr(FirstTabs) +" AllTabs="+ CStr(AllTabs) +" Pos="+ CStr(Pos)
      AllLines(i) = Left(AllLines(i), Pos ) + DopString + Mid(AllLines(i), Pos +1)
    end if
  Next
  doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol) = Join(AllLines, vbCrLf)
End sub
вставляет не пробелы, а табы, что облегчает вес модуля.
zzz
179 - 01.09.2004 - 13:32
Dim RealPos(1000) 'кол-во табов в лев. строке
читать как
Dim RealPos(1000) 'реальная позиция, с учётом размера табов
zzz
180 - 01.09.2004 - 13:34
В строках должны быть табы кавычках табы! Т1С порезал :(
LeftString_WithoutTab = Replace( LeftString , "TAB!!!!", "")
DopString = DopString + String(AllTabs,"TAB!!!!")
      
orefkov
181 - 01.09.2004 - 13:42
(178)
Осталось еще пробелы и табы в конце строки удалить.
artbear
182 - 01.09.2004 - 13:42
(177) Извини, подзабыл :)
orefkov
183 - 01.09.2004 - 13:45
(180)
В VBScript пишется vbTab, в JScript "\t"
artbear
184 - 01.09.2004 - 13:46
(181) есть же скрипт для этого RTrimModule (лежит на хиппо и итланде)
АЛьФ
185 - 01.09.2004 - 13:54
2(Maniac) Завидно?
zzz
186 - 01.09.2004 - 13:55
2(183) суть не в этом :) Но буду знать.
Вот немного доработал (теперь удаляются пробелы перед "=" и заменяются на табы):
.
Sub FormatBlock()
  Dim Positions(1000)
  Dim RealPos(1000) 'реальная позиция, с учётом размера табов
 
  If Windows.ActiveWnd Is Nothing Then
    MsgBox "Нет активного окна"
    Exit Sub
  End If
  Set doc = Windows.ActiveWnd.Document
  If doc=docWorkBook Then Set doc=doc.Page(1)
  If doc<>docText Then
    MsgBox "Окно не текстовое"
    Exit Sub
  End If
 
  TabSize = 4 'длина таба в символах (в настройках 1С)
 
  AllLines = Split(doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol), vbCrLf)
  MaxPosReal = 0
 
  for i = 0 to UBOund(AllLines)
    AllString = AllLines(i)
    Positions(i) = instr( AllString, "=") - 1
 
    RealPos(i) = Positions(i)
    if Positions(i) > 0 then
      LeftString = RTrim( Left( AllString, Positions(i) ) )
      LeftString_WithoutTab = Replace( LeftString , vbTab, "")
      TabCount = Len(LeftString) - Len(LeftString_WithoutTab)
      RealPos(i) = Len(LeftString_WithoutTab) + TabCount*TabSize 'длина реальная = длина + длины табов
    end if
 
    if RealPos(i) > MaxPosReal then MaxPosReal = RealPos(i)
  Next
 
  MaxPosReal = Fix( MaxPosReal /TabSize + 0.99) * TabSize 'округлим максимум до границы табов
 
  for i = 0 to UBOund(AllLines)
    Pos = Positions(i)
    Real_Pos = RealPos(i)
    if Pos > 0 then
      DopString = ""
 
      AllTabs = Fix( (MaxPosReal - Real_Pos)/TabSize + 0.99 )
      DopString = DopString + String(AllTabs, vbTab)
 
      AllLines(i) = RTrim( Left(AllLines(i), Pos) ) + DopString + Mid(AllLines(i), Pos +1)
    end if
  Next
 
  doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol) = Join(AllLines, vbCrLf)
 
End sub
Harleq
187 - 01.09.2004 - 13:58
Уважаемый orefkov, скажите, что планируется добавить в следующую версию.
IAm
188 - 01.09.2004 - 14:04
Нельзя ли на итланде библиотеку скриптов октрыть?
artbear
189 - 01.09.2004 - 14:11
Давайте на итланде в разделе Опенконф заведем спец. ветку для этого.
Что-то типа "Скрипты для Опенконф", куда все желающие смогут и положить скрипты, и узнать, как они работают
orefkov
190 - 01.09.2004 - 14:12
(188)
Вроде с Winter'ом обсуждали такую возможность.
Скорее всего, будет раздел в репозитарии.
(187)
В ближайшей версии работу с методами и атрибутами объектов.
zzz
191 - 01.09.2004 - 14:20
млиин, таб может быть неполного размера ..
Придётся ещё немного подумать ..
artbear
192 - 01.09.2004 - 15:03
(190) И когда эта часть репозитария вступит в строй?
Начинающий
193 - 01.09.2004 - 15:28
Уважаемый Создатель, а при вводе СоздатьОбъект() в конце не ставит ";"...
SiMazx
194 - 01.09.2004 - 15:29
(193) У меня ставит... Что неправильно делаю?
saser
195 - 01.09.2004 - 15:32
(194) это Начинающий делает что-то не так.
Телепат работает на ура ! Слава создателю ;)
SocratPSV
196 - 01.09.2004 - 15:36
блин, а телепат-то глючненький
при открытии больщого количества конфигураторов и версий 1С:Предприятия, некоторые начинают виснуть или самопроизвольно закрываться.
Windows XP SP1, 1С 23 релиз.
MMF
197 - 01.09.2004 - 15:41
(196) It's not a bug - it's a gotcha.
hlud
198 - 01.09.2004 - 15:49
(2 orefkov)
было б неплохо, чтоб в варианты продолжений еще и сокращения из шаблонов подставлялись.
Начинающий
199 - 01.09.2004 - 15:55
Да все я так делаю, "не ТАК" не возможно. Перегрузил конфигуратор - теперь ставит ";".
zzz
200 - 01.09.2004 - 15:56
Вот доработал (теперь аккуратно считает "неполные" табы):
Dim TabSize
TabSize = 4 'длина таба в символах (в настройках 1С)
Sub FormatBlock()
  Dim Positions(1000)
  Dim RealPos(1000) 'реальная позиция, с учётом размера табов
 
  If Windows.ActiveWnd Is Nothing Then
    MsgBox "Нет активного окна"
    Exit Sub
  End If
  Set doc = Windows.ActiveWnd.Document
  If doc=docWorkBook Then Set doc=doc.Page(1)
  If doc<>docText Then
    MsgBox "Окно не текстовое"
    Exit Sub
  End If
 
  AllLines = Split(doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol), vbCrLf)
  MaxPosReal = 0
 
  for i = 0 to UBOund(AllLines)
    AllString = AllLines(i)
    Positions(i) = instr( AllString, "=") - 1
 
    RealPos(i) = Positions(i)
    if Positions(i) > 0 then
      LeftString = RTrim( Left( AllString, Positions(i) ) )
      RealPos(i) = RealStringLen(LeftString)
    end if
 
    if RealPos(i) > MaxPosReal then MaxPosReal = RealPos(i)
  Next
 
  MaxPosReal = Fix( MaxPosReal /TabSize + 0.99) * TabSize 'округлим максимум до границы табов
  for i = 0 to UBOund(AllLines)
    Pos = Positions(i)
    Real_Pos = RealPos(i)
    if Pos > 0 then
      DopString = ""
 
      AllTabs = Fix( (MaxPosReal - Real_Pos)/TabSize + 0.99 )
      DopString = DopString + String(AllTabs, vbTab)
 
      AllLines(i) = RTrim( Left(AllLines(i), Pos) ) + DopString + Mid(AllLines(i), Pos +1)
    end if
  Next
 
  doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol) = Join(AllLines, vbCrLf)
 
End sub
' Функция определения реальной длины строки. Заморочки с "неполными" табами.
Function RealStringLen( tekStr )
  RealStringLen = 0
  for i = 1 to Len(tekStr)
    tek_Simbol = Mid( tekStr, i, 1)
 
    If tek_Simbol <> vbTab Then
       RealStringLen = RealStringLen + 1
    Else
       Ostatok_Deleniya = RealStringLen - Fix( RealStringLen / TabSize) * TabSize
       RealStringLen = RealStringLen + (TabSize -Ostatok_Deleniya)
    End If
  Next
End Function
Без тапок
201 - 01.09.2004 - 16:05
сорри, что немного не в тему. сегодня сижу изучаю Visual Basic и такое ощущение, что по сравнению с 1С(тем более + телепат) их среда разработки полное ничтожество (или я что-то не так делаю?). например, в редакторе кода VB текст нельзя прокрутить колесиком(!), я уже не говорю о флажках, о закомментировать/раскомментировать блок текста. то есть, не так все и плохо в родном софте.
Oblomov
202 - 01.09.2004 - 16:10
Да уж :-( Неприятная особенность. Больше 5-6 одинэсок не загружается.
Win2000 SP4, 21релиз.
Без тапок
203 - 01.09.2004 - 16:10
хотя вру, всё там есть... вот привычка - не разобрался и сразу хаить продукт...
MMF
204 - 01.09.2004 - 16:12
(202) Вы пишете одновременно в 5..6 Конфигураторах? Уважаю...
artbear
205 - 01.09.2004 - 16:14
(orefkov) Кстати, когда скрипт открываешь через Опенконф (через двойной щелчок на нем), событие OnActivateWindow не вызывается. В итоге мой плагин "История" не отображает тот факт, что открывали скрипт.
Мелочь, но все-таки...
SocratPSV
206 - 01.09.2004 - 16:14
204. Я да. Конфигуратор+предприятие. При чем чем больше конфы(комплексная например) тем меньше их надо для глюков.
ЗЫ Имхо, если так останется, то лажа
artbear
207 - 01.09.2004 - 16:16
(orefkov) Кстати, а какие изменения появились в ОпенКонф 1.0.1.2 ? ТОлько для телепата, или в объектную модель также что-то добавил?
Oblomov
208 - 01.09.2004 - 16:20
2(204) Ну насчет работы, я ничего не говорил (см. ник), а пара ТиС плюс две-три самописки плюс предприятия вполне могут болтаться в трее.
trdm
209 - 01.09.2004 - 16:56
Круто :), сначала хотел немного повозмущаться, но потом врубился, что не в тот bin файлы скинул.
sherus
210 - 01.09.2004 - 17:22
2(zzz) Если не жалко дай свою аську. Надо пообщаться.
sherus
211 - 01.09.2004 - 17:24
Пардон.
Maniac
212 - 01.09.2004 - 20:44
Вы заметили тенденцию ?
Телепат вызывает гораздо больше эмоций, чем выход релиза УПП.
IAm
213 - 01.09.2004 - 20:50
Вы заметили тенденцию? Ветка упала чуть не на третью страницу, а маниак нашел её и поднял, хотя она ему судя по его высказываниям не нравится.
Интересная тенденция, не правда ли?
Maniac
214 - 01.09.2004 - 20:53
Я сужу в данном случае не потому как куда чего упало, и не по-своему мнению, а по наблюдению. В конкретном случае направление.
Maniac
215 - 01.09.2004 - 20:56
Сейчас выйдет еще куча компонент, которые будет в 7.7 группировки сворачивать/разворачивать, окнами шевелить, запросы строить, методы через кнопку рисовать, функции соврачивать и прочее....., куча отчетов которые будут подобием консоли и т.д......
Вот она - тенденция.
IAm
216 - 01.09.2004 - 20:59
Я когда учился в институте у нас тоже одна девочка с соседнего факультета ни с того ни с сего сошла с ума. Вроде нормальная была, а потом вдруг стала чушь нести, неадекватно себя вела, скорую даже вызвали, а потом за ней в общагу родители приехали и забрали её домой. Вот так вот.
Maniac
217 - 01.09.2004 - 21:00
(216) ну и как она сейчас ?
IAm
218 - 01.09.2004 - 21:02
217 Я не знаю, больше я её не видел. Нормально, думаю, либо оклемалась, либо из окна выкинулась.
Maniac
219 - 01.09.2004 - 21:04
да, жалко девченку. Программистом была ?
IAm
220 - 01.09.2004 - 21:04
Неа, на библиотечном факультете. Однако ж вот.
Maniac
221 - 01.09.2004 - 21:06
В Америке очень большая доля сошедших с ума - программисты. Слышал несколько конкретных случаев, когда программисты не выдерживают напряжения от работы.
Фолькишер Беобахтер
222 - 01.09.2004 - 21:20
2(221) Не нужно оправдываться тяжелой работой, Маньяк, вы нам нравитесь и сумасшедшим.
Maniac
223 - 01.09.2004 - 21:25
хех, а кода подопью это воще 8))))
artbear
224 - 01.09.2004 - 22:20
(215) Я тебя удивлю: уже давно есть куча компонент (даже до 8), которые умеют ОЧЕНь многое из того, о чем ты говорил
orefkov
225 - 02.09.2004 - 09:10
(212)
Ну так сравнил тоже, Телепат и какую-то УПП.
Страшно далека она от народа.
Хотя может, потом кого-нить тоже разбудит.
А я, честно признаться, восьмерку даже не видел.
Говорят, там телепат встроенный уже?
IAm
226 - 02.09.2004 - 09:12
225 Да он лажевый, списка переменных при наборе не появляется, скриптов нету, не всегда распознает тип, если тип не задан явно, но тем не менее четко вытекает из логики присвоения.
potap77
227 - 02.09.2004 - 09:24
2 (orefkov) А можно узнать когда примерно будет релиз?
IAm
228 - 02.09.2004 - 09:24
225 Саш, а скриптом можно инициализировать появление списка.
Можно ли сделать так, чтобы в имени процедуры в скрипте можно было бы использовать знак "_"?
Vtlk
229 - 02.09.2004 - 09:32
Э-э-э, а не подскажете, где прочесть обо всех всяких там Контрл+Шифт+..., а? Мануал, в общем. Интересная вещь, а ветку читать неохота, тем более, что это вторая.
fez
230 - 02.09.2004 - 09:41
(227) Через полтора года. (Это шутка).
(229) В дистрибутиве есть файл history.txt - там есть практически все.
orefkov
231 - 02.09.2004 - 09:41
(227)
Скоро
(228)
_ пока нет.
Для простоты опенконф считает, что макрос, содержащий
в имени _, является обработчиком события.
Вызвать из скрипта телепата можно так
SendCmd 22500
(можешь посмотреть любым просмотрщиком ресурсов
номера команд в меню телепата)
Только список появится после отработки макроса.
(229)
Читай в дистрибе хистори и подсказки к кнопкам
на панели "Телепат"
IAm
232 - 02.09.2004 - 10:28
В качестве апа ещё пару скриптовых алгоритмов "из интернета скачал"
Первый позволяет быстро инициализировать таблицу значений, введя имена колонок через запятую, второй позволяет по имени таблицы создать новую строку, ищет по тексту строки с методом "НоваяКолонка()" и автоматом прописывает поля. То есть если в модуле был блок
Табл.НоваяКолонка("Контр");
Табл.НоваяКолонка("Договор");
Табл.НоваяКолонка("Сумма");
то можно вызвать скрипт, ввести имя таблицы(Табл)
и получить текст в виде:
Табл.Контр =
Табл.Договор =
Табл.Сумма =
'==================================================
Sub NovayaTabliza()
  If Windows.ActiveWnd Is Nothing Then
     MsgBox "Нет активного окна"
     Exit Sub
  End If
  Set doc = Windows.ActiveWnd.Document
  If doc=docWorkBook Then Set doc=doc.Page(1)
  If doc<>docText Then
     MsgBox "Окно не текстовое"
     Exit Sub
  End If
  
  TabInd = vbCrLf + String(doc.SelStartCol, vbTab)
  
  VTName = inputBox("введите имя таблицы значений:")
  ColumnsList = inputBox("введите имена колонок через запятую")
  VTColumns = Split(ColumnsList, ",")
  
  Txt = VTName + " = СоздатьОбъект(""ТаблицаЗначений"");"
  for i = 0 to UBound(VTColumns)
    Txt = Txt + TabInd + VTName + ".НоваяКолонка(""" + Trim(VTColumns(i)) + """);"
  Next
  
  doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol) = txt
  
End sub
'====================================================
Sub NovayaStroka()
    
  If Windows.ActiveWnd Is Nothing Then
     MsgBox "Нет активного окна"
     Exit Sub
  End If
  Set doc = Windows.ActiveWnd.Document
  If doc=docWorkBook Then Set doc=doc.Page(1)
  If doc<>docText Then
     MsgBox "Окно не текстовое"
     Exit Sub
  End If
  
  TabInd = vbCrLf + String(doc.SelStartCol, vbTab)
    
    VTName = inputBox("введите имя таблицы значений:")
  NewColumnText = UCase(VTName + ".НоваяКолонка(""")
  StrLen = Instr(NewColumnText, """")
    
    TextD = doc.text
  TextDUpper = UCase(TextD)
  
  Txt = VTName + ".НоваяСтрока();"
  
  StartPos = 0
  Pos = instr(TextDUpper, NewColumnText)
    do while Pos > 0
    StartPos = Pos + 10
    Pos2 = instr(Pos + StrLen, TextDUpper, """")
    if Pos2 - Pos - StrLen < 30 then
      Txt = Txt + TabInd + VTName + "." + Mid(TextD, Pos + StrLen, Pos2 - Pos - StrLen) + " = ;"
    end if
    Pos = instr(StartPos, TextDUpper, NewColumnText)
  Loop
  
  doc.range(doc.SelStartLine,doc.SelStartCol, doc.SelEndLine, doc.SelEndCol) = txt
end sub
zzz
233 - 02.09.2004 - 10:35
2(0) можно ли из одного скрипта вызывать другой?
fez
234 - 02.09.2004 - 10:37
В качестве очередного апа. В оба FAQ:
http://1c.alterplast.ru/faq/openconf.html и
http://1c.alterplast.ru/faq/telepat.html
добавлено по одному вопросу/ответу.
artbear
235 - 02.09.2004 - 10:46
(233) Конечно, можно.
Что-то типа Scripts("ИмяСкрипта").Открыть (или выполнить)
ЗЫ точнее посмотри объектную модель
orefkov
236 - 02.09.2004 - 10:48
(232) Блин, у тебя наверное какой-то другой интернет,
я в своем не могу скриптов найти...
А вообще, именно для таких целей сейчас дорабатываю
ОпенКонф, сделать возможность использовать формы,
как в VBA. Почти готово, только надо, что бы на
машине был файлик fm20.dll (обычно с офисом ставится).
Вот тогда можно будет развернуться :)
artbear
237 - 02.09.2004 - 10:52
(236) И когда? Я лично уже давно жду обещанных тобой форм.
Твой скриншот смотрелся великолепно :))
orefkov
238 - 02.09.2004 - 10:52
(233)
Да, конечно.
Set otherScript=Scripts("OtherScript")
retVal=otherScript.Method1(param)
IAm
239 - 02.09.2004 - 10:53
236 Это будет невероятно круто, если будут формочки.
Тогда появится реальная альтернатива одинэсным шаблонам, хотя уже со скриптами работать лучше, поскольку есть возможность полноценной обработки информации.
orefkov
240 - 02.09.2004 - 10:58
(237)
Сейчас доделываю.
К понедельнику наверное.
artbear
241 - 02.09.2004 - 11:04
Раз пошла такая пьянка, и я выложу свой скрипт по добавлению кнопок на форму.
Для чего я использую данный скрипт?
У меня есть несколько кнопок, которые я вставляю практически во все формы, с которыми работаю.
Это кнопка "Перезагрузить отчет" (удобно при отладке отчета) и кнопка "глДействия" (куда я сажаю меню формы)
Лежит на итланде http://itland.ru/forum/index.php?showtopic=4348
orefkov
242 - 02.09.2004 - 11:04
Как это примерно будет выглядеть (скриншот),
можно посмотреть на
http://openconf.itland.ru/beta/form.zip
Возможно, будет и ВК для Предприятия.
WWWolfy
243 - 02.09.2004 - 11:11
2(241) как реализовал перезагрузку отчёта? У меня это делается формулой в кнопке:
ОткрытьФорму( "Отчет"+Симв(35), , РасположениеФайла() ); Форма.Закрыть()
artbear
244 - 02.09.2004 - 11:33
(243) В принципе так же, только этот код у меня сидит в метода класса, там есть дополнительные проверки на то, что это именно внешний отчет (после отладки я отчет вставляю в конфигурацию), плюс еще кое-какая доп.обработка
artbear
245 - 02.09.2004 - 11:45
(241+) Записал новую версию без вывода отладочных сообщений
Лежит там же на итланде http://itland.ru/forum/index.php?showtopic=4348
sherus
246 - 02.09.2004 - 12:28
2(orefkov) Это наверное последняя попытка найти понимание :(
В ИДА есть такой кусок WinGraph - он отрисовы Граф процедур. Очень удобная штука когда разбираешься с большими и сложными программами.
Можно ли такое реализовать в openkonf? WinGraph - в исходниках лежит в свободном доступе на сайте той же ИДЫ.
Я пытался с тобой связаться по Аське, но она у тебя молчит.
WWWolfy
247 - 02.09.2004 - 12:31
2(246) так это, извини меня, придётся анализировать ВСЕ модули. Этож свихнуться. И как ты потом этот Граф читать будешь? И зачем такое счассье?
RSergio
248 - 02.09.2004 - 12:36
Стоит последний ОпенКонф, стоит Телепат - все отлично работает.
Но вот не работают скрипты - ни тот что с опенконфом шел, ни отсюда ...
Сижу, пускаю слюньки на скрипты, а они не идут :(((
При запуске скрипта пишет
Runtime error!
...
abnormal program termination
Инструкция по адресу ... обратилась к памяти по адресу .... память не может быть "writen" ... :(
sherus
249 - 02.09.2004 - 12:38
2(246) Да - это надо читать все модули :(
Читать - дело в том что там как раз с помощью WinGraph строится графическое представление графа где узлами служат процедуры.
Зачем нужно - ну когда покапаешься с большими модулями и весьма запутанными - например как в Расчете у 1С в типовой. Станет сразу понятно что такая бы весч не помешала.
Так же не помешает, когда разбираешься с чужим кодом или со своей самопиской но которая пишется уже не первый месяц.
WWWolfy
250 - 02.09.2004 - 12:45
2(249) ну и представь себе размер графа сформированного по ВСЕМ модулям ЗиКа!
sherus
251 - 02.09.2004 - 12:49
2(250) Да - большой.
Только ты видел как это работает в ИДА?
Дело в том что интересует не все вообще, а в том числе и посторение графа для локального модуля, построение графа для процедуры в которой находишься. Во всяком случае в ИДЕ так работает и это правда удобно.
Если честно не видел чтобы в той же самой ИДЕ строили граф для всей дизасемблированной программы. Обычно стоят на процедуре и строят для нее граф. Откуда вызывается и что вызывает. Получается удобно все блазит в небольшой графический прямоугольник.
orefkov
252 - 02.09.2004 - 12:53
(248)
Сравни файлы config.dll в bin и в дистрибе телепата.
(246)
Все бы хорошо, кроме того, что у меня аськи нет.
Не пользуюсь.
Со временем конечно планирую нормальный code browser
сделать. в тч и с графикой.
А что тебе мешает начать потихоньку делать
такое самостоятельно?
AnMoOr
253 - 02.09.2004 - 12:54
Кто такой orefkov ???
AnMoOr
254 - 02.09.2004 - 13:22
The End !!!
RSergio
255 - 02.09.2004 - 13:40
Так по поводу 248 кто ответит?

Rambler's Top100 1C:TOP-100

© 1998-2004 Fedor Ezeev.

Last updated: 2005-12-06