|
OFF: Можно ли в 1С писать изменяющиеся программы | ☑ | ||
---|---|---|---|---|
0
heyfec
14.01.15
✎
22:58
|
Я в Visual Basic написал программу которая изменяется в процессе выполнения т.е пока она выполняется изменяется сам текст программы самой программой я реализовал на этой основе замедлитель процессов. Можно ли такое написать в 1С?
|
|||
1
Волшебник
модератор
14.01.15
✎
22:59
|
Можно
|
|||
2
Dmitry1c
14.01.15
✎
23:00
|
Нельзя
|
|||
3
Hans
14.01.15
✎
23:03
|
Можно.
|
|||
4
H A D G E H O G s
14.01.15
✎
23:03
|
(0) Как ты это делал?
|
|||
5
heyfec
14.01.15
✎
23:04
|
Я просто в программе описал следующее действие открыть среду разработки и добавить текст в модуль из шаблона описаного в тексте программы и заключил это действо в цикл
|
|||
6
Dmitry1c
14.01.15
✎
23:05
|
(4) наверное речь шла не о Visual Basic, а о Visual Basic .NET
|
|||
7
heyfec
14.01.15
✎
23:07
|
Оператор простой типа вставить символ в текст а вот сами символы в результате выписывали операторы бейсика. Нет не NET протой VBA for Application от офисного пакета
|
|||
8
heyfec
14.01.15
✎
23:09
|
Среду разработки открывал просто используя сочетания клавиш офиса по-моему F7 если не ошибаюсь. Так конечно изврат полный, но прикольно. Не стандартная программа получилась
|
|||
9
heyfec
14.01.15
✎
23:14
|
Данные после изменения естественно сохранялись и внешний обновленный модуль вновь загружался в среду разработки и выполнялся по F5 опять же с использованием оператора KEYDOUN Кажется
|
|||
10
Lama12
14.01.15
✎
23:16
|
(0) Можно.
|
|||
11
heyfec
14.01.15
✎
23:16
|
Есть в 1С оператор имитирующий нажатие сочетания клавиш? Если есть то можно и в 1С наверняка такое сотворить.
|
|||
12
heyfec
14.01.15
✎
23:21
|
Нужны оператор Имитирующий нажатие сочетаний клавиш раз.
Нужен оператор вставки текста из/в буфер обмена Нужен сочетание клавиш открывающее обработку и сохраняющее внешнюю обработку. Кажется все что нужно для этого. |
|||
13
H A D G E H O G s
14.01.15
✎
23:22
|
(5) Жесть.
Я то думал - подмена области кода. |
|||
14
heyfec
14.01.15
✎
23:23
|
Можно и подмена области кода смотря в какое место это вставлять, просто тогда еще нужно программно выделять заменяемый текст.
|
|||
15
acanta
14.01.15
✎
23:26
|
ИИ - прямой путь в матрицу.. В принципе программы уже сегодня умеют менять программистов.
|
|||
16
Asmody
14.01.15
✎
23:29
|
"я реализовал на этой основе замедлитель процессов" — ЗАЧЕМ?!
|
|||
17
spectre1978
14.01.15
✎
23:30
|
от полиморфных вирей на асме в девяностых - к копипасту фрагмента текста в модуль на бейсике...
... рукалицо |
|||
18
Волшебник
модератор
14.01.15
✎
23:30
|
(16) Наверное Pac-Man слишком быстро поедал точки.
|
|||
19
H A D G E H O G s
14.01.15
✎
23:34
|
(17) Ага:-)
|
|||
20
Злопчинский
14.01.15
✎
23:34
|
Фигня какя
Сто тыщ лет назад в дипломе у мну была написана среда разработки, транслятор с языка описания окон и исполнение оттранслированного кода путем его вставки в контекст среды разработки Га ассемблере все это делалось на раз Где ты мой любимый ассемблер А не эта страшная желтоядовитое одноцэ |
|||
21
Злопчинский
14.01.15
✎
23:35
|
(18) типа того
На писюках поога была Так по моему и называлась tormoz.exe |
|||
22
Адинэснег
14.01.15
✎
23:38
|
Выполнить(Константы.ИсходныйТекст.Получить())
|
|||
23
Адинэснег
14.01.15
✎
23:40
|
зы. Замедлитель процессов в 1С идёт из коробки
|
|||
24
GROOVY
15.01.15
✎
00:25
|
Не въехал - нафига это надо?
|
|||
25
heyfec
15.01.15
✎
00:28
|
(24) Объясняю
Есть ошибка я её исправлять не хочу пусть её исправит программа сама. Пример; Попытка Ф=100 / 0; Исключение //Заменить 0 на 1 в операторе ошибочном операторе. |
|||
26
ИсчадиеADO
15.01.15
✎
00:28
|
(11) посмотри автоматизированное тестирование. там когда действия в хмл переведешь, текст кинь в обработину из итс, она в код преобразует. там есть что-то такое
|
|||
27
ИсчадиеADO
15.01.15
✎
00:31
|
в буфер копипаст тож делается. погугли. там неск. способов даже. просто пример на работе
|
|||
28
heyfec
15.01.15
✎
00:34
|
В принципе можно наверняка написать программу которая будет автоматом исправлять скажем очевидные ошибки разработчика.
|
|||
29
Asmody
15.01.15
✎
00:37
|
(28) а = 1 + "2"; — это "очевидная" ошибка?
|
|||
30
tridog
15.01.15
✎
00:40
|
(28) Выбор профессии к таковым относится?
|
|||
31
heyfec
15.01.15
✎
00:43
|
(30) А самообучающиеся программы это не то?
|
|||
32
heyfec
15.01.15
✎
00:44
|
Как действует человек, он на ошибках учится, а программа на ошибках не учится, а по идее должна.
|
|||
33
Asmody
15.01.15
✎
00:47
|
(32) У человека есть замысел и ассоциативное мышление, чего компьютеры напрочь лишены.
|
|||
34
Волшебник
модератор
15.01.15
✎
00:51
|
(33) Философ, чо...
|
|||
35
orefkov
15.01.15
✎
01:15
|
Что накинулись на человека?
Может, ему простых шаблонов в конфигураторе хватит, просто он про них не знает? Ну или снегопата там... Или autoit. |
|||
36
Волшебник
модератор
15.01.15
✎
01:17
|
(35) Ну ок, ок.
(0) Ставь Снегопат, там есть скрипты. |
|||
37
Ник080808
15.01.15
✎
01:26
|
(35) а снегопата под 8.3.5 нет?
|
|||
38
Зеленый Кот
15.01.15
✎
02:29
|
а еще объектов не хватает и наследования!
надо добавить! тогда уж точно никто в конфах не разберется! |
|||
39
Web00001
15.01.15
✎
03:24
|
(0) используй силы команды "Выполнить" о юный подаван.
|
|||
40
VladZ
15.01.15
✎
05:28
|
(25) Пример неудачный. Как разработчик ты изначально должен озадачиться проверкой данных, а не менять код после.
Второй момент: в случае деления на ноль нужно разбираться, откуда этот ноль взялся. Возможно, там бесконечно малое число, которое в результате преобразований округлилось до нуля. Т.е. там должно быть 0.00001. И таком случае: 100 / 0.00001 = 10000000. А в случае замены 0.00001 на 1 результат совершенно другой. Получается, что мы уходим от критерия "правильноработающей программы" в сторону "работающей программы". Причем последняя не дает правильный результат. Ну и кому нужна программа, которая не гарантирует правильность результата? |
|||
41
VladZ
15.01.15
✎
05:35
|
Следующий момент. Есть такое понятие как читабельность программы. В случае, когда часть кода нам откровенно "гадит", а другая часть исправляет эти "гадства" (в конечном итоге, подобных частей будет много как первого свойства, так и второго) мы придем к такому хаосу, который будет практически не читабелен.
Любой разработчик должен помнить: "В изолированной системе энтропия не уменьшается". Т.е. первоочередная задача разработчика - изначально проектировать так, чтобы понизить уровень хаоса. |
|||
42
kosts
15.01.15
✎
06:17
|
(0) Используй 7.7, там это реализовано
|
|||
43
DrZombi
гуру
15.01.15
✎
06:30
|
(42) Тогда уж, пускай опять в екселе пишет дальше :)
|
|||
44
necro
15.01.15
✎
06:38
|
Windows Script Host умеет отсылать клавиши, только раскладку не умеет переключать, подлец
|
|||
45
ifso
15.01.15
✎
07:05
|
(28) невозможно написать программу которая будет автоматом исправлять скажем очевидные ошибки разработчика т.к. очевидно что такая программа будет содержать ошибки разработчика этой программы
|
|||
46
ИС-2
naïve
15.01.15
✎
07:12
|
(4) Элементарно Ватсон - пишем кусок кода в текст, а потом выполняем командой Выполнить()
|
|||
47
kosts
15.01.15
✎
07:23
|
(45) Ну написать, то можно, только на долго ли ее хватит...
|
|||
48
Бертыш
15.01.15
✎
07:26
|
(5) Извращенец ты. Всё же проще в VBA
Я в своё время в 2002 ом кажется году писал код на 7.7 генерирующий и исполняющий макросы в Worde http://my1c-archive.narod.ru/knowhow/macrowrd.html Под 7.7 создавал малый набор разработчика где код генерировался обработкой по неким шаблоном. Коллекцию шаблонов можно было менять и дополнять. Хранилось ввсё великолепие шаблонов в табличном документе который при сохранении шаблонов формировался и засовывался средствами внешних компонент в compound файл самой обработки при помощи внешней компоненты. В принципе весь этот пласт программистской культуры называется метапрограммирование. https://ru.wikipedia.org/wiki/%CC%E5%F2%E0%EF%F0%EE%E3%F0%E0%EC%EC%E8%F0%EE%E2%E0%ED%E8%E5 Для 1C версий начиная с 8.0 для этой цели юзаются операторы выполнить и вычислить. Так же к метапрограммированию в 1С 8.0 версии и старше рискнгу отнести генерацию и модифицирование тела запросов. При этом самый ленивый вариант запроса это конструкции вида "Выбрать * ИЗ" |
|||
49
ifso
15.01.15
✎
07:59
|
(47) всевозможные переводчики и/или проверки орфографии наглядно показывают "возможно" и "на долго ли"
|
|||
50
kosts
15.01.15
✎
08:11
|
(49) не пойму, что имеешь ввиду...
|
|||
51
1Сергей
15.01.15
✎
08:18
|
Про снегопат уже сказали же?
|
|||
52
dimm7310
15.01.15
✎
08:57
|
(0) держать тексты модулей во внешних текстовых файлах
|
|||
53
ifso
15.01.15
✎
09:00
|
(50) наличие ошибок в исправляющей программе снижает и вероятность ее написания, и применимость (которая сама по себе ограничена только некими предусмотренными частностями)
как-то так |
|||
54
orefkov
15.01.15
✎
09:59
|
||||
55
vde69
15.01.15
✎
10:01
|
так, я всех вирусописателей для 1с записываю :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |