Имя: Пароль:
1C
 
Из языка 1С в метаязык (попытка автоматизировать труд программиста)
Ø
0 vladfind
 
17.05.05
19:51
   Меня постоянно не отпускала мысль:" Можно ли создать такую утилиту - утилита для всех утили! - чтобы можно было на порядок увеличить производительность программиста?"
 
 Себе поставил задачу - перевести на язык метаописания конкретный бизнес-процесс из информационной системы 1С. Далее перевести все программыные модули и метаописание конфигурации в промежуточное текстовое описание. Т.е. построить базу знаний (экспертную систему), которая бы накапливала опыт и позволяла генерировать программный код на основании прошлого опыта.
Есть некоторые предварительные размышления и промежуточные результаты.
     Написал программный модуль "Экспорт схемы и данных справочников". Тестирую. Наблюдаю поведение программы. Далее - переписываю и оптимизирую код программы. Совершенству и красоте нет предела!
 Пытаюсь предложить структуру данных хранения описаний справочников и разложить задачу в соответствии с методикой создания баз знаний. Предметная область - опыт и знания программиста.
К делу.
1. Выгрузка описание справочника
2. Выгрузка описание реквизитов справочника (или полей)
- фрагмент генерации программного кода для выгрузки схемы
справочника
3. Выгрузка данных справочников.
- фрагмент генерации программного кода для выгрузки данных
справочника.
Фрагменты обработки:
А. ПРОВЕРИТЬ ГОТОВНОСТЬ ВХОДНЫХ ОБЪЕКТОВ
Б. ПРОЧИТАТЬ ВСЕ СВОЙСТВА СПРАВОЧНИКОВ в таблицу
В. ПРОЧИТАТЬ ВСЕ СВОЙСТВА РЕКВИЗИТОВ в таблицу
Г. СОЗДАТЬ КОД ПРОГРАММЫ ВЫГРУЗКИ СХЕМЫ
Д. СОЗДАТЬ КОД ПРОГРАММЫ ВЫГРУЗКИ ДАННЫХ
Возникла главная трудность. Какую универсальную структуру
предложить для хранения схемы справочников и данных?
Другая трудность. Как хранить фрагменты кода программы на метаязыке ?
Создал в конфигураторе разнообразные типы данных. Создал справочник с именем "ЭтоСправочник". Стартовал внешнюю обрабутку, которая через 0,6 сек. сгенирировала следующие файлы:
1. Архивный файл 'Referenc.zip' с текстовыми файлами.
а) 'isnote.txt' - описание информационной системы
б) 'spshema.txt' - описание справочников на метаязыке
в) 'dbases.txt' - словарь описания баз данных
г) 'dd-NNNN.txt' - элементы справочника NNNN
2. Код программы на языке 1С 'ExportProg.txt'
Более детально можно скачать здесь:
http://robot-ivan.narod.ru/Referenc.zip<br>http://robot-ivan.narod.ru/ExportProg.txt<br>Уважаемые пользователи 1С! А это нужно кому?
 
2 Reddy
 
17.05.05
21:55
Вот там кипит весьма похожая деятельность.
http://www.uml.org
3 MaxS
 
18.05.05
06:45
>которая бы накапливала опыт и позволяла генерировать программный код на основании прошлого опыта.
А если программистов, например, работающих над проектом было несколько и каждый разной квалификации...
Зачем тогда, например, супер программисту, на основе чъего-то опыта подсовывать неоптимальный код, если у него есть своя голова и он сам может вспомнить где он решал подобную задачу и взять свой пример оттуда. ;)
Программист всегда исправляет последнюю ошибку.