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


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


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С

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