Имя: Пароль:
LIFE
 
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
(37)
Пока нет, но делаю.
https://snegopat.ru/forum/viewtopic.php?f=1&t=667
55 vde69
 
15.01.15
10:01
так, я всех вирусописателей для 1с записываю :)