Вход | Регистрация


Форумы на Кубань.Ру


1С:Предприятие ::

Метки:

Как сделать макрос в 1с?

Ø
Я
   DES
30.11.04 - 16:08
Например, бухи забили в справочник в реквизит наименование спецкод+наименование
"010101 Болт"
"010102 Гайк"
потому что не было реквизита "Спецкод" и они, умные такие, решили этот вопрос самостоятельно.
Создал реквизит "спецкод"
Открыл этот справочник
Есть два поля
"010102 Гайк" и ""
Как сделать макрос на Windos script чтобы он из реквизита вырезал первое слово и вбивал его во второй реквизит?
Я понимаю, что можно обработкой.
Просто хочется узнать этот и путь решения... ;-)
 
 
   glage
1 - 30.11.04 - 16:15
т.е. как? скрипт на WSH который бы работал из под OS и изменял реквизиты справочника?
Тогда только напрямую лезть в таблицы придется, (если WSH умеет работать с Dbf)
   ДенисЧ
2 - 30.11.04 - 16:15
А зачем Windows Script? У тебя есть 1с-script :-)
Через Найти() ищи пробел, отрезай по нему первую часть и копируй куда надо...
   DES
3 - 30.11.04 - 16:47
(1) Именно через WSH!
Он же может эмулировать нажатие клавиш и копировать в Буфер обмена и прочая лабуда ?
(2) Потому, что через 1С муторно.
   Bot
4 - 30.11.04 - 16:48
(3) - это займет у тебя 5 мин в 1С.
   DES
5 - 30.11.04 - 16:50
Хачу WSH !!!
   Джинн
6 - 30.11.04 - 16:51
То 3. У тебя температура. Или ты извращенец. В любом случае срочно к врачу!
Написать такую обработку на 1С - потрать несколько минут.
   DES
7 - 30.11.04 - 16:57
(6)
Ну не нужна мне 1С, я желаю научиться делать такое в WSH , а не в 1С.
Мало ли чего.
Зато это потом можно будет приспособить и Word и в Excel и Notepad.
Причем там 1с?
   Uho
8 - 30.11.04 - 17:02
(7) "Причем там 1с?"
А этот форум "Территория WSH", наверное, называется...
   DES
9 - 30.11.04 - 17:15
(8) А ветка про телепат чего тут потерялась?
   Муму после всплытия
10 - 30.11.04 - 17:28
(9)
а какие проблемы то?? открываете учебник по VB.................. и вперед................. или вы "желаете" что б за вас написали??
 
  Рекламное место пустует
   snif
11 - 30.11.04 - 17:34
"Он же может эмулировать нажатие клавиш и копировать в Буфер обмена и прочая лабуда ?"
+ кажется, чтобы это реализовать в оперативке должна постоянно висеть какая-то программулина, отслеживающая ВСЕ действия пользователя и обладающая элементами искуственного интеллекта, позволяющими определить контекст выполняемого действия... Я уверен, что если за большие деньги нанять десяток-другой японских специалистов по кибернетике, то через пару лет вам предложат бетта-версию этого чуда...
   SlonSpb
12 - 30.11.04 - 17:40
Нифига себе... а я ещё долго не заглядывал в эту ветку, думал, неинтересная...
вообще, такая постановка задачи слишком проста. недостаточно изврата. стоит сразу заняться посторйкой робота, который будет сам сидеть вместо юзера и нажимать на нужные кнопки, более того, он сам определит своим AI, что нужно именно вырезать спецкод.
В перспективе есть задача построить ЭВМ, которую потом снабдить программой для автоматизированного проектирования этого робота. В общем, землянам будет чем заняться. Вместо того, чтоб набросать прогу на встроенном языке в 10 строк.
   vitfil
13 - 30.11.04 - 17:41
2(0). Вы уж определитесь, что вам нужно. Если судить по вашему вопросу в теме "Как сделать макрос в 1с?", то ответ - никак (в общем случае, т.е. 1С не поддерживает скриптов). Реализовать же задачу описанную в вашем постинге можно за 3 минуты на встроенном языке 1С. Если же вас все же интересует, цитирую: "Как сделать макрос на Windos script чтобы он из реквизита вырезал первое слово и вбивал его во второй реквизит?", то отвечу, как...
1. Открыть любой текстовый редактор и написать в нем скрипт.
2. Привинтить данный скрипт, например, при помощи собственной ВК к 1С.
   DES
14 - 30.11.04 - 17:55
(13)
А разве данный скрипт не можно повесить на hotkey?
   Zebestov
15 - 30.11.04 - 17:57
 Йа плякаль весь...
   vs1
16 - 30.11.04 - 18:06
to 6. Знаешь вворде и экселе есть такая вещь - макрос, вот через нее это можно быстро для ворда реализовать, а в 1С реализуй средствами 1С, зачем тебе некий абстрактный универсальный скрипт.
Можно утрируя поставить задачу так - нафик мне 1С - как написать скрипт который бы вел бухгалтерский учет.
   Без тапок
17 - 30.11.04 - 18:07
2(14) проще самому на хоткее повеситься
   a13x
18 - 30.11.04 - 18:11
2(ALL) да хватит вам его лечить и отговаривать, все равно сделает и на проклабе еще опубликует :-)))
2(DES) если ты про КЛАВИАТУРНЫЕ и если ты согласен записывать ВРУЧНУЮ, то
SendKeys тебе должно в некоторой степени помочь - это метод объекта WshShell
как сочинить сам скрипт - rtfm (ветки посвященные телепату тебе как раз и помогут, ключевое слово я назвал)
а повесить на написанный скрипт шорткат в 1С можно написав обработку сей скрипт вызывающую...
з.ы.
все равно полный маразм
   a13x
19 - 30.11.04 - 18:14
(+18) читать "...КЛАВИАТУРНЫЕ макросы..."
   mikeA
20 - 30.11.04 - 18:32
еще есть такая вещь прикольная, называется AutoIt. эмулирует весь интерфейс винды, прикинь. даже движения мыши. со своим макроязыком.
   Без тапок
21 - 30.11.04 - 18:38
А еще есть такая прикольная штука, как win 3.1, или чуть более ранняя, так там был рекодер всех действий пользователя, потом Билл почему-то передумал
   DES
22 - 01.12.04 - 09:41
Ну так хлопцы!
Помогите начать. Гусары - молчать!
Как на хоткей в 1С повесить выполнение файла DES.WSH (vbs) ?
Как выделить поле под курсором ?
А дальше я сам въеду ...
   amalgama
23 - 01.12.04 - 10:35
(0) Используй OLE и все получится
   Frog
24 - 01.12.04 - 10:48
Да Не перевелись еще в России ЧУДАКИ!!!
   amalgama
25 - 01.12.04 - 10:52
С 1С это, конечно же, извращение :-)
А вот была у меня как-то раз задача конвертнуть несколько сот тысяч (12 Гб)файлов .txt в .doc.
На WSH в десятке строк написал. Ну и плюс работа компа течение нескольких дней
   koord
26 - 01.12.04 - 10:58
Человек задал вполне вменямый вопрос. Корректно поставил задачу. Из него ничего не пришлось вытаскивать тисками.
Поведение же остальных показывает, почему 1С-ков называют тупыми.
   dma
28 - 01.12.04 - 11:04
(26) Не слишком ли категорично по-поводу тупости? ИМХО тупость это тратить свое время на бесполезности.
   koord
29 - 01.12.04 - 11:05
(28)А он что, просил учить его жить? По-моему вопрос был совсем про другое.
   Frog
30 - 01.12.04 - 11:06
(26) Просто форум надо выбирать по категории, а не лепить сюда типа хочу и все. Форум называется террия 1С, и как говорил (8) не Территория WSH
   dma
31 - 01.12.04 - 11:12
(29) Да не, просто парню уже сколько говОрено, что на 1С это ПРОЩЕ и БЫСТРЕЕ, а он уперся на своем. Ради бога - каждый сам себе хозяин, но, согласись, это весьма непродуктивный подход к задаче. А если ему надо будет перекодировать подчиненный справочник? Представляешь решение через SendKeys? Хотя это уже будет в какой-то степени произведением некоего искусства.
з.ы. гы... а если задача будет загрузить по ОЛЕ?
   DES
32 - 01.12.04 - 11:13
(26) THX
(25) можешь мне помочь?
(26) разве кто над Вами насильничает ?
(30) Ну правильно говорят же, не учите меня жить, лучше помогите скриптом...
   DES
34 - 01.12.04 - 11:20
(31) Нет, ну просто поразительно!
Я же в ТЗ написал все.
Ну сделаю я это в 1С в сотый раз и что, я пойму как делать это на WSH?
   IAm
35 - 01.12.04 - 11:21
26 Agree
   IAm
36 - 01.12.04 - 11:24
Хотя не эгри, перечитал ветку, одинэсники в данном случае правы, я нифига не пойму что хочет DES. Как он собирается обращаться к окнам, как он собирается их искать?
   dma
37 - 01.12.04 - 11:27
(34) Так бы сразу и сказал - "Изучаю WSH". ИМХО тогда тебе действительно на форум WSH.
   DES
38 - 01.12.04 - 11:36
(35) Respect
   DES
40 - 01.12.04 - 11:40
(39)Спасибо конечно.
Но не переварю я 300 кило.
Может кто это уже проделал и поделится выжимками ?
   werd
42 - 01.12.04 - 11:50
100$
   DES
43 - 01.12.04 - 11:53
http://skleroz.pochta.ru/samples.zip битая
(42)? Даже и не смешно.
   DES
44 - 01.12.04 - 12:00
делаю файл DES.WSH
Set oWshShell = WScript.CreateObject ("WScript.Shell")
oWshShell.SendKeys "Hello, world"
запускаю, пишет "Сценарий не указан".
Что за черт ?
   IAm
45 - 01.12.04 - 12:04
44 Read RTFM
   gero
46 - 01.12.04 - 12:09
(0)
может на 1с стоит написать, в ветке более 40 (сорока!) постов, строк в обработке меньше :)
тут вариантов целый список будет - соревнование устроим как лучше этот "Спецкод" из наименования вырезать с использование списков или таблицы значений, вот посмотри например http://www.sinor.ru/~my1c/knowhow/delstrtz.html<br>а то что ты просишь... ну не по адресу
   dma
47 - 01.12.04 - 12:12
Судя по оптимистичному началу ("Hello, world"), лучше делать ставки за сколько времени появится нужный результат. DES, без обид - это чисто спортивный интерес.
   werd
48 - 01.12.04 - 12:15
42 в силе до 16 по МСК.
   DES
49 - 01.12.04 - 12:23
(45) Да знаю я. У меня 20 лет стажа прогера. А если есть варианты более быстрого получения ответа на интерес. меня вопрос кроме RTFM ?
Как например: задать четкий вопрос и получить точный ответ.
(46)В ТЗ написано начем нужно писать. И дело не в вырезании Спецкода. Вопрос в скелете. Покажите на пальцах, а мясо наростим сами.
(47) Какие обиды. Сам тут отвечал, кажись как из 1с в excel добавить лист и ничего не умер от жлобства.
(48) 1000$ в силе до Второго Пришествия...
 
  Рекламное место пустует
   IAm
50 - 01.12.04 - 12:51
49 Описание по методу SendKeys составляет порядка 100 строк в документации по WSH, в каком виде вы бы хотели их увидеть?
oWshShell.SendKeys "Hello, world" говорит о том, что вы вообще не понимаете что это такое.
   DES
51 - 01.12.04 - 12:54
`
   DES
52 - 01.12.04 - 12:58
(50)
Да, Вы правы.
Но имея затребованный примерчик перед глазами я бы с Вами уже мог и поспорить.
"Агенты среди нас" читал, давно.
   Gloom
53 - 01.12.04 - 13:00
(50)А что, собственно, криминального в oWshShell.SendKeys "Hello, world"?
   IAm
54 - 01.12.04 - 13:02
53 Если ничего, то 45 и 50 беру назад
   werd
55 - 01.12.04 - 13:05
это все звучит в стиле " напишите мне...., а то я не умею, а книжки читать лень"....
   DES
56 - 01.12.04 - 13:06
Нет, я узнаю свою страну!
На просьбу дать таблетку аспирина, предложат почитать мед. энциклопедию.
   DES
57 - 01.12.04 - 13:09
(55) ну, не лень!
Нет книжек, нет времени, нет еще чего ....
Кому жалко делиться знанием, того никто и не принуждает!!!
   Sure2
58 - 01.12.04 - 13:21
(57) Если у тебя нет времени, то нечего лезть на конференцию с глупыми вопросами.
Тем более, если ответы на них можно получть самому. RTFM.
(44) Файла DES.js (найди десять отличий):
oWshShell = WScript.CreateObject ("WScript.Shell");
oWshShell.SendKeys( "Hello, world");
Запускается
CScript des.js//H:WScript
Это то, что лежит на поверхности. Далее можно копать - установить свежую версию WS... Можно было получить результат за время между репликами.
А то, как невежливо общается в конференции DES напоминает мне поберушек, которые не просто сидят у дороги, а ещё и дёргают за рукав прохожих
   Gloom
59 - 01.12.04 - 13:26
(58)Да не - на поверхности лежит тот факт, что у него расширение файла неправильное...
   DES
60 - 01.12.04 - 13:39
(58) за мораль спасибо.
Сорри, если потревожил.
CScript des.js //H:WScript - это получилось. Ура! Спасибо.
Большое спасибо.
Дальше будем думать, импульс получен.
   Sure2
61 - 01.12.04 - 14:05
(60) "Иногда пинок под зад больше помогает продвижению по службе, чем дружественное похлопываение по плечу"
Извини, сорвался...
(59) Расширение - это первый факт, лежащий на поверхности. Далее следует наличие скобок и точек-с-запятой. А потом (не в каждом случае проявляется, но полезно) //H:WScript
Это то, что я нарыл из любопытства за полчасика в интернете.
В скриптах я такой же чайник, что и DES.
И вообще, как справедливо заметил в (21)Без тапок, recorder от Windows 3.1 (3.11) - великая вещь. 50k и тонна удовольствия! Я её и сейчас использую. Записывать макросы легко. И работает даже в 2000.
Ещё можно порекомендовать AllChars. Там можно много горячих клавиш сделать, а не 4 десятка, как в recorder. В 2000 не проходят русские буквы :-(
   DES
62 - 01.12.04 - 14:15
(61) Да, не извиняйся. Меня это уже не задевает. За свои 20 лет стажа я понял, что за оставшиеся 20 я все равно все не выучу.
Мне не нужны левые примочки. мне нужен механизм, позволяющий на стандарной XP делать мелкую автоматизацию рутинных процессов.
Эту задачу мне на моем веку приходилось делать и на первом FPD и на Oracle 9, про 1С не забыл.
На скриптах не писал еще, ну не довелось.
Все бросить и начать системно изучать не могу.
Был бы благодарен за подобную помощь, как (57), без нравоучений.
   Gloom
63 - 01.12.04 - 14:31
(61)"Далее следует наличие скобок и точек-с-запятой" - В варианте DES используется VBScript(расширение должно быть .vbs), стало быть скобки и точки-с-запятой не нужны.
"А потом (не в каждом случае проявляется, но полезно) //H:WScript" - этот параметр и так используется по умолчанию...
   Данила хМастер
64 - 01.12.04 - 14:41
Привет! Мож я конечно тоже чудак... :}
Процедура ПериодическиеДействия()
  //++ Сервис
  Если НазваниеНабораПрав()="Монопольно" Тогда
    Если СледующийРазЗакрыть=1 Тогда
      ЗавершитьРаботуСистемы(0);
      Возврат;
    Иначе// СледРазЗакр=0 или не определена
      // Восстановим последовательность
      wshShell=СоздатьОбъект("WScript.Shell");
      //wshShell.sendKeys("^+(z)");		// На всякий случай закрываем окно сообщений
      //wshShell.sendKeys("^+(я)");
      wshShell.SendKeys("%");	// Открываем форму сис. восст. посл.
      wshShell.SendKeys("р");
      wshShell.SendKeys("{UP 3}{ENTER}");
      wshShell.SendKeys("{TAB 11}{RIGHT}{TAB}");
      wshShell.SendKeys(" ");
      wshShell.SendKeys("{TAB 3}{ENTER}");
      СледующийРазЗакрыть=1;
      Возврат;
    КонецЕсли;
  КонецЕсли;
КонецПроцедуры
   DES
65 - 01.12.04 - 14:52
Ух ты!
   DES
66 - 01.12.04 - 14:56
И что это будет?
   Данила хМастер
67 - 01.12.04 - 14:59
(65)h++p://small.h12.ru/
файл Automation.zip
Не грусти, нас мало, но мы в тельняшках :~}
   Sure2
68 - 01.12.04 - 15:25
(63) За vbs спасибо
А //H:WScript, видимо, полезно только мне. Может быть, на своей машине я сбил какие-то настройки...
   DES
69 - 01.12.04 - 15:43
(68) вот видите, что "Если у тебя нет времени, то нечего лезть на конференцию с глупыми вопросами." было сказано опрометчиво ?




Список тем форума

Форум Территория 1С

Рекламное место пустует  
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует